swigFunctions.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. module.exports = function(app) {
  2. var debug = require('debug')('crowi:lib:swigFunctions')
  3. , models = app.set('models')
  4. , Page = models.Page
  5. , User = models.User
  6. , config = app.set('config')
  7. ;
  8. return {
  9. facebookLoginEnabled: function() {
  10. return config.crowi['facebook:appId'] && config.crowi['facebook:secret'];
  11. },
  12. googleLoginEnabled: function() {
  13. return config.crowi['google:clientId'] && config.crowi['google:clientSecret'];
  14. },
  15. user_page_root: function(user) {
  16. if (!user) {
  17. return '';
  18. }
  19. return '/user/' + user.username;
  20. },
  21. css: {
  22. grant: function (pageData) {
  23. if (!pageData) {
  24. return '';
  25. }
  26. switch (pageData.grant) {
  27. case Page.GRANT_PUBLIC:
  28. return 'grant-public';
  29. case Page.GRANT_RESTRICTED:
  30. return 'grant-restricted';
  31. //case Page.GRANT_SPECIFIED:
  32. // return 'grant-specified';
  33. // break;
  34. case Page.GRANT_OWNER:
  35. return 'grant-owner';
  36. default:
  37. break;
  38. }
  39. return '';
  40. },
  41. userStatus: function (user) {
  42. //debug('userStatus', user._id, user.usename, user.status);
  43. switch (user.status) {
  44. case User.STATUS_REGISTERED:
  45. return 'label-info';
  46. case User.STATUS_ACTIVE:
  47. return 'label-success';
  48. case User.STATUS_SUSPENDED:
  49. return 'label-warning';
  50. case User.STATUS_DELETED:
  51. return 'label-danger';
  52. case User.STATUS_INVITED:
  53. return 'label-info';
  54. default:
  55. break;
  56. }
  57. return '';
  58. },
  59. }
  60. };
  61. };