Jelajahi Sumber

Replace references feature flag with mendeley and referencesSearch

James Allen 8 tahun lalu
induk
melakukan
dc2d7a9c7e

+ 5 - 1
services/web/app/coffee/Features/Project/ProjectEditorHandler.coffee

@@ -34,11 +34,15 @@ module.exports = ProjectEditorHandler =
 			compileTimeout: 60
 			compileTimeout: 60
 			compileGroup:"standard"
 			compileGroup:"standard"
 			templates: false
 			templates: false
-			references: false
 			trackChanges: false
 			trackChanges: false
 			trackChangesVisible: ProjectEditorHandler.trackChangesAvailable
 			trackChangesVisible: ProjectEditorHandler.trackChangesAvailable
 		})
 		})
 
 
+		if !result.features.mendeley?
+			result.features.mendeley = !!result.features.references
+		if !result.features.referencesSearch?
+			result.features.referencesSearch = !!result.features.references
+
 		return result
 		return result
 
 
 	buildOwnerAndMembersViews: (members) ->
 	buildOwnerAndMembersViews: (members) ->

+ 31 - 29
services/web/app/coffee/models/User.coffee

@@ -20,40 +20,42 @@ UserSchema = new Schema
 	loginCount        : {type : Number, default: 0}
 	loginCount        : {type : Number, default: 0}
 	holdingAccount    : {type : Boolean, default: false}
 	holdingAccount    : {type : Boolean, default: false}
 	ace               : {
 	ace               : {
-							mode        :   {type : String, default: 'none'}
-							theme       :   {type : String, default: 'textmate'}
-							fontSize    :   {type : Number, default:'12'}
-							autoComplete:   {type : Boolean, default: true}
-							autoPairDelimiters: {type : Boolean, default: true}
-							spellCheckLanguage :   {type : String, default: "en"}
-							pdfViewer   :   {type : String, default: "pdfjs"}
-							syntaxValidation   :   {type : Boolean}
-						}
+		mode        :   {type : String, default: 'none'}
+		theme       :   {type : String, default: 'textmate'}
+		fontSize    :   {type : Number, default:'12'}
+		autoComplete:   {type : Boolean, default: true}
+		autoPairDelimiters: {type : Boolean, default: true}
+		spellCheckLanguage :   {type : String, default: "en"}
+		pdfViewer   :   {type : String, default: "pdfjs"}
+		syntaxValidation   :   {type : Boolean}
+	}
 	features		  : {
 	features		  : {
-							collaborators: { type:Number,  default: Settings.defaultFeatures.collaborators }
-							versioning:    { type:Boolean, default: Settings.defaultFeatures.versioning }
-							dropbox:       { type:Boolean, default: Settings.defaultFeatures.dropbox }
-							github:        { type:Boolean, default: Settings.defaultFeatures.github }
-							compileTimeout: { type:Number, default: Settings.defaultFeatures.compileTimeout }
-							compileGroup:  { type:String,  default: Settings.defaultFeatures.compileGroup }
-							templates:     { type:Boolean, default: Settings.defaultFeatures.templates }
-							references:    { type:Boolean, default: Settings.defaultFeatures.references }
-							trackChanges:  { type:Boolean, default: Settings.defaultFeatures.trackChanges }
-						}
+		collaborators:    { type:Number,  default: Settings.defaultFeatures.collaborators }
+		versioning:       { type:Boolean, default: Settings.defaultFeatures.versioning }
+		dropbox:          { type:Boolean, default: Settings.defaultFeatures.dropbox }
+		github:           { type:Boolean, default: Settings.defaultFeatures.github }
+		compileTimeout:   { type:Number, default: Settings.defaultFeatures.compileTimeout }
+		compileGroup:     { type:String,  default: Settings.defaultFeatures.compileGroup }
+		templates:        { type:Boolean, default: Settings.defaultFeatures.templates }
+		references:       { type:Boolean, default: Settings.defaultFeatures.references }
+		trackChanges:     { type:Boolean, default: Settings.defaultFeatures.trackChanges }
+		mendeley:         { type:Boolean, default: Settings.defaultFeatures.mendeley }
+		referencesSearch: { type:Boolean, default: Settings.defaultFeatures.referencesSearch }
+	}
 	referal_id : {type:String, default:() -> uuid.v4().split("-")[0]}
 	referal_id : {type:String, default:() -> uuid.v4().split("-")[0]}
 	refered_users: [ type:ObjectId, ref:'User' ]
 	refered_users: [ type:ObjectId, ref:'User' ]
 	refered_user_count: { type:Number, default: 0 }
 	refered_user_count: { type:Number, default: 0 }
 	subscription:
 	subscription:
-					recurlyToken : String
-					freeTrialExpiresAt: Date
-					freeTrialDowngraded: Boolean
-					freeTrialPlanCode: String
-					# This is poorly named. It does not directly correspond
-					# to whether the user has has a free trial, but rather
-					# whether they should be allowed one in the future.
-					# For example, a user signing up directly for a paid plan
-					# has this set to true, despite never having had a free trial
-					hadFreeTrial: {type: Boolean, default: false}
+		recurlyToken : String
+		freeTrialExpiresAt: Date
+		freeTrialDowngraded: Boolean
+		freeTrialPlanCode: String
+		# This is poorly named. It does not directly correspond
+		# to whether the user has has a free trial, but rather
+		# whether they should be allowed one in the future.
+		# For example, a user signing up directly for a paid plan
+		# has this set to true, despite never having had a free trial
+		hadFreeTrial: {type: Boolean, default: false}
 	refProviders: {
 	refProviders: {
 		mendeley: Boolean  # coerce the refProviders values to Booleans
 		mendeley: Boolean  # coerce the refProviders values to Booleans
 		zotero: Boolean
 		zotero: Boolean