swigFunctions.js 1.6 KB

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