Mercurial > kallithea
diff rhodecode/templates/base/base.html @ 1512:bf263968da47
merge beta in stable branch
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 07 Oct 2011 01:08:50 +0200 |
parents | 0dc8d578ff49 6ebb165c3942 |
children | 82a88013a3fd |
line wrap: on
line diff
--- a/rhodecode/templates/base/base.html Thu May 12 19:50:48 2011 +0200 +++ b/rhodecode/templates/base/base.html Fri Oct 07 01:08:50 2011 +0200 @@ -1,113 +1,132 @@ ## -*- 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"> -<head> - <title>${next.title()}</title> - <link rel="icon" href="${h.url('/images/icons/database_gear.png')}" type="image/png" /> - <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> - <meta name="robots" content="index, nofollow"/> - <!-- stylesheets --> - ${self.css()} - <!-- scripts --> - ${self.js()} -</head> -<body> - <!-- header --> - <div id="header"> - <!-- user --> - <ul id="logged-user"> - <li class="first"> - <div class="gravatar"> - <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,20)}" /> - </div> - <div class="account"> - %if c.rhodecode_user.username == 'default': - %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 - - %else: - ${h.link_to(c.rhodecode_user.username,h.url('admin_settings_my_account'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))} - %endif - </div> - </li> - <li> - <a href="${h.url('home')}">${_('Home')}</a> - </li> - %if c.rhodecode_user.username != 'default': - <li> - <a href="${h.url('journal')}">${_('Journal')}</a> - ##(${c.unread_journal})</a> - </li> - %endif - %if c.rhodecode_user.username == 'default': - <li class="last highlight">${h.link_to(u'Login',h.url('login_home'))}</li> - %else: - <li class="last highlight">${h.link_to(u'Log Out',h.url('logout_home'))}</li> - %endif +<%inherit file="root.html"/> + +<!-- HEADER --> +<div id="header"> + <!-- user --> + <ul id="logged-user"> + <li class="first"> + <div id="quick_login" style="display:none"> + ${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"> + ${h.text('username',class_='focus',size=40)} + </div> + + </div> + <div class="field"> + <div class="label"> + <label for="password">${_('Password')}:</label> + </div> + <div class="input"> + ${h.password('password',class_='focus',size=40)} + </div> + + </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> + ${h.submit('sign_in',_('Sign In'),class_="ui-button")} + </div> + </div> + </div> + ${h.end_form()} + </div> + + <div class="gravatar"> + <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,20)}" /> + </div> + <div class="account"> + %if c.rhodecode_user.username == 'default': + <a href="${h.url('public_journal')}">${_('Public journal')}</a> + %else: + ${h.link_to(c.rhodecode_user.username,h.url('admin_settings_my_account'),title='%s %s'%(c.rhodecode_user.name,c.rhodecode_user.lastname))} + %endif + </div> + </li> + <li> + <a href="${h.url('home')}">${_('Home')}</a> + </li> + %if c.rhodecode_user.username != 'default': + <li> + <a href="${h.url('journal')}">${_('Journal')}</a> + ##(${c.unread_journal} + </li> + %endif + %if c.rhodecode_user.username == 'default': + <li class="last highlight">${h.link_to(_(u'Login'),h.url('login_home'),id='quick_login_link')}</li> + %else: + <li class="last highlight">${h.link_to(_(u'Log Out'),h.url('logout_home'))}</li> + %endif + </ul> + <!-- end user --> + <div id="header-inner" class="title"> + <div id="logo"> + <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1> + </div> + <!-- MENU --> + ${self.page_nav()} + <!-- END MENU --> + ${self.body()} + </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> - <!-- end user --> - <div id="header-inner" class="title top-left-rounded-corner top-right-rounded-corner"> - <!-- logo --> - <div id="logo"> - <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1> - </div> - <!-- end logo --> - <!-- menu --> - ${self.page_nav()} - <!-- quick --> - </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 --> + % endif + </div> + <div id="main"> + ${next.main()} + </div> +</div> +<!-- END CONTENT --> - <!-- footer --> - <div id="footer"> - <div id="footer-inner" class="title bottom-left-rounded-corner bottom-right-rounded-corner"> - <div> - <p class="footer-link">${h.link_to(_('Submit a bug'),h.url('bugtracker'))}</p> - <p class="footer-link-right"> - <a href="${h.url('rhodecode_official')}">RhodeCode</a> - ${c.rhodecode_version} © 2010-${h.datetime.today().year} by Marcin Kuzminski - </p> - </div> - </div> - <script type="text/javascript"> - function tooltip_activate(){ - ${h.tooltip.activate()} - } - tooltip_activate(); - </script> - </div> - <!-- end footer --> -</body> +<!-- FOOTER --> +<div id="footer"> + <div id="footer-inner" class="title"> + <div> + <p class="footer-link"> + <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a> + </p> + <p class="footer-link-right"> + <a href="${h.url('rhodecode_official')}">RhodeCode</a> + ${c.rhodecode_version} © 2010-${h.datetime.today().year} by Marcin Kuzminski + </p> + </div> + </div> +</div> +<!-- END FOOTER --> -</html> +### MAKO DEFS ### +<%def name="page_nav()"> + ${self.menu()} +</%def> -### MAKO DEFS ### -<%def name="page_nav()"> - ${self.menu()} +<%def name="breadcrumbs()"> + <div class="breadcrumbs"> + ${self.breadcrumbs_links()} + </div> </%def> + <%def name="menu(current=None)"> <% def is_current(selected): @@ -121,26 +140,75 @@ <li> <a id="repo_switcher" title="${_('Switch repository')}" href="#"> <span class="icon"> - <img src="${h.url("/images/icons/database.png")}" alt="${_('Products')}" /> + <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" /> </span> <span>↓</span> </a> - <ul class="repo_switcher"> - %for repo in c.cached_repo_list: - - %if repo['repo'].dbrepo.private: - <li><img src="${h.url("/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> - %else: - <li><img src="${h.url("/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> - %endif - %endfor - </ul> + <ul id="repo_switcher_list" class="repo_switcher"> + <li> + <a href="#">${_('loading...')}</a> + </li> + </ul> + <script type="text/javascript"> + YUE.on('repo_switcher','mouseover',function(){ + function qfilter(){ + var S = YAHOO.util.Selector; + + var q_filter = YUD.get('q_filter_rs'); + var F = YAHOO.namespace('q_filter_rs'); + + YUE.on(q_filter,'click',function(){ + q_filter.value = ''; + }); + + F.filterTimeout = null; + + F.updateFilter = function() { + // Reset timeout + F.filterTimeout = null; + + var obsolete = []; + var nodes = S.query('ul#repo_switcher_list li a.repo_name'); + var req = YUD.get('q_filter_rs').value; + for (n in nodes){ + YUD.setStyle(nodes[n].parentNode,'display','') + } + if (req){ + for (n in nodes){ + if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) { + obsolete.push(nodes[n]); + } + } + if(obsolete){ + for (n in obsolete){ + YUD.setStyle(obsolete[n].parentNode,'display','none'); + } + } + } + } + + YUE.on(q_filter,'keyup',function(e){ + clearTimeout(F.filterTimeout); + F.filterTimeout = setTimeout(F.updateFilter,600); + }); + } + 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();}, + function(o){YUD.removeClass('repo_switcher','loaded');} + ,null); + } + return false; + }); + </script> </li> <li ${is_current('summary')}> <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=c.repo_name)}"> <span class="icon"> - <img src="${h.url("/images/icons/clipboard_16.png")}" alt="${_('Summary')}" /> + <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" /> </span> <span>${_('Summary')}</span> </a> @@ -148,7 +216,7 @@ ##<li ${is_current('shortlog')}> ## <a title="${_('Shortlog')}" href="${h.url('shortlog_home',repo_name=c.repo_name)}"> ## <span class="icon"> - ## <img src="${h.url("/images/icons/application_view_list.png")}" alt="${_('Shortlog')}" /> + ## <img src="${h.url('/images/icons/application_view_list.png')}" alt="${_('Shortlog')}" /> ## </span> ## <span>${_('Shortlog')}</span> ## </a> @@ -156,7 +224,7 @@ <li ${is_current('changelog')}> <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=c.repo_name)}"> <span class="icon"> - <img src="${h.url("/images/icons/time.png")}" alt="${_('Changelog')}" /> + <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" /> </span> <span>${_('Changelog')}</span> </a> @@ -165,16 +233,16 @@ <li ${is_current('switch_to')}> <a title="${_('Switch to')}" href="#"> <span class="icon"> - <img src="${h.url("/images/icons/arrow_switch.png")}" alt="${_('Switch to')}" /> + <img src="${h.url('/images/icons/arrow_switch.png')}" alt="${_('Switch to')}" /> </span> <span>${_('Switch to')}</span> </a> <ul> <li> - ${h.link_to('%s (%s)' % (_('branches'),len(c.repository_branches.values()),),h.url('branches_home',repo_name=c.repo_name),class_='branches childs')} + ${h.link_to('%s (%s)' % (_('branches'),len(c.rhodecode_repo.branches.values()),),h.url('branches_home',repo_name=c.repo_name),class_='branches childs')} <ul> - %if c.repository_branches.values(): - %for cnt,branch in enumerate(c.repository_branches.items()): + %if c.rhodecode_repo.branches.values(): + %for cnt,branch in enumerate(c.rhodecode_repo.branches.items()): <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> %endfor %else: @@ -183,10 +251,10 @@ </ul> </li> <li> - ${h.link_to('%s (%s)' % (_('tags'),len(c.repository_tags.values()),),h.url('tags_home',repo_name=c.repo_name),class_='tags childs')} + ${h.link_to('%s (%s)' % (_('tags'),len(c.rhodecode_repo.tags.values()),),h.url('tags_home',repo_name=c.repo_name),class_='tags childs')} <ul> - %if c.repository_tags.values(): - %for cnt,tag in enumerate(c.repository_tags.items()): + %if c.rhodecode_repo.tags.values(): + %for cnt,tag in enumerate(c.rhodecode_repo.tags.items()): <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> %endfor %else: @@ -199,7 +267,7 @@ <li ${is_current('files')}> <a title="${_('Files')}" href="${h.url('files_home',repo_name=c.repo_name)}"> <span class="icon"> - <img src="${h.url("/images/icons/file.png")}" alt="${_('Files')}" /> + <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" /> </span> <span>${_('Files')}</span> </a> @@ -208,7 +276,7 @@ <li ${is_current('options')}> <a title="${_('Options')}" href="#"> <span class="icon"> - <img src="${h.url("/images/icons/table_gear.png")}" alt="${_('Admin')}" /> + <img src="${h.url('/images/icons/table_gear.png')}" alt="${_('Admin')}" /> </span> <span>${_('Options')}</span> </a> @@ -223,14 +291,16 @@ <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li> <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li> - %if h.HasPermissionAll('hg.admin')('access admin main page'): - <li> + % if h.HasPermissionAll('hg.admin')('access admin main page'): + <li> ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')} <%def name="admin_menu()"> <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(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li> <li>${h.link_to(_('users'),h.url('users'),class_='users')}</li> + <li>${h.link_to(_('users 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 class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li> @@ -238,31 +308,28 @@ </%def> ${admin_menu()} - </li> - %endif - + </li> + % endif </ul> </li> <li> - <a title="${_('Followers')}" href="#"> + <a title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}"> <span class="icon_short"> - <img src="${h.url("/images/icons/heart.png")}" alt="${_('Followers')}" /> + <img src="${h.url('/images/icons/heart.png')}" alt="${_('Followers')}" /> </span> - <span class="short">${c.repository_followers}</span> + <span id="current_followers_count" class="short">${c.repository_followers}</span> </a> </li> <li> - <a title="${_('Forks')}" href="#"> + <a title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}"> <span class="icon_short"> - <img src="${h.url("/images/icons/arrow_divide.png")}" alt="${_('Forks')}" /> + <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Forks')}" /> </span> <span class="short">${c.repository_forks}</span> </a> </li> - - </ul> %else: ##ROOT MENU @@ -270,25 +337,25 @@ <li> <a title="${_('Home')}" href="${h.url('home')}"> <span class="icon"> - <img src="${h.url("/images/icons/home_16.png")}" alt="${_('Home')}" /> + <img src="${h.url('/images/icons/home_16.png')}" alt="${_('Home')}" /> </span> <span>${_('Home')}</span> </a> </li> - %if c.rhodecode_user.username != 'default': - <li> + % if c.rhodecode_user.username != 'default': + <li> <a title="${_('Journal')}" href="${h.url('journal')}"> <span class="icon"> - <img src="${h.url("/images/icons/book.png")}" alt="${_('Journal')}" /> + <img src="${h.url('/images/icons/book.png')}" alt="${_('Journal')}" /> </span> <span>${_('Journal')}</span> </a> - </li> - %endif + </li> + % endif <li> <a title="${_('Search')}" href="${h.url('search')}"> <span class="icon"> - <img src="${h.url("/images/icons/search_16.png")}" alt="${_('Search')}" /> + <img src="${h.url('/images/icons/search_16.png')}" alt="${_('Search')}" /> </span> <span>${_('Search')}</span> </a> @@ -298,7 +365,7 @@ <li ${is_current('admin')}> <a title="${_('Admin')}" href="${h.url('admin_home')}"> <span class="icon"> - <img src="${h.url("/images/icons/cog_edit.png")}" alt="${_('Admin')}" /> + <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" /> </span> <span>${_('Admin')}</span> </a> @@ -308,70 +375,3 @@ </ul> %endif </%def> - - -<%def name="css()"> -<link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen" /> -<link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css')}" /> -<link rel="stylesheet" type="text/css" href="${h.url('/css/diff.css')}" /> -</%def> - -<%def name="js()"> -##<script type="text/javascript" src="${h.url('/js/yui/utilities/utilities.js')}"></script> -##<script type="text/javascript" src="${h.url('/js/yui/container/container.js')}"></script> -##<script type="text/javascript" src="${h.url('/js/yui/datasource/datasource.js')}"></script> -##<script type="text/javascript" src="${h.url('/js/yui/autocomplete/autocomplete.js')}"></script> -##<script type="text/javascript" src="${h.url('/js/yui/selector/selector-min.js')}"></script> - -<script type="text/javascript" src="${h.url('/js/yui2a.js')}"></script> -<!--[if IE]><script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script><![endif]--> -<script type="text/javascript" src="${h.url('/js/yui.flot.js')}"></script> - -<script type="text/javascript"> -var base_url = "${h.url('toggle_following')}"; -var YUC = YAHOO.util.Connect; -var YUD = YAHOO.util.Dom; -var YUE = YAHOO.util.Event; - -function onSuccess(target){ - - var f = YUD.get(target.id); - 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; - args+= '&auth_token='+token; - YUC.asyncRequest('POST',base_url,{ - success:function(o){ - onSuccess(); - } - },args); return false; -} - -function toggleFollowingRepo(target,fallows_repo_id,token){ - - args = 'follows_repo_id='+fallows_repo_id; - args+= '&auth_token='+token; - YUC.asyncRequest('POST',base_url,{ - success:function(o){ - onSuccess(target); - } - },args); return false; -} -</script> - -</%def> - -<%def name="breadcrumbs()"> - <div class="breadcrumbs"> - ${self.breadcrumbs_links()} - </div> -</%def> \ No newline at end of file