BetaProgramHandler = require './BetaProgramHandler' UserGetter = require "../User/UserGetter" Settings = require "settings-sharelatex" logger = require 'logger-sharelatex' AuthenticationController = require '../Authentication/AuthenticationController' module.exports = BetaProgramController = optIn: (req, res, next) -> user_id = AuthenticationController.getLoggedInUserId(req) logger.log {user_id}, "user opting in to beta program" if !user_id? return next(new Error("no user id in session")) BetaProgramHandler.optIn user_id, (err) -> if err return next(err) return res.redirect "/beta/participate" optOut: (req, res, next) -> user_id = AuthenticationController.getLoggedInUserId(req) logger.log {user_id}, "user opting out of beta program" if !user_id? return next(new Error("no user id in session")) BetaProgramHandler.optOut user_id, (err) -> if err return next(err) return res.redirect "/beta/participate" optInPage: (req, res, next)-> user_id = AuthenticationController.getLoggedInUserId(req) logger.log {user_id}, "showing beta participation page for user" UserGetter.getUser user_id, (err, user)-> if err logger.err {err, user_id}, "error fetching user" return next(err) res.render 'beta_program/opt_in', title:'sharelatex_beta_program' user: user, languages: Settings.languages,