##// END OF EJS Templates
admin menu: call it 'admin journal' - it is different from normal 'journal'
Mads Kiilerich -
r3281:2ca398c8 beta
parent child Browse files
Show More
@@ -1,360 +1,360 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="root.html"/>
3 3
4 4 <!-- HEADER -->
5 5 <div id="header">
6 6 <div id="header-inner" class="title hover">
7 7 <div id="logo">
8 8 <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
9 9 </div>
10 10 <!-- MENU -->
11 11 ${self.page_nav()}
12 12 <!-- END MENU -->
13 13 ${self.body()}
14 14 </div>
15 15 </div>
16 16 <!-- END HEADER -->
17 17
18 18 <!-- CONTENT -->
19 19 <div id="content">
20 20 <div class="flash_msg">
21 21 <% messages = h.flash.pop_messages() %>
22 22 % if messages:
23 23 <ul id="flash-messages">
24 24 % for message in messages:
25 25 <li class="${message.category}_msg">${message}</li>
26 26 % endfor
27 27 </ul>
28 28 % endif
29 29 </div>
30 30 <div id="main">
31 31 ${next.main()}
32 32 </div>
33 33 </div>
34 34 <!-- END CONTENT -->
35 35
36 36 <!-- FOOTER -->
37 37 <div id="footer">
38 38 <div id="footer-inner" class="title">
39 39 <div>
40 40 <p class="footer-link">
41 41 <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
42 42 </p>
43 43 <p class="footer-link-right">
44 44 <a href="${h.url('rhodecode_official')}">RhodeCode${'-%s' % c.rhodecode_instanceid if c.rhodecode_instanceid else ''}</a>
45 45 ${c.rhodecode_version} &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski
46 46 </p>
47 47 </div>
48 48 </div>
49 49 </div>
50 50 <!-- END FOOTER -->
51 51
52 52 ### MAKO DEFS ###
53 53 <%def name="page_nav()">
54 54 ${self.menu()}
55 55 </%def>
56 56
57 57 <%def name="breadcrumbs()">
58 58 <div class="breadcrumbs">
59 59 ${self.breadcrumbs_links()}
60 60 </div>
61 61 </%def>
62 62
63 63 <%def name="usermenu()">
64 64 ## USER MENU
65 65 <li>
66 66 <a class="menu_link" id="quick_login_link">
67 67 <span class="icon" style="padding:5px 5px 0px 5px">
68 68 <img src="${h.gravatar_url(c.rhodecode_user.email,20)}" alt="avatar">
69 69 </span>
70 70 %if c.rhodecode_user.username != 'default':
71 71 <span class="menu_link_user">${c.rhodecode_user.username}</span>
72 72 %if c.unread_notifications != 0:
73 73 <span class="menu_link_notifications">${c.unread_notifications}</span>
74 74 %endif
75 75 %else:
76 76 <span>${_('Not logged in')}</span>
77 77 %endif
78 78 </a>
79 79
80 80 <div class="user-menu">
81 81 <div id="quick_login">
82 82 %if c.rhodecode_user.username == 'default':
83 83 <h4>${_('Login to your account')}</h4>
84 84 ${h.form(h.url('login_home',came_from=h.url.current()))}
85 85 <div class="form">
86 86 <div class="fields">
87 87 <div class="field">
88 88 <div class="label">
89 89 <label for="username">${_('Username')}:</label>
90 90 </div>
91 91 <div class="input">
92 92 ${h.text('username',class_='focus',size=40)}
93 93 </div>
94 94
95 95 </div>
96 96 <div class="field">
97 97 <div class="label">
98 98 <label for="password">${_('Password')}:</label>
99 99 </div>
100 100 <div class="input">
101 101 ${h.password('password',class_='focus',size=40)}
102 102 </div>
103 103
104 104 </div>
105 105 <div class="buttons">
106 106 <div class="password_forgoten">${h.link_to(_('Forgot password ?'),h.url('reset_password'))}</div>
107 107 <div class="register">
108 108 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
109 109 ${h.link_to(_("Don't have an account ?"),h.url('register'))}
110 110 %endif
111 111 </div>
112 112 <div class="submit">
113 113 ${h.submit('sign_in',_('Log In'),class_="ui-btn xsmall")}
114 114 </div>
115 115 </div>
116 116 </div>
117 117 </div>
118 118 ${h.end_form()}
119 119 %else:
120 120 <div class="links_left">
121 121 <div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
122 122 <div class="email">${c.rhodecode_user.email}</div>
123 123 <div class="big_gravatar"><img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,48)}" /></div>
124 124 <div class="notifications"><a href="${h.url('notifications')}">${_('Notifications')}</a></div>
125 125 <div class="unread">${_('Unread')}: ${c.unread_notifications}</div>
126 126 </div>
127 127 <div class="links_right">
128 128 <ol class="links">
129 129 <li>${h.link_to(_(u'Home'),h.url('home'))}</li>
130 130 <li>${h.link_to(_(u'Journal'),h.url('journal'))}</li>
131 131 <li>${h.link_to(_(u'My account'),h.url('admin_settings_my_account'))}</li>
132 132 <li class="logout">${h.link_to(_(u'Log Out'),h.url('logout_home'))}</li>
133 133 </ol>
134 134 </div>
135 135 %endif
136 136 </div>
137 137 </div>
138 138
139 139 </li>
140 140 </%def>
141 141
142 142 <%def name="menu(current=None)">
143 143 <%
144 144 def is_current(selected):
145 145 if selected == current:
146 146 return h.literal('class="current"')
147 147 %>
148 148 <ul id="quick">
149 149 <!-- repo switcher -->
150 150 <li>
151 151 <a class="menu_link" id="repo_switcher" title="${_('Switch repository')}" href="#">
152 152 <span class="icon">
153 153 <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" />
154 154 </span>
155 155 <span>${_('Repositories')}</span>
156 156 </a>
157 157 <ul id="repo_switcher_list" class="repo_switcher">
158 158 <li>
159 159 <a href="#">${_('loading...')}</a>
160 160 </li>
161 161 </ul>
162 162 </li>
163 163 ## we render this menu only not for those pages
164 164 %if current not in ['home','admin', 'search', 'journal']:
165 165 ##REGULAR MENU
166 166 <li ${is_current('summary')}>
167 167 <a class="menu_link" title="${_('Summary')}" href="${h.url('summary_home',repo_name=c.repo_name)}">
168 168 <span class="icon">
169 169 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
170 170 </span>
171 171 <span>${_('Summary')}</span>
172 172 </a>
173 173 </li>
174 174 <li ${is_current('changelog')}>
175 175 <a class="menu_link" title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=c.repo_name)}">
176 176 <span class="icon">
177 177 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
178 178 </span>
179 179 <span>${_('Changelog')}</span>
180 180 </a>
181 181 </li>
182 182 <li ${is_current('switch_to')}>
183 183 <a class="menu_link" id="branch_tag_switcher" title="${_('Switch to')}" href="#">
184 184 <span class="icon">
185 185 <img src="${h.url('/images/icons/arrow_switch.png')}" alt="${_('Switch to')}" />
186 186 </span>
187 187 <span>${_('Switch to')}</span>
188 188 </a>
189 189 <ul id="switch_to_list" class="switch_to">
190 190 <li><a href="#">${_('loading...')}</a></li>
191 191 </ul>
192 192 </li>
193 193 <li ${is_current('files')}>
194 194 <a class="menu_link" title="${_('Files')}" href="${h.url('files_home',repo_name=c.repo_name)}">
195 195 <span class="icon">
196 196 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
197 197 </span>
198 198 <span>${_('Files')}</span>
199 199 </a>
200 200 </li>
201 201 <li ${is_current('options')}>
202 202 <a class="menu_link" title="${_('Options')}" href="#">
203 203 <span class="icon">
204 204 <img src="${h.url('/images/icons/table_gear.png')}" alt="${_('Admin')}" />
205 205 </span>
206 206 <span>${_('Options')}</span>
207 207 </a>
208 208 <ul>
209 209 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
210 210 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
211 211 <li>${h.link_to(_('repository settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
212 212 %else:
213 213 <li>${h.link_to(_('repository settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
214 214 %endif
215 215 %endif
216 216
217 217 <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
218 218 %if h.is_hg(c.rhodecode_repo):
219 219 <li>${h.link_to(_('open new pull request'),h.url('pullrequest_home',repo_name=c.repo_name),class_='pull_request')}</li>
220 220 %endif
221 221 %if c.rhodecode_db_repo.fork:
222 222 <li>${h.link_to(_('compare fork'),h.url('compare_url',repo_name=c.repo_name,org_ref_type='branch',org_ref=request.GET.get('branch') or 'default',other_ref_type='branch',other_ref='default',repo=c.rhodecode_db_repo.fork.repo_name),class_='compare_request')}</li>
223 223 %endif
224 224 <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
225 225
226 226 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
227 227 %if c.rhodecode_db_repo.locked[0]:
228 228 <li>${h.link_to(_('unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
229 229 %else:
230 230 <li>${h.link_to(_('lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
231 231 %endif
232 232 %endif
233 233
234 234 % if h.HasPermissionAll('hg.admin')('access admin main page'):
235 235 <li>
236 236 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
237 237 <%def name="admin_menu()">
238 238 <ul>
239 <li>${h.link_to(_('journal'),h.url('admin_home'),class_='journal')}</li>
239 <li>${h.link_to(_('admin journal'),h.url('admin_home'),class_='journal')}</li>
240 240 <li>${h.link_to(_('repositories'),h.url('repos'),class_='repos')}</li>
241 241 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
242 242 <li>${h.link_to(_('users'),h.url('users'),class_='users')}</li>
243 243 <li>${h.link_to(_('users groups'),h.url('users_groups'),class_='groups')}</li>
244 244 <li>${h.link_to(_('permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li>
245 245 <li>${h.link_to(_('ldap'),h.url('ldap_home'),class_='ldap')}</li>
246 246 <li>${h.link_to(_('defaults'),h.url('defaults'),class_='defaults')}</li>
247 247 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
248 248 </ul>
249 249 </%def>
250 250 ## ADMIN MENU
251 251 ${admin_menu()}
252 252 </li>
253 253 % endif
254 254 </ul>
255 255 </li>
256 256 <li>
257 257 <a class="menu_link" title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
258 258 <span class="icon_short">
259 259 <img src="${h.url('/images/icons/heart.png')}" alt="${_('Followers')}" />
260 260 </span>
261 261 <span id="current_followers_count" class="short">${c.repository_followers}</span>
262 262 </a>
263 263 </li>
264 264 <li>
265 265 <a class="menu_link" title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
266 266 <span class="icon_short">
267 267 <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Forks')}" />
268 268 </span>
269 269 <span class="short">${c.repository_forks}</span>
270 270 </a>
271 271 </li>
272 272 <li>
273 273 <a class="menu_link" title="${_('Pull requests')}" href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}">
274 274 <span class="icon_short">
275 275 <img src="${h.url('/images/icons/arrow_join.png')}" alt="${_('Pull requests')}" />
276 276 </span>
277 277 <span class="short">${c.repository_pull_requests}</span>
278 278 </a>
279 279 </li>
280 280 ${usermenu()}
281 281 <script type="text/javascript">
282 282 YUE.on('branch_tag_switcher','mouseover',function(){
283 283 var loaded = YUD.hasClass('branch_tag_switcher','loaded');
284 284 if(!loaded){
285 285 YUD.addClass('branch_tag_switcher','loaded');
286 286 ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list',
287 287 function(o){},
288 288 function(o){YUD.removeClass('branch_tag_switcher','loaded');}
289 289 ,null);
290 290 }
291 291 return false;
292 292 });
293 293 </script>
294 294 %else:
295 295 ##ROOT MENU
296 296 %if c.rhodecode_user.username != 'default':
297 297 <li ${is_current('journal')}>
298 298 <a class="menu_link" title="${_('Journal')}" href="${h.url('journal')}">
299 299 <span class="icon">
300 300 <img src="${h.url('/images/icons/book.png')}" alt="${_('Journal')}" />
301 301 </span>
302 302 <span>${_('Journal')}</span>
303 303 </a>
304 304 </li>
305 305 %else:
306 306 <li ${is_current('journal')}>
307 307 <a class="menu_link" title="${_('Public journal')}" href="${h.url('public_journal')}">
308 308 <span class="icon">
309 309 <img src="${h.url('/images/icons/book.png')}" alt="${_('Public journal')}" />
310 310 </span>
311 311 <span>${_('Public journal')}</span>
312 312 </a>
313 313 </li>
314 314 %endif
315 315 <li ${is_current('search')}>
316 316 <a class="menu_link" title="${_('Search')}" href="${h.url('search')}">
317 317 <span class="icon">
318 318 <img src="${h.url('/images/icons/search_16.png')}" alt="${_('Search')}" />
319 319 </span>
320 320 <span>${_('Search')}</span>
321 321 </a>
322 322 </li>
323 323 %if h.HasPermissionAll('hg.admin')('access admin main page'):
324 324 <li ${is_current('admin')}>
325 325 <a class="menu_link" title="${_('Admin')}" href="${h.url('admin_home')}">
326 326 <span class="icon">
327 327 <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" />
328 328 </span>
329 329 <span>${_('Admin')}</span>
330 330 </a>
331 331 ${admin_menu()}
332 332 </li>
333 333 %endif
334 334 ${usermenu()}
335 335 %endif
336 336 <script type="text/javascript">
337 337 YUE.on('repo_switcher','mouseover',function(){
338 338 var target = 'q_filter_rs';
339 339 var qfilter_activate = function(){
340 340 var nodes = YUQ('ul#repo_switcher_list li a.repo_name');
341 341 var func = function(node){
342 342 return node.parentNode;
343 343 }
344 344 q_filter(target,nodes,func);
345 345 }
346 346
347 347 var loaded = YUD.hasClass('repo_switcher','loaded');
348 348 if(!loaded){
349 349 YUD.addClass('repo_switcher','loaded');
350 350 ypjax("${h.url('repo_switcher')}",'repo_switcher_list',
351 351 function(o){qfilter_activate();YUD.get(target).focus()},
352 352 function(o){YUD.removeClass('repo_switcher','loaded');}
353 353 ,null);
354 354 }else{
355 355 YUD.get(target).focus();
356 356 }
357 357 return false;
358 358 });
359 359 </script>
360 360 </%def>
General Comments 0
You need to be logged in to leave comments. Login now