home.mak 8.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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="row-fluid">
  13. <div>
  14. ${ROW.TITLE_ROW(_('My Dashboard'), 'fa-home', 'col-md-offset-3 col-md-7', 't-user-color', _('Welcome to your home, {username}.').format(username=fake_api.current_user.name))}
  15. </div>
  16. </div>
  17. </%def>
  18. <%def name="SIDEBAR_RIGHT_CONTENT()">
  19. ${TOOLBAR.USER_ME(fake_api.current_user)}
  20. </%def>
  21. <%def name="SIDEBAR_LEFT_CONTENT()">
  22. ## This is the default left sidebar implementation
  23. % if fake_api.current_user.profile.id>2:
  24. ${LEFT_MENU.ADMIN('')}
  25. % endif
  26. ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
  27. </%def>
  28. <%def name="REQUIRED_DIALOGS()">
  29. ${TIM.MODAL_DIALOG('user-edit-modal-dialog')}
  30. ${TIM.MODAL_DIALOG('user-edit-password-modal-dialog')}
  31. </%def>
  32. <div class="container-fluid">
  33. <div class="row-fluid">
  34. <div>
  35. <div class="row">
  36. <div class="col-md-offset-3 col-sm-7">
  37. <div class="row t-spacer-above">
  38. ## <div class="col-sm-6">
  39. ## <div class="panel panel-default">
  40. ## <div class="panel-heading">
  41. ## <h3 class="panel-title"><i class="fa fa-eye-slash"></i> ${_('Unread content')}</h3>
  42. ## </div>
  43. ## <div class="panel-body">
  44. ## Panel content
  45. ## </div>
  46. ## </div>
  47. ## </div>
  48. <div class="col-sm-6">
  49. <div class="panel panel-default">
  50. <div class="panel-heading">
  51. <h3 class="panel-title"><i class="fa fa-line-chart"></i> ${_('Recent activity')}</h3>
  52. </div>
  53. % if fake_api.last_actives.nb <= 0:
  54. ${P.EMPTY_CONTENT(_('There\'s no activity yet.'))}
  55. % else:
  56. <table class="table table-hover">
  57. % for item in fake_api.last_actives.contents:
  58. <tr>
  59. <td>
  60. <i class="${item.type.icon} fa-fw ${item.type.color}"></i>
  61. <a href="${item.url}">${item.label}</a>
  62. <br/>
  63. <span class="t-less-visible">${item.workspace.label}</span>
  64. </td>
  65. <td title="${_('Last activity: {datetime}').format(datetime=item.last_activity.label)}">
  66. ${item.last_activity.delta}
  67. </td>
  68. </tr>
  69. % endfor
  70. </table>
  71. % endif
  72. </div>
  73. </div>
  74. ## <div class="col-sm-6">
  75. ## <div class="panel panel-default">
  76. ## <div class="panel-heading">
  77. ## <h3 class="panel-title"><i class="fa fa-thumbs-down"></i> ${_('Still open after...')}</h3>
  78. ## </div>
  79. ## % if fake_api.oldest_opens.nb <= 0:
  80. ## ${P.EMPTY_CONTENT(_('Nothing to close.'))}
  81. ## % else:
  82. ## <table class="table table-hover">
  83. ## % for item in fake_api.oldest_opens.contents:
  84. ## <tr>
  85. ## <td>
  86. ## <i class="${item.type.icon} fa-fw ${item.type.color}"></i>
  87. ## <a href="${item.url}">${item.label}</a>
  88. ## </td>
  89. ## <td title="${_('Last activity: {datetime}').format(datetime=item.last_activity.label)}">
  90. ## ${item.last_activity.delta}
  91. ## </td>
  92. ## </tr>
  93. ## % endfor
  94. ## </table>
  95. ## % endif
  96. ## </div>
  97. ## </div>
  98. ## <div class="col-sm-6">
  99. ## <div class="panel panel-default">
  100. ## <div class="panel-heading">
  101. ## <h3 class="panel-title"><i class="fa fa-star"></i> ${_('Favorites')}</h3>
  102. ## </div>
  103. ##
  104. ## last_active_contents
  105. ##
  106. ## % if fake_api.favorites.nb <= 0:
  107. ## ${P.EMPTY_CONTENT(_('You did not set any favorite yet.'))}
  108. ## % else:
  109. ## <table class="table table-hover">
  110. ## % for item in fake_api.favorites.contents:
  111. ## <tr>
  112. ## <td>
  113. ## <i class="${item.type.icon} fa-fw ${item.type.color}"></i>
  114. ## <a href="${item.url}">${item.label}</a>
  115. ## </td>
  116. ## <td class="text-right">
  117. ## <i class="${item.status.icon} fa-fw ${item.status.css}" title="${item.status.label}"></i>
  118. ## </td>
  119. ## </tr>
  120. ## % endfor
  121. ## </table>
  122. ## % endif
  123. #### </div>
  124. ## </div>
  125. ## </div>
  126. </div>
  127. ## Workspace list and notifications
  128. <div class="row">
  129. <div class="col-sm-12">
  130. <div class="panel panel-default">
  131. <div class="panel-heading">
  132. <h3 class="panel-title"><i class="fa fa-bank"></i> ${_('Your workspaces')}</h3>
  133. </div>
  134. <div class="panel-body">
  135. % if len(fake_api.current_user.roles)<=0:
  136. ${P.EMPTY_CONTENT(_('I\'m not member of any workspace.'))}
  137. % else:
  138. <table class="table">
  139. <thead>
  140. <tr>
  141. <th>${_('Workspace')}</th>
  142. <th>${_('Role')}</th>
  143. <th>${_('Email Notifications')}</th>
  144. </tr>
  145. </thead>
  146. % for role in fake_api.current_user.roles:
  147. ${TABLE_ROW.USER_ROLE_IN_WORKSPACE(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')}
  148. % endfor
  149. </table>
  150. % endif
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. </div>
  159. </div>