Files @ ae5ac36cdf83
Branch filter:

Location: kallithea/rhodecode/templates/base/base.html

Mads Kiilerich
pull request: use unionrepo instead of outgoing

This makes it possible to look the 'moving target' symbols up in the right repo.

Using a revset with the right revisions also removes the need for pruning
changesets that are outside the requested range.

It will also not be confused by changesets that for some reason has been pulled
to the repo but haven't been merged yet. They are going to be 'merged' by the
'pull' request and should thus be a part of what is reviewed.
## -*- coding: utf-8 -*-
<%inherit file="root.html"/>

<!-- HEADER -->
<div id="header-dd"></div>
<div id="header">
    <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>
        % 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()">
    ## USER MENU
    <li>
      <a class="menu_link" id="quick_login_link">
          <span class="icon" style="padding:5px 5px 0px 5px">
             <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>

  <div class="user-menu">
      <div id="quick_login">
        %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="notifications"><a href="${h.url('notifications')}">${_('Notifications')}</a></div>
                <div class="unread"><a href="${h.url('notifications')}">${_('Unread')}: ${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>

    </li>
</%def>

<%def name="menu(current=None)">
        <%
        def is_current(selected):
            if selected == current:
                return h.literal('class="current"')
        %>
        <ul id="quick">
          <!-- repo switcher -->
          <li ${is_current('home')}>
              <a class="menu_link" id="repo_switcher" title="${_('Switch repository')}" href="${h.url('home')}">
              <span class="icon">
                  <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" />
              </span>
              <span>${_('Repositories')}</span>
              </a>
              <ul id="repo_switcher_list" class="repo_switcher">
                  <li>
                      <a href="#">${_('loading...')}</a>
                  </li>
              </ul>
          </li>
        ## we render this menu only not for those pages
        %if current not in ['home','admin', 'search', 'journal']:
            ##REGULAR MENU
            <li ${is_current('summary')}>
               <a class="menu_link" title="${_('Summary page')}" 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="${_('Changeset list')}" 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="${_('Show repository content')}" 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
                %if c.rhodecode_db_repo.fork:
                 <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>
                %endif
                <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>

                %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(_('admin 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>${h.link_to(_('defaults'),h.url('defaults'),class_='defaults')}</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()}
            <script type="text/javascript">
                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
            %if c.rhodecode_user.username != 'default':
             <li ${is_current('journal')}>
                <a class="menu_link" title="${_('Show recent activity')}"  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 ${is_current('journal')}>
                <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 ${is_current('search')}>
                <a class="menu_link" title="${_('Search in repositories')}"  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()}
        %endif
<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);
      }

      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{
         YUD.get(target).focus();
      }
      return false;
     });

     YUE.on('header-dd', 'click',function(e){
         YUD.addClass('header-inner', 'hover');	 
     });

</script>
</%def>