changeset 3209:e7600fe19943 beta

Implements #734 repo switcher should be available in all views
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 23 Jan 2013 22:16:54 +0100
parents 1ac47c961f70
children 5d0ad07d889a
files rhodecode/templates/base/base.html
diffstat 1 files changed, 202 insertions(+), 209 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/templates/base/base.html	Wed Jan 23 22:03:39 2013 +0100
+++ b/rhodecode/templates/base/base.html	Wed Jan 23 22:16:54 2013 +0100
@@ -144,228 +144,221 @@
             if selected == current:
                 return h.literal('class="current"')
         %>
+        <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>${_('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
-            <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>${_('Repositories')}</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('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 ${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
+                %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(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
 
-                    <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(_('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>${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>
+                %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
 
-                <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>
+                % 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>${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('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');
+                YUE.on('branch_tag_switcher','mouseover',function(){
+                   var loaded = YUD.hasClass('branch_tag_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');}
+                       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;
-               });
-
-              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 ${is_current('home')}>
-                    <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 ${is_current('journal')}>
-                    <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 ${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')}"  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>
+            <li ${is_current('home')}>
+                <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 ${is_current('journal')}>
+                <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 ${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')}"  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(){
+            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;
+     });
+</script>                    
 </%def>