##// END OF EJS Templates
implemented usergroup permissions checks....
implemented usergroup permissions checks. - each user who has now explicit or inherited permissions can create usersgrous - user is automatically an admin of that usergroup, and can manage it

File last commit:

r3714:7e3d89d9 beta
r3737:46b17730 beta
Show More
base.html
341 lines | 13.5 KiB | text/html | HtmlLexer
renamed project to rhodecode
r547 ## -*- coding: utf-8 -*-
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <%inherit file="root.html"/>
<!-- HEADER -->
Mads Kiilerich
header: don't use fixed position...
r3299 <div id="header-dd"></div>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <div id="header">
Mads Kiilerich
header: don't use fixed position...
r3299 <div id="header-inner" class="title">
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <div id="logo">
<h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
</div>
<!-- MENU -->
${self.page_nav()}
<!-- END MENU -->
${self.body()}
</div>
White-space cleanup
r1888 </div>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <!-- END HEADER -->
White-space cleanup
r1888
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <!-- CONTENT -->
White-space cleanup
r1888 <div id="content">
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <div class="flash_msg">
<% messages = h.flash.pop_messages() %>
% if messages:
<ul id="flash-messages">
% for message in messages:
<li class="${message.category}_msg">${message}</li>
% endfor
renamed project to rhodecode
r547 </ul>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 % endif
White-space cleanup
r1888 </div>
<div id="main">
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 ${next.main()}
</div>
White-space cleanup
r1888 </div>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <!-- END CONTENT -->
renamed project to rhodecode
r547
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <!-- FOOTER -->
<div id="footer">
beatify !
r1470 <div id="footer-inner" class="title">
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <div>
<p class="footer-link">
<a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
</p>
Mads Kiilerich
html: don't use tabs
r3197 <p class="footer-link-right">
update footer instance id and copyrights
r3667 <a href="${h.url('rhodecode_official')}">RhodeCode ${c.rhodecode_version}</a>
moved the instance id after version, beeing at the end looks odd, and confusing.
r3689 ${'(%s)' % c.rhodecode_instanceid if c.rhodecode_instanceid else ''}
update footer instance id and copyrights
r3667 &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski and others
Mads Kiilerich
html: don't use tabs
r3197 </p>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 </div>
</div>
</div>
update footer instance id and copyrights
r3667
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 <!-- END FOOTER -->
renamed project to rhodecode
r547
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157 ### MAKO DEFS ###
<%def name="breadcrumbs()">
<div class="breadcrumbs">
${self.breadcrumbs_links()}
</div>
renamed project to rhodecode
r547 </%def>
Mads Kiilerich
templates: enforce more consistency by being less flexible in templates...
r3609 <%def name="context_bar(current)">
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 ${repo_context_bar(current)}
</%def>
leonardo
Addding context bar to more repo related pages....
r3529 <%def name="admin_menu()">
<ul class="admin_menu">
Mads Kiilerich
Fix a lot of casings - use standard casing in most places
r3654 <li>${h.link_to(_('Admin journal'),h.url('admin_home'),class_='journal ')}</li>
<li>${h.link_to(_('Repositories'),h.url('repos'),class_='repos')}</li>
<li>${h.link_to(_('Repository groups'),h.url('repos_groups'),class_='repos_groups')}</li>
<li>${h.link_to(_('Users'),h.url('users'),class_='users')}</li>
<li>${h.link_to(_('User groups'),h.url('users_groups'),class_='groups')}</li>
<li>${h.link_to(_('Permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li>
<li>${h.link_to(_('LDAP'),h.url('ldap_home'),class_='ldap')}</li>
<li>${h.link_to(_('Defaults'),h.url('defaults'),class_='defaults')}</li>
<li class="last">${h.link_to(_('Settings'),h.url('admin_settings'),class_='settings')}</li>
leonardo
Addding context bar to more repo related pages....
r3529 </ul>
</%def>
- Manage User’s Groups: create, delete, rename, add/remove users inside....
r3714 <%def name="admin_menu_simple(repository_groups=None, user_groups=None)">
leonardo
Addding context bar to more repo related pages....
r3529 <ul>
- Manage User’s Groups: create, delete, rename, add/remove users inside....
r3714 %if repository_groups:
Mads Kiilerich
Fix a lot of casings - use standard casing in most places
r3654 <li>${h.link_to(_('Repository groups'),h.url('repos_groups'),class_='repos_groups')}</li>
- Manage User’s Groups: create, delete, rename, add/remove users inside....
r3714 %endif:
%if user_groups:
<li>${h.link_to(_('User groups'),h.url('users_groups'),class_='groups')}</li>
%endif
leonardo
Addding context bar to more repo related pages....
r3529 </ul>
</%def>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 <%def name="repo_context_bar(current=None)">
<%
def follow_class():
if c.repository_following:
return h.literal('following')
else:
Mads Kiilerich
move repo actions from their own menu line to Options menu
r3611 return h.literal('follow')
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 %>
<%
def is_current(selected):
if selected == current:
return h.literal('class="current"')
%>
<!--- CONTEXT BAR -->
<div id="context-bar" class="box">
Leonardo
Fixing missing icons....
r3532 <div id="breadcrumbs">
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 ${h.link_to(_(u'Repositories'),h.url('home'))}
Mads Kiilerich
breadcrumbs: make repo names link to summary pages
r3599 &raquo;
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 ${h.repo_link(c.rhodecode_db_repo.groups_and_repo)}
</div>
<ul id="context-pages" class="horizontal-list">
<li ${is_current('summary')}><a href="${h.url('summary_home', repo_name=c.repo_name)}" class="summary">${_('Summary')}</a></li>
Leonardo
Fixing typo
r3534 <li ${is_current('changelog')}><a href="${h.url('changelog_home', repo_name=c.repo_name)}" class="changelogs">${_('Changelog')}</a></li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 <li ${is_current('files')}><a href="${h.url('files_home', repo_name=c.repo_name)}" class="files"></span>${_('Files')}</a></li>
leonardo
Addding context bar to more repo related pages....
r3529 <li ${is_current('switch-to')}>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 <a href="#" id="branch_tag_switcher_2" class="dropdown switch-to"></span>${_('Switch To')}</a>
<ul id="switch_to_list_2" class="switch_to submenu">
<li><a href="#">${_('loading...')}</a></li>
</ul>
</li>
Leonardo Carneiro
Style clean up, and comments removal.
r3539 <li ${is_current('options')}>
Takumi IINO
i18n context bar
r3586 <a href="#" class="dropdown options"></span>${_('Options')}</a>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 <ul>
%if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <li>${h.link_to(_('Settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 %endif
%if c.rhodecode_db_repo.fork:
use merge param in compare link for it to work as expected
r3613 <li>${h.link_to(_('Compare fork'),h.url('compare_url',repo_name=c.rhodecode_db_repo.fork.repo_name,org_ref_type='branch',org_ref='default',other_repo=c.repo_name,other_ref_type='branch',other_ref=request.GET.get('branch') or 'default', merge=1),class_='compare_request')}</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 %endif
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <li>${h.link_to(_('Lightweight changelog'),h.url('shortlog_home',repo_name=c.repo_name),class_='shortlog')}</li>
<li>${h.link_to(_('Search'),h.url('search_repo',repo_name=c.repo_name),class_='search')}</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527
%if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
%if c.rhodecode_db_repo.locked[0]:
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <li>${h.link_to(_('Unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 %else:
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <li>${h.link_to(_('Lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 %endif
%endif
added super simple cache_key paster function for showing and cleaning cache keys
r3616 ## TODO: this check feels wrong, it would be better to have a check for permissions
## also it feels like a job for the controller
%if c.rhodecode_user.username != 'default':
<li>
<a class="${follow_class()}" onclick="javascript:toggleFollowingRepo(this,${c.rhodecode_db_repo.repo_id},'${str(h.get_token())}');">
<span class="show-follow">${_('Follow')}</span>
<span class="show-following">${_('Unfollow')}</span>
</a>
</li>
<li><a href="${h.url('repo_fork_home',repo_name=c.repo_name)}" class="fork">${_('Fork')}</a></li>
%if h.is_hg(c.rhodecode_repo):
<li><a href="${h.url('pullrequest_home',repo_name=c.repo_name)}" class="pull-request">${_('Create Pull Request')}</a></li>
%endif
%endif
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 </ul>
</li>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <li ${is_current('showpullrequest')}>
show forks in contextbar
r3581 <a href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}" title="${_('Show Pull Requests')}" class="pull-request">${_('Pull Requests')}
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 %if c.repository_pull_requests:
<span>${c.repository_pull_requests}</span>
%endif
</a>
</li>
Leonardo
Adding the context bar too all pages related to a Repository....
r3527 </ul>
</div>
<script type="text/javascript">
YUE.on('branch_tag_switcher_2','mouseover',function(){
var loaded = YUD.hasClass('branch_tag_switcher_2','loaded');
if(!loaded){
YUD.addClass('branch_tag_switcher_2','loaded');
ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list_2',
function(o){},
function(o){YUD.removeClass('branch_tag_switcher_2','loaded');}
,null);
}
return false;
});
</script>
<!--- END CONTEXT BAR -->
</%def>
removed upper menu to save space and did little rip off menu similar to G+
r1926 <%def name="usermenu()">
Mads Kiilerich
top menu: show user menu when hovering instead of using js - like other menus
r3206 ## USER MENU
Mads Kiilerich
top menu: show user menu as a menu option like others, now also with login name...
r3205 <li>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link childs" id="quick_login_link">
<span class="icon">
make gravatar icon little bit bigger, re-use same img src like on other menu items,...
r3207 <img src="${h.gravatar_url(c.rhodecode_user.email,20)}" alt="avatar">
</span>
%if c.rhodecode_user.username != 'default':
<span class="menu_link_user">${c.rhodecode_user.username}</span>
%if c.unread_notifications != 0:
<span class="menu_link_notifications">${c.unread_notifications}</span>
%endif
%else:
<span>${_('Not logged in')}</span>
%endif
</a>
Mads Kiilerich
top menu: show user menu as a menu option like others, now also with login name...
r3205
removed upper menu to save space and did little rip off menu similar to G+
r1926 <div class="user-menu">
Mads Kiilerich
top menu: show user menu when hovering instead of using js - like other menus
r3206 <div id="quick_login">
removed upper menu to save space and did little rip off menu similar to G+
r1926 %if c.rhodecode_user.username == 'default':
<h4>${_('Login to your account')}</h4>
${h.form(h.url('login_home',came_from=h.url.current()))}
<div class="form">
<div class="fields">
<div class="field">
<div class="label">
<label for="username">${_('Username')}:</label>
</div>
<div class="input">
fixed login input sizes
r3422 ${h.text('username',class_='focus')}
removed upper menu to save space and did little rip off menu similar to G+
r1926 </div>
white space cleanup
r1944
removed upper menu to save space and did little rip off menu similar to G+
r1926 </div>
<div class="field">
<div class="label">
<label for="password">${_('Password')}:</label>
</div>
<div class="input">
fixed login input sizes
r3422 ${h.password('password',class_='focus')}
removed upper menu to save space and did little rip off menu similar to G+
r1926 </div>
white space cleanup
r1944
removed upper menu to save space and did little rip off menu similar to G+
r1926 </div>
<div class="buttons">
<div class="password_forgoten">${h.link_to(_('Forgot password ?'),h.url('reset_password'))}</div>
<div class="register">
%if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
${h.link_to(_("Don't have an account ?"),h.url('register'))}
%endif
</div>
<div class="submit">
user menu fixes
r1935 ${h.submit('sign_in',_('Log In'),class_="ui-btn xsmall")}
removed upper menu to save space and did little rip off menu similar to G+
r1926 </div>
</div>
</div>
</div>
${h.end_form()}
%else:
<div class="links_left">
usermenu...
r3658 <div class="big_gravatar"><img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,48)}" /></div>
#344 optional firstname lastname on user creation...
r1950 <div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
removed upper menu to save space and did little rip off menu similar to G+
r1926 <div class="email">${c.rhodecode_user.email}</div>
</div>
<div class="links_right">
<ol class="links">
usermenu...
r3658 <li><a href="${h.url('notifications')}">${_('Notifications')}: ${c.unread_notifications}</a></li>
removed upper menu to save space and did little rip off menu similar to G+
r1926 <li>${h.link_to(_(u'My account'),h.url('admin_settings_my_account'))}</li>
<li class="logout">${h.link_to(_(u'Log Out'),h.url('logout_home'))}</li>
</ol>
</div>
%endif
white space cleanup
r1944 </div>
Mads Kiilerich
top menu: show user menu when hovering instead of using js - like other menus
r3206 </div>
</li>
removed upper menu to save space and did little rip off menu similar to G+
r1926 </%def>
rewrote templates, all small pages will inherit from root for easier changes and controll
r1157
renamed project to rhodecode
r547 <%def name="menu(current=None)">
Mads Kiilerich
html: don't use tabs
r3197 <%
def is_current(selected):
if selected == current:
return h.literal('class="current"')
%>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <ul id="quick" class="horizontal-list">
Implements #734 repo switcher should be available in all views
r3209 <!-- repo switcher -->
Mads Kiilerich
use valid options for the top menu: repositories, journal, search and admin
r3603 <li ${is_current('repositories')}>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link repo_switcher childs" id="repo_switcher" title="${_('Switch repository')}" href="${h.url('home')}">
${_('Repositories')}
Implements #734 repo switcher should be available in all views
r3209 </a>
<ul id="repo_switcher_list" class="repo_switcher">
<li>
<a href="#">${_('loading...')}</a>
</li>
</ul>
</li>
leonardo
Addding context bar to more repo related pages....
r3529 ##ROOT MENU
%if c.rhodecode_user.username != 'default':
<li ${is_current('journal')}>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link journal" title="${_('Show recent activity')}" href="${h.url('journal')}">
${_('Journal')}
leonardo
Addding context bar to more repo related pages....
r3529 </a>
Implements #734 repo switcher should be available in all views
r3209 </li>
leonardo
Addding context bar to more repo related pages....
r3529 %else:
<li ${is_current('journal')}>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link journal" title="${_('Public journal')}" href="${h.url('public_journal')}">
${_('Public journal')}
leonardo
Addding context bar to more repo related pages....
r3529 </a>
Implements #734 repo switcher should be available in all views
r3209 </li>
leonardo
Addding context bar to more repo related pages....
r3529 %endif
<li ${is_current('search')}>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link search" title="${_('Search in repositories')}" href="${h.url('search')}">
${_('Search')}
leonardo
Addding context bar to more repo related pages....
r3529 </a>
</li>
% if h.HasPermissionAll('hg.admin')('access admin main page'):
<li ${is_current('admin')}>
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 <a class="menu_link admin childs" title="${_('Admin')}" href="${h.url('admin_home')}">
${_('Admin')}
leonardo
Addding context bar to more repo related pages....
r3529 </a>
${admin_menu()}
Implements #734 repo switcher should be available in all views
r3209 </li>
- Manage User’s Groups: create, delete, rename, add/remove users inside....
r3714 % elif c.rhodecode_user.repository_groups_admin or c.rhodecode_user.user_groups_admin:
leonardo
Addding context bar to more repo related pages....
r3529 <li ${is_current('admin')}>
fixed dead links for non-admin users
r3660 <a class="menu_link admin childs" title="${_('Admin')}">
Leonardo Carneiro
Tweaks to Changelog and Summary view, removing excess information, and improving layout.
r3538 ${_('Admin')}
leonardo
Addding context bar to more repo related pages....
r3529 </a>
- Manage User’s Groups: create, delete, rename, add/remove users inside....
r3714 ${admin_menu_simple(c.rhodecode_user.repository_groups_admin, c.rhodecode_user.user_groups_admin)}
leonardo
Addding context bar to more repo related pages....
r3529 </li>
% endif
${usermenu()}
autofocus when quick repo switcher is on
r3211 <script type="text/javascript">
YUE.on('repo_switcher','mouseover',function(){
var target = 'q_filter_rs';
var qfilter_activate = function(){
var nodes = YUQ('ul#repo_switcher_list li a.repo_name');
var func = function(node){
return node.parentNode;
}
q_filter(target,nodes,func);
}
whitespace cleanup
r3216
autofocus when quick repo switcher is on
r3211 var loaded = YUD.hasClass('repo_switcher','loaded');
if(!loaded){
YUD.addClass('repo_switcher','loaded');
ypjax("${h.url('repo_switcher')}",'repo_switcher_list',
function(o){qfilter_activate();YUD.get(target).focus()},
function(o){YUD.removeClass('repo_switcher','loaded');}
,null);
}else{
Mads Kiilerich
coding style: fix trailing and leading spaces and tabs
r3267 YUD.get(target).focus();
autofocus when quick repo switcher is on
r3211 }
return false;
Implements #734 repo switcher should be available in all views
r3209 });
Mads Kiilerich
header: don't use fixed position...
r3299
YUE.on('header-dd', 'click',function(e){
whitespace cleanup
r3315 YUD.addClass('header-inner', 'hover');
drop down hover menu now fixes whole page padding
r3341 YUD.addClass('content', 'hover');
Mads Kiilerich
header: don't use fixed position...
r3299 });
autofocus when quick repo switcher is on
r3211 </script>
Augusto Herrmann
Added pt_BR localization, added i18n wrappers on some places missing, fixed css in settings screen for longer labels.
r1472 </%def>