diff rhodecode/templates/base/base.html @ 2031:82a88013a3fd

merge 1.3 into stable
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 26 Feb 2012 17:25:09 +0200
parents bf263968da47 6020e3884a58
children 63e58ef80ef1
line wrap: on
line diff
--- a/rhodecode/templates/base/base.html	Sun Feb 19 20:21:14 2012 +0200
+++ b/rhodecode/templates/base/base.html	Sun Feb 26 17:25:09 2012 +0200
@@ -3,73 +3,7 @@
 
 <!-- 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="header-inner" class="title hover">
         <div id="logo">
             <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
         </div>
@@ -78,11 +12,11 @@
         <!-- END MENU -->
         ${self.body()}
     </div>
-</div>     
+</div>
 <!-- END HEADER -->
-    
+
 <!-- CONTENT -->
-<div id="content"> 
+<div id="content">
     <div class="flash_msg">
         <% messages = h.flash.pop_messages() %>
         % if messages:
@@ -92,11 +26,11 @@
             % endfor
         </ul>
         % endif
-    </div>	    
-    <div id="main"> 
+    </div>
+    <div id="main">
         ${next.main()}
     </div>
-</div> 
+</div>
 <!-- END CONTENT -->
 
 <!-- FOOTER -->
@@ -107,7 +41,7 @@
                 <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
            </p>
 	       <p class="footer-link-right">
-	           <a href="${h.url('rhodecode_official')}">RhodeCode</a> 
+	           <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>
@@ -126,159 +60,143 @@
     </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            
+		%if current not in ['home','admin']:
+		   ##REGULAR MENU
 	        <ul id="quick">
 				<!-- repo switcher -->
 				<li>
-					<a id="repo_switcher" title="${_('Switch repository')}" href="#">
+					<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>					
+                    <span>&darr;</span>
 					</a>
 					<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)}">
+	               <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>	            
+	               <span>${_('Summary')}</span>
+	               </a>
 	            </li>
-                ##<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')}" />
-                ##   </span>
-                ##   <span>${_('Shortlog')}</span>                 
-                ##   </a>             
-                ##</li>	            
                 <li ${is_current('changelog')}>
-                   <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=c.repo_name)}">
+                   <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>   	
-                
+                   <span>${_('Changelog')}</span>
+                   </a>
+                </li>
+
                 <li ${is_current('switch_to')}>
-                   <a title="${_('Switch to')}" href="#">
+                   <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>
-                        <li>
-                            ${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.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:
-						    	<li>${h.link_to(_('There are no branches yet'),'#')}</li>
-						    %endif
-                            </ul>                        
-                        </li>
-                        <li>
-                            ${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.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:
-                            	<li>${h.link_to(_('There are no tags yet'),'#')}</li>
-                            %endif
-                            </ul>                        
-                        </li>                        
+                   <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 title="${_('Files')}" href="${h.url('files_home',repo_name=c.repo_name)}">
+                   <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>                            
-				
+                   <span>${_('Files')}</span>
+                   </a>
+                </li>
+
                 <li ${is_current('options')}>
-                   <a title="${_('Options')}" href="#">
+                   <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>                 
+                   <span>${_('Options')}</span>
                    </a>
                    <ul>
                    %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
@@ -290,10 +208,10 @@
                    %endif
                    	<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>
-                       ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}  
+                       ${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>
@@ -303,18 +221,18 @@
                             <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>        
+                            <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
                         </ul>
                         </%def>
-                        
+
                         ${admin_menu()}
                      </li>
                     % endif
-                   </ul>             
+                   </ul>
                 </li>
-                
+
                 <li>
-                    <a title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
+                    <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>
@@ -322,56 +240,99 @@
                     </a>
                 </li>
                 <li>
-                    <a title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
+                    <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>
+                ${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 title="${_('Home')}"  href="${h.url('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>        
+                    <span>${_('Home')}</span>
+                    </a>
                 </li>
-                % if c.rhodecode_user.username != 'default':
+                %if c.rhodecode_user.username != 'default':
                  <li>
-                    <a title="${_('Journal')}"  href="${h.url('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>        
+                    <span>${_('Journal')}</span>
+                    </a>
                  </li>
-                % endif
+                %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 title="${_('Search')}"  href="${h.url('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>        
+                    <span>${_('Search')}</span>
+                    </a>
                 </li>
-                
+
 				%if h.HasPermissionAll('hg.admin')('access admin main page'):
                 <li ${is_current('admin')}>
-                   <a title="${_('Admin')}" href="${h.url('admin_home')}">
+                   <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>                 
+                   <span>${_('Admin')}</span>
                    </a>
                     ${admin_menu()}
                 </li>
 				%endif
+                ${usermenu()}
 			</ul>
-		%endif    
+		%endif
 </%def>