base.html
391 lines
| 16.3 KiB
| text/html
|
HtmlLexer
r547 | ## -*- coding: utf-8 -*- | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml"> | |||
<head> | |||
<title>${next.title()}</title> | |||
r682 | <link rel="icon" href="/images/icons/database_gear.png" type="image/png" /> | ||
r547 | <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> | ||
<meta name="robots" content="index, nofollow"/> | |||
<!-- stylesheets --> | |||
${self.css()} | |||
<!-- scripts --> | |||
${self.js()} | |||
r890 | %if c.ga_code: | ||
<script type="text/javascript"> | |||
var _gaq = _gaq || []; | |||
_gaq.push(['_setAccount', '${c.ga_code}']); | |||
_gaq.push(['_trackPageview']); | |||
(function() { | |||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |||
})(); | |||
</script> | |||
%endif | |||
r547 | </head> | ||
<body> | |||
<!-- header --> | |||
<div id="header"> | |||
<!-- user --> | |||
<ul id="logged-user"> | |||
r778 | <li class="first"> | ||
<div class="gravatar"> | |||
r784 | <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,20)}" /> | ||
r778 | </div> | ||
<div class="account"> | |||
r784 | %if c.rhodecode_user.username == 'default': | ||
r793 | %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')(): | ||
${h.link_to('anonymous',h.url('register'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))} | |||
%else: | |||
${h.link_to('anonymous',h.url('#'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))} | |||
%endif | |||
r784 | %else: | ||
r786 | ${h.link_to(c.rhodecode_user.username,h.url('admin_settings_my_account'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))} | ||
r784 | %endif | ||
r778 | </div> | ||
</li> | |||
r784 | <li> | ||
<a href="${h.url('home')}">${_('Home')}</a> | |||
</li> | |||
r793 | %if c.rhodecode_user.username != 'default': | ||
r784 | <li> | ||
<a href="${h.url('journal')}">${_('Journal')}</a> | |||
##(${c.unread_journal})</a> | |||
r786 | </li> | ||
r793 | %endif | ||
r784 | %if c.rhodecode_user.username == 'default': | ||
<li class="last highlight">${h.link_to(u'Login',h.url('login_home'))}</li> | |||
r786 | %else: | ||
r784 | <li class="last highlight">${h.link_to(u'Log Out',h.url('logout_home'))}</li> | ||
r786 | %endif | ||
r547 | </ul> | ||
<!-- end user --> | |||
r611 | <div id="header-inner" class="title top-left-rounded-corner top-right-rounded-corner"> | ||
r547 | <!-- logo --> | ||
<div id="logo"> | |||
r636 | <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1> | ||
r547 | </div> | ||
<!-- end logo --> | |||
r611 | <!-- menu --> | ||
r547 | ${self.page_nav()} | ||
r611 | <!-- quick --> | ||
r547 | </div> | ||
</div> | |||
<!-- end header --> | |||
<!-- CONTENT --> | |||
<div id="content"> | |||
<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 | |||
</ul> | |||
% endif | |||
</div> | |||
<div id="main"> | |||
${next.main()} | |||
</div> | |||
</div> | |||
<!-- END CONTENT --> | |||
<!-- footer --> | |||
<div id="footer"> | |||
r611 | <div id="footer-inner" class="title bottom-left-rounded-corner bottom-right-rounded-corner"> | ||
r626 | <div> | ||
<p class="footer-link">${h.link_to(_('Submit a bug'),h.url('bugtracker'))}</p> | |||
<p class="footer-link">${h.link_to(_('GPL license'),h.url('gpl_license'))}</p> | |||
r1015 | <p>RhodeCode ${c.rhodecode_version} © 2010-2011 by Marcin Kuzminski</p> | ||
r626 | </div> | ||
r611 | </div> | ||
r995 | <script type="text/javascript"> | ||
function tooltip_activate(){ | |||
${h.tooltip.activate()} | |||
} | |||
tooltip_activate(); | |||
</script> | |||
r547 | </div> | ||
<!-- end footer --> | |||
</body> | |||
</html> | |||
### MAKO DEFS ### | |||
<%def name="page_nav()"> | |||
${self.menu()} | |||
</%def> | |||
<%def name="menu(current=None)"> | |||
<% | |||
def is_current(selected): | |||
if selected == current: | |||
return h.literal('class="current"') | |||
%> | |||
%if current not in ['home','admin']: | |||
##REGULAR MENU | |||
<ul id="quick"> | |||
<!-- repo switcher --> | |||
<li> | |||
<a id="repo_switcher" title="${_('Switch repository')}" href="#"> | |||
<span class="icon"> | |||
<img src="/images/icons/database.png" alt="${_('Products')}" /> | |||
</span> | |||
<span>↓</span> | |||
</a> | |||
<ul class="repo_switcher"> | |||
r665 | %for repo in c.cached_repo_list: | ||
%if repo['repo'].dbrepo.private: | |||
r694 | <li><img src="/images/icons/lock.png" alt="${_('Private repository')}" class="repo_switcher_type"/>${h.link_to(repo['repo'].name,h.url('summary_home',repo_name=repo['repo'].name),class_="%s" % repo['repo'].dbrepo.repo_type)}</li> | ||
r547 | %else: | ||
r694 | <li><img src="/images/icons/lock_open.png" alt="${_('Public repository')}" class="repo_switcher_type" />${h.link_to(repo['repo'].name,h.url('summary_home',repo_name=repo['repo'].name),class_="%s" % repo['repo'].dbrepo.repo_type)}</li> | ||
r547 | %endif | ||
%endfor | |||
</ul> | |||
</li> | |||
<li ${is_current('summary')}> | |||
<a title="${_('Summary')}" href="${h.url('summary_home',repo_name=c.repo_name)}"> | |||
<span class="icon"> | |||
<img src="/images/icons/clipboard_16.png" alt="${_('Summary')}" /> | |||
</span> | |||
<span>${_('Summary')}</span> | |||
</a> | |||
</li> | |||
r637 | ##<li ${is_current('shortlog')}> | ||
## <a title="${_('Shortlog')}" href="${h.url('shortlog_home',repo_name=c.repo_name)}"> | |||
## <span class="icon"> | |||
## <img src="/images/icons/application_view_list.png" alt="${_('Shortlog')}" /> | |||
## </span> | |||
## <span>${_('Shortlog')}</span> | |||
## </a> | |||
##</li> | |||
r547 | <li ${is_current('changelog')}> | ||
<a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=c.repo_name)}"> | |||
<span class="icon"> | |||
<img src="/images/icons/time.png" alt="${_('Changelog')}" /> | |||
</span> | |||
<span>${_('Changelog')}</span> | |||
</a> | |||
</li> | |||
<li ${is_current('switch_to')}> | |||
<a title="${_('Switch to')}" href="#"> | |||
<span class="icon"> | |||
<img src="/images/icons/arrow_switch.png" alt="${_('Switch to')}" /> | |||
</span> | |||
<span>${_('Switch to')}</span> | |||
</a> | |||
<ul> | |||
<li> | |||
r637 | ${h.link_to('%s (%s)' % (_('branches'),len(c.repository_branches.values()),),h.url('branches_home',repo_name=c.repo_name),class_='branches childs')} | ||
r547 | <ul> | ||
%if c.repository_branches.values(): | |||
%for cnt,branch in enumerate(c.repository_branches.items()): | |||
r636 | <li>${h.link_to('%s - %s' % (branch[0],h.short_id(branch[1])),h.url('files_home',repo_name=c.repo_name,revision=branch[1]))}</li> | ||
r547 | %endfor | ||
%else: | |||
<li>${h.link_to(_('There are no branches yet'),'#')}</li> | |||
%endif | |||
</ul> | |||
</li> | |||
<li> | |||
r637 | ${h.link_to('%s (%s)' % (_('tags'),len(c.repository_tags.values()),),h.url('tags_home',repo_name=c.repo_name),class_='tags childs')} | ||
r547 | <ul> | ||
%if c.repository_tags.values(): | |||
%for cnt,tag in enumerate(c.repository_tags.items()): | |||
r636 | <li>${h.link_to('%s - %s' % (tag[0],h.short_id(tag[1])),h.url('files_home',repo_name=c.repo_name,revision=tag[1]))}</li> | ||
r547 | %endfor | ||
%else: | |||
<li>${h.link_to(_('There are no tags yet'),'#')}</li> | |||
%endif | |||
</ul> | |||
</li> | |||
</ul> | |||
</li> | |||
<li ${is_current('files')}> | |||
<a title="${_('Files')}" href="${h.url('files_home',repo_name=c.repo_name)}"> | |||
<span class="icon"> | |||
<img src="/images/icons/file.png" alt="${_('Files')}" /> | |||
</span> | |||
<span>${_('Files')}</span> | |||
</a> | |||
</li> | |||
<li ${is_current('options')}> | |||
<a title="${_('Options')}" href="#"> | |||
<span class="icon"> | |||
<img src="/images/icons/table_gear.png" alt="${_('Admin')}" /> | |||
</span> | |||
<span>${_('Options')}</span> | |||
</a> | |||
<ul> | |||
%if h.HasRepoPermissionAll('repository.admin')(c.repo_name): | |||
r917 | %if h.HasPermissionAll('hg.admin')('access settings on repository'): | ||
r916 | <li>${h.link_to(_('settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li> | ||
%else: | |||
<li>${h.link_to(_('settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li> | |||
%endif | |||
r547 | <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li> | ||
r768 | %endif | ||
r547 | <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li> | ||
r613 | |||
%if h.HasPermissionAll('hg.admin')('access admin main page'): | |||
<li> | |||
${h.link_to(_('admin'),h.url('admin_home'),class_='admin')} | |||
r769 | <%def name="admin_menu()"> | ||
r613 | <ul> | ||
<li>${h.link_to(_('journal'),h.url('admin_home'),class_='journal')}</li> | |||
<li>${h.link_to(_('repositories'),h.url('repos'),class_='repos')}</li> | |||
<li>${h.link_to(_('users'),h.url('users'),class_='users')}</li> | |||
r956 | <li>${h.link_to(_('users groups'),h.url('users_groups'),class_='groups')}</li> | ||
r613 | <li>${h.link_to(_('permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li> | ||
r769 | <li>${h.link_to(_('ldap'),h.url('ldap_home'),class_='ldap')}</li> | ||
r613 | <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li> | ||
</ul> | |||
r769 | </%def> | ||
${admin_menu()} | |||
r613 | </li> | ||
r747 | %endif | ||
r613 | |||
r547 | </ul> | ||
</li> | |||
r747 | |||
<li> | |||
<a title="${_('Followers')}" href="#"> | |||
<span class="icon_short"> | |||
<img src="/images/icons/heart.png" alt="${_('Followers')}" /> | |||
</span> | |||
<span class="short">${c.repository_followers}</span> | |||
</a> | |||
</li> | |||
<li> | |||
<a title="${_('Forks')}" href="#"> | |||
<span class="icon_short"> | |||
<img src="/images/icons/arrow_divide.png" alt="${_('Forks')}" /> | |||
</span> | |||
<span class="short">${c.repository_forks}</span> | |||
</a> | |||
</li> | |||
r547 | </ul> | ||
%else: | |||
##ROOT MENU | |||
<ul id="quick"> | |||
<li> | |||
r636 | <a title="${_('Home')}" href="${h.url('home')}"> | ||
r547 | <span class="icon"> | ||
<img src="/images/icons/home_16.png" alt="${_('Home')}" /> | |||
</span> | |||
<span>${_('Home')}</span> | |||
</a> | |||
</li> | |||
r793 | %if c.rhodecode_user.username != 'default': | ||
r547 | <li> | ||
r734 | <a title="${_('Journal')}" href="${h.url('journal')}"> | ||
<span class="icon"> | |||
<img src="/images/icons/book.png" alt="${_('Journal')}" /> | |||
</span> | |||
<span>${_('Journal')}</span> | |||
</a> | |||
</li> | |||
r793 | %endif | ||
r734 | <li> | ||
r547 | <a title="${_('Search')}" href="${h.url('search')}"> | ||
<span class="icon"> | |||
<img src="/images/icons/search_16.png" alt="${_('Search')}" /> | |||
</span> | |||
<span>${_('Search')}</span> | |||
</a> | |||
</li> | |||
%if h.HasPermissionAll('hg.admin')('access admin main page'): | |||
<li ${is_current('admin')}> | |||
<a title="${_('Admin')}" href="${h.url('admin_home')}"> | |||
<span class="icon"> | |||
<img src="/images/icons/cog_edit.png" alt="${_('Admin')}" /> | |||
</span> | |||
<span>${_('Admin')}</span> | |||
r769 | </a> | ||
${admin_menu()} | |||
r547 | </li> | ||
%endif | |||
</ul> | |||
%endif | |||
</%def> | |||
<%def name="css()"> | |||
<link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" /> | |||
<link rel="stylesheet" type="text/css" href="/css/pygments.css" /> | |||
<link rel="stylesheet" type="text/css" href="/css/diff.css" /> | |||
</%def> | |||
<%def name="js()"> | |||
##<script type="text/javascript" src="/js/yui/utilities/utilities.js"></script> | |||
##<script type="text/javascript" src="/js/yui/container/container.js"></script> | |||
##<script type="text/javascript" src="/js/yui/datasource/datasource.js"></script> | |||
##<script type="text/javascript" src="/js/yui/autocomplete/autocomplete.js"></script> | |||
r646 | ##<script type="text/javascript" src="/js/yui/selector/selector-min.js"></script> | ||
r547 | |||
r677 | <script type="text/javascript" src="/js/yui2a.js"></script> | ||
r547 | <!--[if IE]><script language="javascript" type="text/javascript" src="/js/excanvas.min.js"></script><![endif]--> | ||
<script type="text/javascript" src="/js/yui.flot.js"></script> | |||
r734 | |||
<script type="text/javascript"> | |||
var base_url ='/_admin/toggle_following'; | |||
var YUC = YAHOO.util.Connect; | |||
var YUD = YAHOO.util.Dom; | |||
r763 | var YUE = YAHOO.util.Event; | ||
r734 | |||
r999 | function onSuccess(target){ | ||
r734 | |||
r999 | var f = YUD.get(target.id); | ||
r734 | if(f.getAttribute('class')=='follow'){ | ||
f.setAttribute('class','following'); | |||
f.setAttribute('title',"${_('Stop following this repository')}"); | |||
} | |||
else{ | |||
f.setAttribute('class','follow'); | |||
f.setAttribute('title',"${_('Start following this repository')}"); | |||
} | |||
} | |||
function toggleFollowingUser(fallows_user_id,token){ | |||
args = 'follows_user_id='+fallows_user_id; | |||
r905 | args+= '&auth_token='+token; | ||
r734 | YUC.asyncRequest('POST',base_url,{ | ||
success:function(o){ | |||
onSuccess(); | |||
} | |||
},args); return false; | |||
} | |||
r999 | function toggleFollowingRepo(target,fallows_repo_id,token){ | ||
r734 | args = 'follows_repo_id='+fallows_repo_id; | ||
r905 | args+= '&auth_token='+token; | ||
r734 | YUC.asyncRequest('POST',base_url,{ | ||
success:function(o){ | |||
r999 | onSuccess(target); | ||
r734 | } | ||
},args); return false; | |||
} | |||
</script> | |||
r547 | </%def> | ||
<%def name="breadcrumbs()"> | |||
<div class="breadcrumbs"> | |||
${self.breadcrumbs_links()} | |||
</div> | |||
</%def> |