RhodeCode / rhodecode / templates / base / base.html

## -*- coding: utf-8 -*-
<%inherit file="root.html"/>

<!-- HEADER -->
<div id="header">
    <div id="header-inner" class="title hover">
        <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>
        % endif
    </div>
    <div id="main">
        ${next.main()}
    </div>
</div>
<!-- END CONTENT -->

<!-- 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${'-%s' % c.rhodecode_instanceid if c.rhodecode_instanceid else ''}</a>
	           ${c.rhodecode_version} &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski
	       </p>
       </div>
   </div>
</div>
<!-- END FOOTER -->

### MAKO DEFS ###
<%def name="page_nav()">
    ${self.menu()}
</%def>

<%def name="breadcrumbs()">
    <div class="breadcrumbs">
    ${self.breadcrumbs_links()}
    </div>
</%def>

<%def name="usermenu()">
  <div class="user-menu">
      <div class="container">
       <div class="gravatar" id="quick_login_link">
           <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,24)}" />
       </div>
       %if c.rhodecode_user.username != 'default' and c.unread_notifications != 0:
        <div class="notifications">
          <a id="notification_counter" href="${h.url('notifications')}">${c.unread_notifications}</a>
        </div>
       %endif
      </div>
      <div id="quick_login" style="display:none">
        %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">
                            ${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>
                        <div class="submit">
                            ${h.submit('sign_in',_('Log In'),class_="ui-btn xsmall")}
                        </div>
                    </div>
                </div>
            </div>
            ${h.end_form()}
        %else:
            <div class="links_left">
                <div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
                <div class="email">${c.rhodecode_user.email}</div>
                <div class="big_gravatar"><img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,48)}" /></div>
                <div class="inbox"><a href="${h.url('notifications')}">${_('Inbox')}: ${c.unread_notifications}</a></div>
            </div>
            <div class="links_right">
            <ol class="links">
              <li>${h.link_to(_(u'Home'),h.url('home'))}</li>
              <li>${h.link_to(_(u'Journal'),h.url('journal'))}</li>
              <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
      </div>
 </div>
</%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 class="menu_link" id="repo_switcher" title="${_('Switch repository')}" href="#">
                    <span class="icon">
                        <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" />
                    </span>
                    <span>&darr;</span>
					</a>
					<ul id="repo_switcher_list" class="repo_switcher">
                        <li>
                            <a href="#">${_('loading...')}</a>
                        </li>
					</ul>
				</li>

	            <li ${is_current('summary')}>
	               <a class="menu_link" 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')}" />
	               </span>
	               <span>${_('Summary')}</span>
	               </a>
	            </li>
                <li ${is_current('changelog')}>
                   <a class="menu_link" 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')}" />
                   </span>
                   <span>${_('Changelog')}</span>
                   </a>
                </li>

                <li ${is_current('switch_to')}>
                   <a class="menu_link" id="branch_tag_switcher" title="${_('Switch to')}" href="#">
                   <span class="icon">
                       <img src="${h.url('/images/icons/arrow_switch.png')}" alt="${_('Switch to')}" />
                   </span>
                   <span>${_('Switch to')}</span>
                   </a>
                    <ul id="switch_to_list" class="switch_to">
                        <li><a href="#">${_('loading...')}</a></li>
                    </ul>
                </li>
                <li ${is_current('files')}>
                   <a class="menu_link" 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')}" />
                   </span>
                   <span>${_('Files')}</span>
                   </a>
                </li>

                <li ${is_current('options')}>
                   <a class="menu_link" title="${_('Options')}" href="#">
                   <span class="icon">
                       <img src="${h.url('/images/icons/table_gear.png')}" alt="${_('Admin')}" />
                   </span>
                   <span>${_('Options')}</span>
                   </a>
                   <ul>
                   %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
                     %if h.HasPermissionAll('hg.admin')('access settings on repository'):
                         <li>${h.link_to(_('repository settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
                     %else:
                         <li>${h.link_to(_('repository settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
                     %endif
                   %endif

                   	<li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
                    %if h.is_hg(c.rhodecode_repo):
                     <li>${h.link_to(_('Open new pull request'),h.url('pullrequest_home',repo_name=c.repo_name),class_='pull_request')}</li>
                    %endif
                   	<li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>

                    %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
                      %if c.rhodecode_db_repo.locked[0]:
                        <li>${h.link_to(_('unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
                      %else:
                        <li>${h.link_to(_('lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
                      %endif
                    %endif

                    % 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>
                        </ul>
                        </%def>
                        ## ADMIN MENU
                        ${admin_menu()}
                     </li>
                    % endif
                   </ul>
                </li>

                <li>
                    <a class="menu_link" 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')}" />
                    </span>
                    <span id="current_followers_count" class="short">${c.repository_followers}</span>
                    </a>
                </li>
                <li>
                    <a class="menu_link" 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')}" />
                    </span>
                    <span class="short">${c.repository_forks}</span>
                    </a>
                </li>
                <li>
                    <a class="menu_link" title="${_('Pull requests')}" href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}">
                    <span class="icon_short">
                        <img src="${h.url('/images/icons/arrow_join.png')}" alt="${_('Pull requests')}" />
                    </span>
                    <span class="short">${c.repository_pull_requests}</span>
                    </a>
                </li>
                ${usermenu()}
	        </ul>
            <script type="text/javascript">
               YUE.on('repo_switcher','mouseover',function(){
                      function qfilter(){
                          var nodes = YUQ('ul#repo_switcher_list li a.repo_name');
                          var target = 'q_filter_rs';
                          var func = function(node){
                              return node.parentNode;
                          }
                          q_filter(target,nodes,func);
                      }
                   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;
               });

              YUE.on('branch_tag_switcher','mouseover',function(){
                 var loaded = YUD.hasClass('branch_tag_switcher','loaded');
                 if(!loaded){
                     YUD.addClass('branch_tag_switcher','loaded');
                     ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list',
                         function(o){},
                         function(o){YUD.removeClass('branch_tag_switcher','loaded');}
                         ,null);
                 }
                 return false;
              });
            </script>
		%else:
		    ##ROOT MENU
            <ul id="quick">
                <li>
                    <a class="menu_link" title="${_('Home')}"  href="${h.url('home')}">
                    <span class="icon">
                        <img src="${h.url('/images/icons/home_16.png')}" alt="${_('Home')}" />
                    </span>
                    <span>${_('Home')}</span>
                    </a>
                </li>
                %if c.rhodecode_user.username != 'default':
                 <li>
                    <a class="menu_link" title="${_('Journal')}"  href="${h.url('journal')}">
                    <span class="icon">
                        <img src="${h.url('/images/icons/book.png')}" alt="${_('Journal')}" />
                    </span>
                    <span>${_('Journal')}</span>
                    </a>
                 </li>
                %else:
                 <li>
                    <a class="menu_link" title="${_('Public journal')}"  href="${h.url('public_journal')}">
                    <span class="icon">
                        <img src="${h.url('/images/icons/book.png')}" alt="${_('Public journal')}" />
                    </span>
                    <span>${_('Public journal')}</span>
                    </a>
                 </li>
                %endif
                <li>
                    <a class="menu_link" title="${_('Search')}"  href="${h.url('search')}">
                    <span class="icon">
                        <img src="${h.url('/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 class="menu_link" title="${_('Admin')}" href="${h.url('admin_home')}">
                   <span class="icon">
                       <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" />
                   </span>
                   <span>${_('Admin')}</span>
                   </a>
                    ${admin_menu()}
                </li>
				%endif
                ${usermenu()}
			</ul>
		%endif
</%def>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.