|
@@ -4,6 +4,10 @@ module.exports = function(app) {
|
|
|
, ObjectId = mongoose.Schema.Types.ObjectId
|
|
, ObjectId = mongoose.Schema.Types.ObjectId
|
|
|
, configSchema
|
|
, configSchema
|
|
|
, Config
|
|
, Config
|
|
|
|
|
+
|
|
|
|
|
+ , SECURITY_REGISTRATION_MODE_OPEN = 'Open'
|
|
|
|
|
+ , SECURITY_REGISTRATION_MODE_RESTRICTED = 'Resricted'
|
|
|
|
|
+ , SECURITY_REGISTRATION_MODE_CLOSED = 'Closed'
|
|
|
;
|
|
;
|
|
|
|
|
|
|
|
configSchema = new mongoose.Schema({
|
|
configSchema = new mongoose.Schema({
|
|
@@ -36,6 +40,16 @@ module.exports = function(app) {
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ configSchema.statics.getRegistrationModeLabels = function()
|
|
|
|
|
+ {
|
|
|
|
|
+ var labels = {};
|
|
|
|
|
+ labels[SECURITY_REGISTRATION_MODE_OPEN] = '公開 (だれでも登録可能)';
|
|
|
|
|
+ labels[SECURITY_REGISTRATION_MODE_RESTRICTED] = '制限 (登録完了には管理者の承認が必要)';
|
|
|
|
|
+ labels[SECURITY_REGISTRATION_MODE_CLOSED] = '非公開 (登録には管理者による招待が必要)';
|
|
|
|
|
+
|
|
|
|
|
+ return labels;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
configSchema.statics.updateConfigCache = function(ns, config)
|
|
configSchema.statics.updateConfigCache = function(ns, config)
|
|
|
{
|
|
{
|
|
|
var originalConfig = app.set('config');
|
|
var originalConfig = app.set('config');
|
|
@@ -143,6 +157,10 @@ module.exports = function(app) {
|
|
|
|
|
|
|
|
|
|
|
|
|
Config = mongoose.model('Config', configSchema);
|
|
Config = mongoose.model('Config', configSchema);
|
|
|
|
|
+ Config.SECURITY_REGISTRATION_MODE_OPEN = SECURITY_REGISTRATION_MODE_OPEN;
|
|
|
|
|
+ Config.SECURITY_REGISTRATION_MODE_RESTRICTED = SECURITY_REGISTRATION_MODE_RESTRICTED;
|
|
|
|
|
+ Config.SECURITY_REGISTRATION_MODE_CLOSED = SECURITY_REGISTRATION_MODE_CLOSED;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
return Config;
|
|
return Config;
|
|
|
};
|
|
};
|