SubscriptionGroupController.coffee 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. SubscriptionGroupHandler = require("./SubscriptionGroupHandler")
  2. logger = require("logger-sharelatex")
  3. SubscriptionLocator = require("./SubscriptionLocator")
  4. module.exports =
  5. addUserToGroup: (req, res)->
  6. adminUserId = req.session.user._id
  7. newEmail = req.body.email
  8. logger.log adminUserId:adminUserId, newEmail:newEmail, "adding user to group subscription"
  9. SubscriptionGroupHandler.addUserToGroup adminUserId, newEmail, (err, user)->
  10. result =
  11. user:user
  12. if err and err.limitReached
  13. result.limitReached = true
  14. res.json(result)
  15. removeUserFromGroup: (req, res)->
  16. adminUserId = req.session.user._id
  17. userToRemove_id = req.params.user_id
  18. logger.log adminUserId:adminUserId, userToRemove_id:userToRemove_id, "removing user from group subscription"
  19. SubscriptionGroupHandler.removeUserFromGroup adminUserId, userToRemove_id, ->
  20. res.send()
  21. renderSubscriptionGroupAdminPage: (req, res)->
  22. user_id = req.session.user._id
  23. SubscriptionLocator.getUsersSubscription user_id, (err, subscription)->
  24. if !subscription.groupPlan
  25. return res.redirect("/")
  26. SubscriptionGroupHandler.getPopulatedListOfMembers user_id, (err, users)->
  27. res.render "subscriptions/group_admin",
  28. title: 'Group Admin'
  29. users: users
  30. subscription: subscription