changeset 3529:1c32b72930fa beta

Addding context bar to more repo related pages. Fixing the base template to work on non-repo related pages.
author leonardo
date Mon, 04 Mar 2013 18:30:50 +0100
parents 0ba1736437e0
children 53eafc983b5c
files rhodecode/controllers/summary.py rhodecode/public/css/contextbar.css rhodecode/public/css/style.css rhodecode/templates/base/base.html rhodecode/templates/bookmarks/bookmarks.html rhodecode/templates/branches/branches.html rhodecode/templates/followers/followers.html rhodecode/templates/forks/forks.html rhodecode/templates/summary/summary.html rhodecode/templates/tags/tags.html
diffstat 10 files changed, 176 insertions(+), 132 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/controllers/summary.py	Mon Mar 04 18:30:50 2013 +0100
@@ -72,8 +72,6 @@
 
     def index(self, repo_name):
         c.dbrepo = dbrepo = c.rhodecode_db_repo
-        c.following = self.scm_model.is_following_repo(repo_name,
-                                                self.rhodecode_user.user_id)
 
         def url_generator(**kw):
             return url('shortlog_home', repo_name=repo_name, size=10, **kw)
--- a/rhodecode/public/css/contextbar.css	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/public/css/contextbar.css	Mon Mar 04 18:30:50 2013 +0100
@@ -59,9 +59,9 @@
 	display: block;
 /*	overflow: hidden;*/
 }
+
 ul.horizontal-list > li {
 	float: left;
-	padding-right: 5px;
 	position: relative;
 }
 
@@ -69,6 +69,7 @@
 	position: absolute;
 	display: none;
 	right: 0;
+	z-index: 999;
 }
 
 ul.horizontal-list li:hover > ul {
@@ -270,7 +271,7 @@
 #context-pages a, 
 #context-pages .admin_menu a{
 	display: block;
-	padding: 0px 10px;
+	padding: 0px 10px 1px 30px;
 	padding-left: 30px;
 	line-height: 35px;
 }
--- a/rhodecode/public/css/style.css	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/public/css/style.css	Mon Mar 04 18:30:50 2013 +0100
@@ -1090,7 +1090,7 @@
 
 #content div.box {
     clear: both;
-    overflow: hidden;
+/*    overflow: hidden;*/
     background: #fff;
     margin: 0 0 10px;
     padding: 0 0 10px;
@@ -1861,6 +1861,65 @@
 }
 
 #summary {
+    float: left;
+    width: 80%;
+}
+
+#summary-menu-stats{
+    float: left;
+    width: 20%;
+}
+
+#summary-menu-stats ul {
+    margin: 0 10px;
+    display: block;
+    background-color: #f9f9f9;
+    border: 1px solid #d1d1d1;
+    border-radius: 4px;
+}
+
+#content #summary-menu-stats li {
+    border-top: 1px solid #d1d1d1;
+    line-height: 32px;
+    padding: 0;
+}
+
+#content #summary-menu-stats li:hover {
+    background: #f0f0f0;
+}
+
+#content #summary-menu-stats li:first-child {
+    border-top: none;
+}
+
+#summary-menu-stats a.followers { background-image: url('../images/icons/heart.png')}
+#summary-menu-stats a.forks     { background-image: url('../images/icons/arrow_divide.png')}
+#summary-menu-stats a.settings  { background-image: url('../images/icons/cog_edit.png')}
+#summary-menu-stats a.feed      { background-image: url('../images/icons/rss_16.png')}
+#summary-menu-stats a.repo-size { background-image: url('../images/icons/server.png')}
+
+#summary-menu-stats a {
+    display: block;
+    color: #000000;
+    padding: 0 30px;
+    background-repeat: no-repeat;
+    background-position: 10px 50%;
+}
+
+#repo_size_2 {
+    margin-left: 25px;
+}
+
+#summary-menu-stats a:hover {
+    text-decoration: none;
+}
+
+#summary-menu-stats a span{
+    background-color: #FFF;
+    border: 1px inset #f0f0f0;
+    border-radius:7px;
+    padding: 1px;
+    font-size: 10px;
 }
 
 #summary .metatag {
--- a/rhodecode/templates/base/base.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/base/base.html	Mon Mar 04 18:30:50 2013 +0100
@@ -67,6 +67,26 @@
    %endif
 </%def>
 
+<%def name="admin_menu()">
+  <ul class="admin_menu">
+      <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>
+
+<%def name="admin_menu_simple()">
+  <ul>
+      <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
+  </ul>
+</%def>
+
 <%def name="repo_context_bar(current=None)">
   <%
       def follow_class():
@@ -113,12 +133,11 @@
         <span class="branch-name">graphics/shader-move</span>
         <span class="revision">@73318:8d3d6ee94072</span>
       </button-->
-      &nbsp;
       <ul id="context-pages" class="horizontal-list">
         <li ${is_current('summary')}><a href="${h.url('summary_home', repo_name=c.repo_name)}" class="summary">${_('Summary')}</a></li>
         <li ${is_current('changelog')}><a href="${h.url('changelog_home', repo_name=c.repo_name)}" class="changelogs">${_('Changelogs')}</a></li>
         <li ${is_current('files')}><a href="${h.url('files_home', repo_name=c.repo_name)}" class="files"></span>${_('Files')}</a></li>
-        <li>
+        <li ${is_current('switch-to')}>
           <a href="#" id="branch_tag_switcher_2" class="dropdown switch-to"></span>${_('Switch To')}</a>
           <ul id="switch_to_list_2" class="switch_to submenu">
             <li><a href="#">${_('loading...')}</a></li>
@@ -151,19 +170,6 @@
               % if h.HasPermissionAll('hg.admin')('access admin main page'):
                  <li>
                    ${h.link_to(_('admin'),h.url('admin_home'),class_='admin childs')}
-                    <%def name="admin_menu()">
-                    <ul class="admin_menu">
-                        <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>
@@ -171,11 +177,7 @@
               % elif c.rhodecode_user.groups_admin:
                  <li>
                    ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
-                    <%def name="admin_menu_simple()">
-                    <ul>
-                        <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
-                    </ul>
-                    </%def>
+                    
                     ## ADMIN MENU
                     ${admin_menu_simple()}
                  </li>
@@ -302,91 +304,56 @@
                   </li>
               </ul>
           </li>
-        ## we render this menu only not for those pages
-        %if current not in ['home','admin', 'search', 'journal']:
-            ##REGULAR MENU
-            <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>
+          ##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>
-            ${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')}" />
+          %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>${_('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>
+                <span>${_('Admin')}</span>
+              </a>
+              ${admin_menu()}
             </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>
-            % elif c.rhodecode_user.groups_admin:
-            <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_simple()}
-            </li>
-            % endif
-            ${usermenu()}
-        %endif
+          % elif c.rhodecode_user.groups_admin:
+          <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_simple()}
+          </li>
+          % endif
+          ${usermenu()}
 <script type="text/javascript">
     YUE.on('repo_switcher','mouseover',function(){
       var target = 'q_filter_rs';
--- a/rhodecode/templates/bookmarks/bookmarks.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/bookmarks/bookmarks.html	Mon Mar 04 18:30:50 2013 +0100
@@ -20,6 +20,7 @@
 </%def>
 <%def name="main()">
 <div class="box">
+${self.context_bar('switch-to')}
     <!-- box / title -->
     <div class="title">
         ${self.breadcrumbs()}
--- a/rhodecode/templates/branches/branches.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/branches/branches.html	Mon Mar 04 18:30:50 2013 +0100
@@ -19,6 +19,7 @@
 </%def>
 
 <%def name="main()">
+${self.context_bar('switch-to')}
 <div class="box">
     <!-- box / title -->
     <div class="title">
--- a/rhodecode/templates/followers/followers.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/followers/followers.html	Mon Mar 04 18:30:50 2013 +0100
@@ -17,6 +17,7 @@
     ${self.menu('followers')}
 </%def>
 <%def name="main()">
+${self.context_bar('followers')}
 <div class="box">
     <!-- box / title -->
     <div class="title">
--- a/rhodecode/templates/forks/forks.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/forks/forks.html	Mon Mar 04 18:30:50 2013 +0100
@@ -17,6 +17,7 @@
     ${self.menu('forks')}
 </%def>
 <%def name="main()">
+${self.context_bar('forks')}
 <div class="box">
     <!-- box / title -->
     <div class="title">
--- a/rhodecode/templates/summary/summary.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/summary/summary.html	Mon Mar 04 18:30:50 2013 +0100
@@ -44,30 +44,6 @@
                   <label>${_('Name')}:</label>
               </div>
               <div class="input ${summary(c.show_stats)}">
-                  <div style="float:right;padding:5px 0px 0px 5px">
-                     %if c.rhodecode_user.username != 'default':
-                      ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='atom_icon')}
-                     %else:
-                      ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
-                     %endif
-                  </div>
-                  %if c.rhodecode_user.username != 'default':
-                      %if c.following:
-                      <span id="follow_toggle" class="following tooltip" title="${_('Stop following this repository')}"
-                            onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
-                      </span>
-                      %else:
-                      <span id="follow_toggle" class="follow tooltip" title="${_('Start following this repository')}"
-                            onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
-                      </span>
-                      %endif
-                      <div style="float:right;padding:0px 0px 0px 0px">
-                         <span class="reposize tooltip" title="${_('Click to show size of repository')}"
-                            onclick="javascript:showRepoSize('repo_size','${c.dbrepo.repo_name}','${str(h.get_token())}')">
-                         </span>
-                         <span id="repo_size"></span>
-                      </div>
-                  %endif:
 
                    ## locking icon
                     %if c.rhodecode_db_repo.enable_locking:
@@ -189,7 +165,45 @@
                 %endif
               </div>
              </div>
-      </div>
+        </div>
+        <div id="summary-menu-stats">
+          <ul>
+            <li>
+               <a class="followers" title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
+                <span id="current_followers_count">${c.repository_followers}</span>
+                ${_('Followes')}
+              </a>
+            </li>
+            <li>
+              <a class="forks" title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
+                <span>${c.repository_forks}</span>
+                ${_('Forks')}
+              </a>
+            </li>
+            <li>
+              %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
+               %if h.HasPermissionAll('hg.admin')('access settings on repository'):
+                   ${h.link_to(_('Settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}
+               %else:
+                   ${h.link_to(_('Settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}
+               %endif
+             %endif
+            </li>
+            <li>
+              %if c.rhodecode_user.username != 'default':
+                ${h.link_to(_('Feed'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='feed')}
+              %else:
+                ${h.link_to(_('Feed'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='feed')}
+              %endif
+            </li>
+            %if c.rhodecode_user.username != 'default':
+            <li>
+              <a href="#" class="repo-size" onclick="javascript:showRepoSize('repo_size_2','${c.dbrepo.repo_name}','${str(h.get_token())}')">Repository Size</a>
+              <span id="repo_size_2"></span>
+            </li>
+            %endif
+          </ul>
+        </div>
     </div>
 </div>
 
--- a/rhodecode/templates/tags/tags.html	Mon Mar 04 12:18:34 2013 +0100
+++ b/rhodecode/templates/tags/tags.html	Mon Mar 04 18:30:50 2013 +0100
@@ -19,6 +19,7 @@
     ${self.menu('tags')}
 </%def>
 <%def name="main()">
+${self.context_bar('switch-to')}
 <div class="box">
     <!-- box / title -->
     <div class="title">