table_row.mak 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
  2. <%namespace name="ICON" file="tracim.templates.widgets.icon"/>
  3. <%namespace name="SPAN" file="tracim.templates.widgets.span"/>
  4. <%def name="USER_ROLE_IN_WORKSPACE(current_user, role, show_id=True, enable_link=None, disable_link=None, role_types=None, base_link='/admin/workspaces/{workspace}')">
  5. <tr>
  6. % if show_id:
  7. <td>${role.workspace.id}</td>
  8. % endif
  9. <td><a href="${tg.url(base_link).format(workspace=role.workspace.id)}">${role.workspace.name}</a></td>
  10. % if role_types:
  11. ## <td>${BUTTON.SECURED_ROLE_SELECTOR(fake_api.current_user, result.workspace, member, fake_api.role_types)}</td>
  12. <td><span style="${role.style}"><i class="fa ${role.icon}"></i> ${role.label}</span></td>
  13. % else:
  14. <td><span style="${role.style}"><i class="fa ${role.icon}"></i> ${role.label}</span></td>
  15. % endif
  16. <%
  17. user_is_himself = current_user.id == role.user.id
  18. user_is_manager = h.user_role(current_user, role.workspace) >= 8
  19. ## allow user to change notification status only if current user is manager on the given workspace
  20. %>
  21. % if (enable_link or disable_link) and (user_is_himself or user_is_manager) :
  22. <td>${SPAN.NOTIFICATION_SUBSCRIBED(role.user, role.workspace, role.notifications_subscribed, enable_link, disable_link)}</td>
  23. % else:
  24. <td>${SPAN.NOTIFICATION_SUBSCRIBED(role.user, role.workspace, role.notifications_subscribed)}</td>
  25. % endif
  26. </tr>
  27. </%def>
  28. <%def name="SECURED_MEMBER_IN_WORKSPACE(current_user, workspace, member, role_types)">
  29. <tr>
  30. <td>${member.id}</td>
  31. <td><a href="${tg.url('/admin/users/{}'.format(member.id))}">${member.name}</a></td>
  32. <td>${BUTTON.SECURED_ROLE_SELECTOR(fake_api.current_user, result.workspace, member, fake_api.role_types)}</td>
  33. <%
  34. user_is_himself = current_user.id == member.id
  35. user_is_manager = h.user_role(current_user, workspace) >= 8
  36. ## allow user to change notification status only if current user is manager on the given workspace
  37. enable_link = '/admin/users/{user}/workspaces/{workspace}/enable_notifications?next_url=/admin/workspaces/{workspace}'
  38. disable_link = '/admin/users/{user}/workspaces/{workspace}/disable_notifications?next_url=/admin/workspaces/{workspace}'
  39. %>
  40. % if (enable_link or disable_link) and (user_is_himself or user_is_manager) :
  41. <td>${SPAN.NOTIFICATION_SUBSCRIBED(member, workspace, member.notifications_subscribed, enable_link, disable_link)}</td>
  42. % else:
  43. <td>${SPAN.NOTIFICATION_SUBSCRIBED(member, workspace, member.notifications_subscribed)}</td>
  44. % endif
  45. <td><a title="${_('Remove this user from the current workspace')}" class="t-less-visible t-red-on-hover t-red btn btn-default btn-xs" href="${tg.url('/admin/workspaces/{}/roles/{}/delete'.format(result.workspace.id, member.id))}">${ICON.FA('fa-remove fa-fw')}</a></td>
  46. </tr>
  47. </%def>
  48. <%def name="CONTENT(content)">
  49. <tr class="t-table-row-${content.type.type} folder__content__list__item ${'archived' if content.is_archived else ''} ${'deleted' if content.is_deleted else ''}">
  50. <td class="folder__content__list__item__title">
  51. <a href="${content.url}" id="folder__content__list__item__link_${content.id}">
  52. <i class="fa-fw ${content.type.icon} ${content.type.color}"></i> ${content.label}
  53. </a>
  54. </td>
  55. <!--td class="folder__content__list__type">
  56. <span class="${content.type.color}">
  57. % if (content.is_archived) :
  58. <i class="fa fa-archive fa-fw tracim-less-visible" title="${_('archived')}"></i>
  59. % elif (content.is_deleted) :
  60. <i class="fa fa-trash-o fa-fw tracim-less-visible" title="${_('deleted')}"></i>
  61. % endif
  62. ${content.type.label}
  63. </span>
  64. ## <span class="tracim-less-visible"><i class="fa fa-file-text-o fa-tw"></i> ${content}</span>
  65. </td-->
  66. % if 'folder' == content.type.id:
  67. <td class="text-center t-less-visible">-</td>
  68. % else:
  69. <td>
  70. <a href="${content.url}">
  71. % if 'open' == content.status.id:
  72. <i class="fa fa-fw fa-square-o"></i>
  73. % elif 'closed-validated' == content.status.id:
  74. <i class="fa fa-fw fa-check-square-o"></i>
  75. % elif 'closed-unvalidated' == content.status.id:
  76. <i class="fa fa-fw fa-check-square-o"></i>
  77. % elif 'closed-deprecated' == content.status.id:
  78. <i class="fa fa-fw fa-bell-slash-o"></i>
  79. % else:
  80. <i class="fa fa-fw fa-close"></i>
  81. % endif
  82. <span class="t-less-visible">
  83. ${content.status.label}
  84. % if (content.is_archived) :
  85. - ${_('archived')}
  86. % elif (content.is_deleted) :
  87. - ${_('deleted')}
  88. % endif
  89. </span>
  90. </a>
  91. </td>
  92. % endif
  93. <td><a href="${content.url}"><span class="t-less-visible">${content.notes|n}</span></a></td>
  94. <td><a href="${content.url}">${content.type.label}</a></td>
  95. </tr>
  96. </%def>