|
@@ -556,6 +556,26 @@ const ProjectController = {
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
|
},
|
|
},
|
|
|
|
|
+ newUsersMicroSurveyAssignment(cb) {
|
|
|
|
|
+ SplitTestHandler.getAssignment(
|
|
|
|
|
+ req,
|
|
|
|
|
+ res,
|
|
|
|
|
+ 'new-users-micro-survey',
|
|
|
|
|
+ (err, assignment) => {
|
|
|
|
|
+ if (err) {
|
|
|
|
|
+ logger.error(
|
|
|
|
|
+ { err },
|
|
|
|
|
+ 'failed to get "new-users-micro-survey" split test assignment'
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+ const defaultAssignment = { variant: 'default' }
|
|
|
|
|
+ cb(null, defaultAssignment)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ cb(null, assignment)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
|
|
+ },
|
|
|
survey(cb) {
|
|
survey(cb) {
|
|
|
SurveyHandler.getSurvey(userId, (err, survey) => {
|
|
SurveyHandler.getSurvey(userId, (err, survey) => {
|
|
|
if (err) {
|
|
if (err) {
|
|
@@ -578,6 +598,7 @@ const ProjectController = {
|
|
|
user,
|
|
user,
|
|
|
userEmailsData,
|
|
userEmailsData,
|
|
|
groupsAndEnterpriseBannerAssignment,
|
|
groupsAndEnterpriseBannerAssignment,
|
|
|
|
|
+ newUsersMicroSurveyAssignment,
|
|
|
userIsMemberOfGroupSubscription,
|
|
userIsMemberOfGroupSubscription,
|
|
|
} = results
|
|
} = results
|
|
|
|
|
|
|
@@ -718,6 +739,16 @@ const ProjectController = {
|
|
|
!userIsMemberOfGroupSubscription &&
|
|
!userIsMemberOfGroupSubscription &&
|
|
|
!hasPaidAffiliation
|
|
!hasPaidAffiliation
|
|
|
|
|
|
|
|
|
|
+ const SEVEN_DAYS = 1000 * 60 * 60 * 24 * 7
|
|
|
|
|
+
|
|
|
|
|
+ const isUserLessThanSevenDaysOld =
|
|
|
|
|
+ user.signUpDate && Date.now() - user.signUpDate.getTime() < SEVEN_DAYS
|
|
|
|
|
+
|
|
|
|
|
+ const showNewUsersMicroSurvey =
|
|
|
|
|
+ Features.hasFeature('saas') &&
|
|
|
|
|
+ newUsersMicroSurveyAssignment.variant === 'enabled' &&
|
|
|
|
|
+ isUserLessThanSevenDaysOld
|
|
|
|
|
+
|
|
|
ProjectController._injectProjectUsers(projects, (error, projects) => {
|
|
ProjectController._injectProjectUsers(projects, (error, projects) => {
|
|
|
if (error != null) {
|
|
if (error != null) {
|
|
|
return next(error)
|
|
return next(error)
|
|
@@ -745,6 +776,7 @@ const ProjectController = {
|
|
|
showGroupsAndEnterpriseBanner,
|
|
showGroupsAndEnterpriseBanner,
|
|
|
groupsAndEnterpriseBannerVariant:
|
|
groupsAndEnterpriseBannerVariant:
|
|
|
groupsAndEnterpriseBannerAssignment.variant,
|
|
groupsAndEnterpriseBannerAssignment.variant,
|
|
|
|
|
+ showNewUsersMicroSurvey,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const paidUser =
|
|
const paidUser =
|