home.mak 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <%inherit file="local:templates.master_authenticated_left_treeview_right_toolbar"/>
  2. <%namespace name="TIM" file="tracim.templates.pod"/>
  3. <%namespace name="ROW" file="tracim.templates.widgets.row"/>
  4. <%namespace name="TABLE_ROW" file="tracim.templates.widgets.table_row"/>
  5. <%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
  6. <%namespace name="P" file="tracim.templates.widgets.paragraph"/>
  7. <%namespace name="TOOLBAR" file="tracim.templates.user_toolbars"/>
  8. <%def name="title()">
  9. ${_('Dashboard')}
  10. </%def>
  11. <%def name="TITLE_ROW()">
  12. <div class="content__title">
  13. ${ROW.TITLE_ROW(_('My Dashboard'), 'fa-home', '', 't-user-color', _('Welcome to your home, {username}.').format(username=fake_api.current_user.name))}
  14. </div>
  15. </%def>
  16. <%def name="SIDEBAR_RIGHT_CONTENT()">
  17. ${TOOLBAR.USER_ME(fake_api.current_user)}
  18. </%def>
  19. <%def name="SIDEBAR_LEFT_CONTENT()">
  20. ## This is the default left sidebar implementation
  21. ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
  22. </%def>
  23. <%def name="REQUIRED_DIALOGS()">
  24. ${TIM.MODAL_DIALOG('user-edit-modal-dialog')}
  25. ${TIM.MODAL_DIALOG('user-edit-password-modal-dialog')}
  26. </%def>
  27. <div class="content__home">
  28. ## NOT READ
  29. <div class="t-spacer-above" id="unread-content-panel">
  30. <div class="t-half-spacer-above">
  31. <div class="panel panel-success">
  32. <div class="panel-heading">
  33. <h3 class="panel-title"><i class="fa fa-fw fa-eye-slash"></i> ${_('Not Read')}</h3>
  34. </div>
  35. <div class="panel-body">
  36. % if fake_api.last_unread.nb <= 0:
  37. ${P.EMPTY_CONTENT(_('No new content.'))}
  38. % else:
  39. <table class="table table-hover">
  40. % for item in fake_api.last_unread.contents:
  41. <tr>
  42. <td>
  43. <i class="${item.type.icon} fa-fw ${item.type.color}"></i>
  44. <a href="${item.url}">${item.label}</a>
  45. <br/>
  46. <span class="t-less-visible">${item.workspace.label}</span>
  47. </td>
  48. <td title="${_('Last activity: {datetime}').format(datetime=item.last_activity.label)}">
  49. ${item.last_activity.delta}
  50. </td>
  51. </tr>
  52. % endfor
  53. </table>
  54. % endif
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. ## RECENT ACTIVITY
  60. <div class="t-spacer-above" id="recent-activity-panel">
  61. <div class="t-half-spacer-above">
  62. <div class="panel panel-warning">
  63. <div class="panel-heading">
  64. <h3 class="panel-title"><i class="fa fa-fw fa-line-chart"></i> ${_('Recent Activity')}</h3>
  65. </div>
  66. <div class="panel-body">
  67. % if fake_api.last_actives.nb <= 0:
  68. ${P.EMPTY_CONTENT(_('There\'s no activity yet.'))}
  69. % else:
  70. <table class="table table-hover">
  71. % for item in fake_api.last_actives.contents:
  72. <tr>
  73. <td>
  74. <i class="${item.type.icon} fa-fw ${item.type.color}"></i>
  75. <a href="${item.url}">${item.label}</a>
  76. <br/>
  77. <span class="t-less-visible">${item.workspace.label}</span>
  78. </td>
  79. <td title="${_('Last activity: {datetime}').format(datetime=item.last_activity.label)}">
  80. ${item.last_activity.delta}
  81. </td>
  82. </tr>
  83. % endfor
  84. </table>
  85. % endif
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. ## Workspace list and notifications
  91. <div class="t-half-spacer-above" id="workspaces-panel">
  92. <div class="t-spacer-above">
  93. <div class="panel panel-info">
  94. <div class="panel-heading">
  95. <h3 class="panel-title"><i class="fa fa-bank"></i> ${_('Workspaces')}</h3>
  96. </div>
  97. <div class="panel-body">
  98. % if len(fake_api.current_user.roles)<=0:
  99. ${P.EMPTY_CONTENT(_('I\'m not member of any workspace.'))}
  100. % else:
  101. <table class="table">
  102. <thead>
  103. <tr>
  104. <th>${_('Workspace')}</th>
  105. <th>${_('Role')}</th>
  106. <th>${_('Email Notifications')}</th>
  107. </tr>
  108. </thead>
  109. % for role in fake_api.current_user.roles:
  110. ${TABLE_ROW.USER_ROLE_IN_WORKSPACE(fake_api.current_user, role, show_id=False, enable_link='/user/me/workspaces/{workspace}/enable_notifications?next_url=/home', disable_link='/user/me/workspaces/{workspace}/disable_notifications?next_url=/home')}
  111. % endfor
  112. </table>
  113. % endif
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>