From f80962b74b9f1e8cd16db040badb3c9c9f1c515a Mon Sep 17 00:00:00 2001 From: James Allen Date: Wed, 28 Mar 2018 17:11:41 +0100 Subject: [PATCH] Split references feature flag into mendeley and referencesSearch --- .../Project/ProjectEditorHandler.coffee | 7 +++ services/web/app/coffee/models/User.coffee | 60 ++++++++++--------- 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/services/web/app/coffee/Features/Project/ProjectEditorHandler.coffee b/services/web/app/coffee/Features/Project/ProjectEditorHandler.coffee index 258d99ca12..37f079f272 100644 --- a/services/web/app/coffee/Features/Project/ProjectEditorHandler.coffee +++ b/services/web/app/coffee/Features/Project/ProjectEditorHandler.coffee @@ -35,10 +35,17 @@ module.exports = ProjectEditorHandler = compileGroup:"standard" templates: false references: false + referencesSearch: false + mendeley: false trackChanges: false trackChangesVisible: ProjectEditorHandler.trackChangesAvailable }) + # Originally these two feature flags were both signalled by the now-deprecated `references` flag. + # For older users, the presence of the `references` feature flag should still turn on these features. + result.features.referencesSearch = result.features.referencesSearch or result.features.references + result.features.mendeley = result.features.mendeley or result.features.references + return result buildOwnerAndMembersViews: (members) -> diff --git a/services/web/app/coffee/models/User.coffee b/services/web/app/coffee/models/User.coffee index 2a48105e9b..d3916ab4b0 100644 --- a/services/web/app/coffee/models/User.coffee +++ b/services/web/app/coffee/models/User.coffee @@ -20,40 +20,42 @@ UserSchema = new Schema loginCount : {type : Number, default: 0} holdingAccount : {type : Boolean, default: false} 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 : { - 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]} refered_users: [ type:ObjectId, ref:'User' ] refered_user_count: { type:Number, default: 0 } 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: { mendeley: Boolean # coerce the refProviders values to Booleans zotero: Boolean