|
@@ -157,7 +157,7 @@ module.exports = ProjectController =
|
|
|
hasSubscription: (cb)->
|
|
hasSubscription: (cb)->
|
|
|
LimitationsManager.userHasSubscriptionOrIsGroupMember currentUser, cb
|
|
LimitationsManager.userHasSubscriptionOrIsGroupMember currentUser, cb
|
|
|
user: (cb) ->
|
|
user: (cb) ->
|
|
|
- User.findById user_id, "featureSwitches overleaf awareOfV2", cb
|
|
|
|
|
|
|
+ User.findById user_id, "featureSwitches overleaf awareOfV2 features", cb
|
|
|
}, (err, results)->
|
|
}, (err, results)->
|
|
|
if err?
|
|
if err?
|
|
|
logger.err err:err, "error getting data for project list page"
|
|
logger.err err:err, "error getting data for project list page"
|
|
@@ -172,6 +172,7 @@ module.exports = ProjectController =
|
|
|
user = results.user
|
|
user = results.user
|
|
|
warnings = ProjectController._buildWarningsList results.v1Projects
|
|
warnings = ProjectController._buildWarningsList results.v1Projects
|
|
|
|
|
|
|
|
|
|
+
|
|
|
ProjectController._injectProjectOwners projects, (error, projects) ->
|
|
ProjectController._injectProjectOwners projects, (error, projects) ->
|
|
|
return next(error) if error?
|
|
return next(error) if error?
|
|
|
viewModel = {
|
|
viewModel = {
|
|
@@ -193,6 +194,14 @@ module.exports = ProjectController =
|
|
|
else
|
|
else
|
|
|
viewModel.showUserDetailsArea = false
|
|
viewModel.showUserDetailsArea = false
|
|
|
|
|
|
|
|
|
|
+ paidUser = user.features?.github # use a heuristic for paid account
|
|
|
|
|
+ freeUserProportion = 0.85
|
|
|
|
|
+ sampleFreeUser = parseInt(user._id.toString().slice(-2), 16) < freeUserProportion * 255
|
|
|
|
|
+ showFrontWidget = paidUser or sampleFreeUser
|
|
|
|
|
+ logger.log {paidUser, sampleFreeUser, showFrontWidget}, 'deciding whether to show front widget'
|
|
|
|
|
+ if showFrontWidget
|
|
|
|
|
+ viewModel.frontChatWidgetRoomId = Settings.overleaf?.front_chat_widget_room_id
|
|
|
|
|
+
|
|
|
res.render 'project/list', viewModel
|
|
res.render 'project/list', viewModel
|
|
|
timer.done()
|
|
timer.done()
|
|
|
|
|
|