master_authenticated.mak 9.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <%namespace name="TIM" file="tracim.templates.pod"/>
  2. <%namespace name="NAVBAR_MENU" file="tracim.templates.widgets.navbar_menu"/>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. ${self.meta()}
  7. <meta charset="utf-8">
  8. <title>${self.title()}</title>
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  10. <meta name="viewport" content="width=device-width, initial-scale=1">
  11. <meta name="description" content="">
  12. <meta name="author" content="">
  13. <link rel="icon" href="/favicon.ico">
  14. <link href="${tg.url('/assets/css/bootstrap.css')}" rel="stylesheet">
  15. <link href="${tg.url('/assets/dist/all.css')}" rel="stylesheet">
  16. <script>
  17. var shiftWindow = function() { scrollBy(0, -50) };
  18. window.addEventListener("hashchange", shiftWindow);
  19. function load() { if (window.location.hash) shiftWindow(); }
  20. globalTracimLang = '${h.get_lang()}'
  21. </script>
  22. <link rel="manifest" href="manifest.json?v=0.0.1" />
  23. </head>
  24. <body class="${self.body_class()}">
  25. <script src="${tg.url('/assets/js/jquery.min.js')}"></script>
  26. <div class="${container_classes()}">
  27. ${self.main_menu()}
  28. ${self.content_wrapper()}
  29. <div id="tracim-footer-separator"></div>
  30. </div>
  31. ${self.footer()}
  32. <script src="${tg.url('/assets/dist/all.js')}"></script>
  33. ${CFG.TRACKER_JS_CONTENT|n}
  34. </body>
  35. <%def name="container_classes()"></%def>
  36. <%def name="content_wrapper()">
  37. ${TIM.FLASH_MSG('col-sm-11')}
  38. ${self.body()}
  39. </%def>
  40. <%def name="body_class()"></%def>
  41. <%def name="meta()">
  42. <meta charset="${response.charset}" />
  43. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  44. </%def>
  45. <%def name="title()"> </%def>
  46. <%def name="footer()">
  47. <div class="pod-footer footer hidden-tablet hidden-phone text-center hidden-xs">
  48. <p>
  49. <a href="http://trac.im">${_('Create your own collaborative workspace on trac.im')}</a> &mdash;
  50. copyright &copy; 2013 - ${h.current_year()} tracim project.
  51. </p>
  52. </div>
  53. <script type="text/javascript">
  54. $(function () {
  55. $("[rel='tooltip']").tooltip();
  56. });
  57. </script>
  58. </%def>
  59. <%def name="main_menu()">
  60. <div class="navbar navbar-fixed-top" role="navigation">
  61. ${TIM.FLASH_MSG('')}
  62. ##
  63. ## <div class="row" id="flashgordon">
  64. ## <div class="col-sm-7 col-sm-offset-3" style="z-index: 10001; padding: 0; position: absolute; top: 0;">
  65. ## <div class="alert alert-info" style="margin-top: 1em; ">
  66. ## <button type="button" class="close" data-dismiss="alert">×</button>
  67. ## <div id="flash">
  68. ## <img src="/assets/icons/32x32/status/flash-ok.png">
  69. ## Statut de Fichier mis(e) à jour
  70. ## </div>
  71. ## </div>
  72. ##
  73. ## <script>
  74. ## window.setTimeout(function() {
  75. ## $("#flashgordon").fadeTo(5000, 0.5);
  76. ## }, 5000);
  77. ## </script>
  78. ## </div>
  79. ## </div>
  80. <div class="">
  81. <div class="navbar-header">
  82. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
  83. <i class="fa fa-bars"></i>
  84. </button>
  85. <a class="navbar-brand" href="${tg.url('/')}">
  86. <img src="${tg.url('/assets/img/logo.png')}" class="pull-left" />
  87. </a>
  88. </div>
  89. <div class="header__navbar bg-primary navbar-collapse collapse">
  90. % if request.identity:
  91. <ul class="header__navbar__list nav navbar-nav navbar-left">
  92. <li class="header__navbar__list__item active">
  93. <a href="${tg.url('/home')}">${TIM.FA('fa-home fa-lg')} ${_('My Home')}</a>
  94. </li>
  95. <li class="header__navbar__list__item">
  96. <a href="${tg.url('/calendar')}">${TIM.FA('fa-calendar fa-fw')} ${_('Calendar')}</a>
  97. </li>
  98. ${NAVBAR_MENU.ADMIN_ITEMS()}
  99. </ul>
  100. % endif
  101. <ul class="header__navbar__right nav navbar-nav navbar-right">
  102. % if request.identity:
  103. <form id="search-form" class="navbar-form navbar-left" role="search" action="${tg.url('/search?')}">
  104. <div class="form-group">
  105. <input type="text" class="form-control" placeholder="${_('Search for...')}" name="keywords" value="${','.join(search.keywords) if search else ''}" />
  106. <i class="fa fa-search t-less-visible hidden-xs" style="margin-left: -2em;" onclick="$('#search-form').submit()"></i>
  107. </div>
  108. ## <button type="submit" class="btn btn-default">${_('Search')}</button>
  109. </form>
  110. % if fake_api.current_user.profile.id>=8: #2:
  111. <li class="dropdown">
  112. <a href="#" class="dropdown-toggle" data-toggle="dropdown">${TIM.FA('fa-lg fa-cogs fa-fw')} ${_('Admin')} <b class="caret"></b></a>
  113. <ul class="dropdown-menu">
  114. <li><a href="${tg.url('/admin/users')}">${TIM.FA('fa-users fa-fw tracim-less-visible')} ${_('Users')}</a></li>
  115. <li><a href="${tg.url('/admin/workspaces')}">${TIM.FA('fa-bank fa-fw tracim-less-visible')} ${_('Workspaces')}</a></li>
  116. ## TODO - D.A. - 2014-10-20 - Restore global configuration screen
  117. ## <li class="divider" role="presentation"></li>
  118. ## <li><a href="${tg.url('/admin/configuration')}">${TIM.ICO(16, 'categories/preferences-system')} ${_('Global configuration')}</a></li>
  119. </ul>
  120. </li>
  121. % endif
  122. % if False and h.is_debug_mode():
  123. <li class="dropdown text-danger" >
  124. <a href="#" class="dropdown-toggle" data-toggle="dropdown">${TIM.FA('fa-warning t-orange fa-fw')} Debug <b class="caret"></b></a>
  125. <ul class="dropdown-menu">
  126. <li><a class="text-danger" href=""><strong>${_('you MUST desactivate debug in production')}</strong></a></li>
  127. <li class="divider" role="presentation"></li>
  128. <li><a href="${tg.url('/debug/environ')}">${TIM.FA('fa-globe fa-fw t-less-visible')} request.environ</a></li>
  129. <li><a href="${tg.url('/debug/identity')}">${TIM.FA('fa-user fa-fw t-less-visible')} request.identity</a></li>
  130. <li class="divider" role="presentation"></li>
  131. <li><a href="${tg.url('/debug/iconset-fa')}">${TIM.FA('fa-file-image-o fa-fw t-less-visible')} Icon set - Font Awesome</a></li>
  132. <li><a href="${tg.url('/debug/iconset-tango')}">${TIM.FA('fa-file-image-o fa-fw t-less-visible')} Icon set - Tango Icons</a></li>
  133. </ul>
  134. </li>
  135. % endif
  136. <li class="dropdown">
  137. <a href="#" class="dropdown-toggle" data-toggle="dropdown">
  138. ${TIM.FA('fa-lg fa-fw fa-user')} ${fake_api.current_user.name}
  139. </a>
  140. <ul class="dropdown-menu pull-right">
  141. <li>
  142. <a href="${tg.url('/logout_handler')}">${TIM.FA('fa-sign-out fa-fw t-orange')} ${_('Logout')}</a>
  143. </li>
  144. </ul>
  145. </li>
  146. % else:
  147. <li><a href="${tg.url('/')}">${TIM.ICO(16, 'status/status-unlocked')} ${_('Login')}</a></li>
  148. % endif
  149. ## TODO - D.A. - 2014-10-19 - RESTORE HELP LINKS
  150. ## <li class="dropdown">
  151. ## <a href="#" class="dropdown-toggle" data-toggle="dropdown">
  152. ## ${TIM.ICO(16, 'apps/help-browser')}
  153. ## </a>
  154. ## <ul class="dropdown-menu pull-right">
  155. ## <li><a href="${tg.url('/help')}">${TIM.ICO(16, 'apps/help-browser')|n} ${_('Get help')}</a></li>
  156. ## <li><a href="${tg.url('/about')}">${TIM.ICO(16, 'actions/contact-new')|n} ${_('About pod')}</a></li>
  157. ## <li class="divider" role="presentation"></li>
  158. ## <li><a>${_('You are using pod v')}${h.PodVersion()}</a></li>
  159. ## </ul>
  160. ## </li>
  161. </ul>
  162. <div class="header__navbar__switch-mode switch-read-mode hidden-xs">
  163. ${TIM.FA('fa-eye fa-fw')} ${_('Read mode')}
  164. </div>
  165. </div>
  166. </div>
  167. </div>
  168. </%def>
  169. </html>