changeset 1403:fc286aed92fe beta

fixes #209, repos groups and index page now share same common page.
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 30 Jun 2011 21:44:31 +0200
parents edfbf3ee9965
children adcfbe0fb453
files rhodecode/templates/admin/repos_groups/repos_groups.html rhodecode/templates/index.html rhodecode/templates/index_base.html
diffstat 3 files changed, 209 insertions(+), 343 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/templates/admin/repos_groups/repos_groups.html	Thu Jun 30 01:44:58 2011 +0200
+++ b/rhodecode/templates/admin/repos_groups/repos_groups.html	Thu Jun 30 21:44:31 2011 +0200
@@ -1,155 +1,21 @@
 ## -*- coding: utf-8 -*-
 <%inherit file="/base/base.html"/>
-
 <%def name="title()">
     ${_('Repository group')} - ${c.rhodecode_name}
 </%def>
 
-
-<%def name="breadcrumbs_links()">
-    ${_('Repository Groups')} 
+<%def name="breadcrumbs()">
+    ${_('Groups')} 
     %if c.group.parent_group:
-        &raquo; ${h.link_to(c.group.parent_group.group_name,h.url('repos_group',id=c.group.parent_group.group_id))}
+        &raquo; ${h.link_to(c.group.parent_group.group_name,
+        h.url('repos_group',id=c.group.parent_group.group_id))}
     %endif
-    
-    &raquo; "${c.group.group_name}" ${_('with %s repositories' % c.repo_cnt)} 
+    &raquo; "${c.group.group_name}" ${_('with')} 
 </%def>
+
 <%def name="page_nav()">
     ${self.menu('admin')}
 </%def>
 <%def name="main()">
-    <%def name="get_sort(name)">
-        <%name_slug = name.lower().replace(' ','_') %>
-        
-        %if name_slug == c.sort_slug:
-          %if c.sort_by.startswith('-'):
-            <a href="?sort=${name_slug}">${name}&uarr;</a>
-          %else:
-            <a href="?sort=-${name_slug}">${name}&darr;</a>
-          %endif:
-        %else:
-            <a href="?sort=${name_slug}">${name}</a>
-        %endif
-    </%def>
-<div class="box">
-    <!-- box / title -->
-    <div class="title">
-        ${self.breadcrumbs()}       
-    </div>
-    <!-- end box / title -->
-        <div class="table">
-           % if c.groups:
-            <table>
-            
-                <thead>
-                    <tr>
-                        <th class="left"><a href="#">${_('Group name')}</a></th>
-                        <th class="left"><a href="#">${_('Description')}</a></th>
-                        <th class="left"><a href="#">${_('Number of repositories')}</a></th>
-                    </tr>
-                </thead>
-                
-                ## REPO GROUPS
-                
-                % for gr in c.groups:
-                  <tr>
-                      <td>
-                          <div style="white-space: nowrap">
-                          <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
-                          ${h.link_to(gr.group_name,url('repos_group',id=gr.group_id))}
-                          </div>
-                      </td>
-                      <td>${gr.group_description}</td>
-                      <td><b>${gr.repositories.count()}</b></td>
-                  </tr>
-                % endfor            
-                
-            </table>
-            <div style="height: 20px"></div>
-            % endif        
-            <table>
-            <thead>
-                <tr>
-                    <th class="left">${get_sort(_('Name'))}</th>
-                    <th class="left">${get_sort(_('Description'))}</th>
-                    <th class="left">${get_sort(_('Last change'))}</th>
-                    <th class="left">${get_sort(_('Tip'))}</th>
-                    <th class="left">${get_sort(_('Owner'))}</th>
-                    <th class="left">${_('RSS')}</th>
-                    <th class="left">${_('Atom')}</th>
-                </tr>
-            </thead>
-            <tbody>
-            %for cnt,repo in enumerate(c.repos_list):
-                <tr class="parity${cnt%2}">
-                    <td>
-                    <div style="white-space: nowrap">
-                     ## TYPE OF REPO
-                     %if repo['dbrepo']['repo_type'] =='hg':
-                       <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/>
-                     %elif repo['dbrepo']['repo_type'] =='git':
-                       <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
-                     %else:
-                       
-                     %endif 
-                    
-                     ##PRIVATE/PUBLIC
-                     %if repo['dbrepo']['private']:
-                        <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/>
-                     %else:
-                        <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/>
-                     %endif
-                    
-                    ##NAME   
-                    ${h.link_to(repo['name'],
-                        h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
-                    %if repo['dbrepo_fork']:
-                        <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
-                        <img class="icon" alt="${_('fork')}"
-                        title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}" 
-                        src="${h.url("/images/icons/arrow_divide.png")}"/></a>
-                    %endif
-                    </div>
-                    </td>
-                    ##DESCRIPTION
-                    <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
-                       ${h.truncate(repo['description'],60)}</span>
-                    </td>
-                    ##LAST CHANGE
-                    <td>
-                      <span class="tooltip" title="${repo['last_change']}">
-                      ${h.age(repo['last_change'])}</span>
-                    </td>
-                    <td>
-                        %if repo['rev']>=0:
-                        ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
-                        h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
-                        class_="tooltip",
-                        title=h.tooltip(repo['last_msg']))}
-                        %else:
-                            ${_('No changesets yet')}
-                        %endif    
-                    </td>
-                    <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
-                    <td>
-                      %if c.rhodecode_user.username != 'default':
-                        <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
-                      %else:
-                        <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
-                      %endif:                       
-                    </td>        
-                    <td>
-                      %if c.rhodecode_user.username != 'default':
-                        <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
-                      %else:
-                        <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
-                      %endif:
-                    </td>
-                </tr>
-            %endfor          
-            </tbody>
-            </table>
-            </div>
-</div> 
-           
+        <%include file="/index_base.html" args="parent=self"/>
 </%def>    
--- a/rhodecode/templates/index.html	Thu Jun 30 01:44:58 2011 +0200
+++ b/rhodecode/templates/index.html	Thu Jun 30 21:44:31 2011 +0200
@@ -10,206 +10,5 @@
 	${self.menu('home')}
 </%def>
 <%def name="main()">
-	<%def name="get_sort(name)">
-		<%name_slug = name.lower().replace(' ','_') %>
-		
-		%if name_slug == c.sort_slug:
-		  %if c.sort_by.startswith('-'):
-		    <a href="?sort=${name_slug}">${name}&uarr;</a>
-		  %else:
-		    <a href="?sort=-${name_slug}">${name}&darr;</a>
-		  %endif:
-		%else:
-		    <a href="?sort=${name_slug}">${name}</a>
-		%endif
-	</%def>
-	
-    <div class="box">
-	    <!-- box / title -->
-	    <div class="title">
-	        <h5><input class="top-right-rounded-corner top-left-rounded-corner 
-	                           bottom-left-rounded-corner bottom-right-rounded-corner" 
-	                    id="q_filter" size="15" type="text" name="filter" 
-	                    value="${_('quick filter...')}"/>
-	        
-	        ${_('Dashboard')}  - <span id="repo_count"></span> ${_('repositories')} 
-	        </h5>
-	        %if c.rhodecode_user.username != 'default':
-		        %if h.HasPermissionAny('hg.admin','hg.create.repository')():
-		        <ul class="links">
-		          <li>
-		            <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
-		          </li>          
-		        </ul>  	        
-		        %endif
-		    %endif
-	    </div>
-	    <!-- end box / title -->
-        <div class="table">
-           % if c.groups:
-            <table>
-            
-                <thead>
-                    <tr>
-                        <th class="left"><a href="#">${_('Group name')}</a></th>
-                        <th class="left"><a href="#">${_('Description')}</a></th>
-                        <th class="left"><a href="#">${_('Number of repositories')}</a></th>
-                    </tr>
-                </thead>
-                
-                ## REPO GROUPS
-                
-                % for gr in c.groups:
-                  <tr>
-                      <td>
-                          <div style="white-space: nowrap">
-                          <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
-                          ${h.link_to(gr.group_name,url('repos_group',id=gr.group_id))}
-                          </div>
-                      </td>
-                      <td>${gr.group_description}</td>
-                      <td><b>${gr.repositories.count()}</b></td>
-                  </tr>
-                % endfor
-                
-            </table>
-            <div style="height: 20px"></div>
-            % endif
-            <table>
-            <thead>
-	            <tr>
-			        <th class="left">${get_sort(_('Name'))}</th>
-			        <th class="left">${get_sort(_('Description'))}</th>
-			        <th class="left">${get_sort(_('Last change'))}</th>
-			        <th class="left">${get_sort(_('Tip'))}</th>
-			        <th class="left">${get_sort(_('Owner'))}</th>
-			        <th class="left">${_('RSS')}</th>
-			        <th class="left">${_('Atom')}</th>
-	            </tr>
-            </thead>
-            <tbody>
-		    %for cnt,repo in enumerate(c.repos_list):
-		        <tr class="parity${cnt%2}">
-		            <td>
-		            <div style="white-space: nowrap">
-		             ## TYPE OF REPO
-		             %if repo['dbrepo']['repo_type'] =='hg':
-		               <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/>
-		             %elif repo['dbrepo']['repo_type'] =='git':
-		               <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
-		             %else:
-		               
-		             %endif 
-		            
-		             ##PRIVATE/PUBLIC
-		             %if repo['dbrepo']['private']:
-		                <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/>
-		             %else:
-		                <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/>
-		             %endif
-		            
-		            ##NAME   
-		            ${h.link_to(repo['name'],
-		                h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
-		            %if repo['dbrepo_fork']:
-		            	<a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
-		            	<img class="icon" alt="${_('fork')}"
-		            	title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}" 
-		            	src="${h.url("/images/icons/arrow_divide.png")}"/></a>
-		            %endif
-		            </div>
-		            </td>
-		            ##DESCRIPTION
-		            <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
-		               ${h.truncate(repo['description'],60)}</span>
-		            </td>
-		            ##LAST CHANGE
-		            <td>
-		              <span class="tooltip" title="${repo['last_change']}">
-		              ${h.age(repo['last_change'])}</span>
-		            </td>
-		            <td>
-		            	%if repo['rev']>=0:
-		            	${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
-		                h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
-		                class_="tooltip",
-		                title=h.tooltip(repo['last_msg']))}
-		            	%else:
-		            		${_('No changesets yet')}
-		            	%endif    
-		            </td>
-		            <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
-		            <td>
-		              %if c.rhodecode_user.username != 'default':
-		                <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
-                      %else:
-                        <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
-                      %endif:		                
-		            </td>        
-		            <td>
-		              %if c.rhodecode_user.username != 'default':
-		                <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
-		              %else:
-		                <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
-		              %endif:
-		            </td>
-		        </tr>
-		    %endfor
-		    
-            </tbody>
-            </table>
-            </div>
-    </div>
-    
-    
-    <script type="text/javascript">
-     var D = YAHOO.util.Dom;
-     var E = YAHOO.util.Event;
-     var S = YAHOO.util.Selector;
-     
-     var q_filter = D.get('q_filter');
-     var F = YAHOO.namespace('q_filter'); 
-     
-     E.on(q_filter,'click',function(){
-    	q_filter.value = '';
-     });
-
-     F.filterTimeout = null;
-     
-     //set initial count for repos
-     var nodes = S.query('div.table tr td div a.repo_name');
-     YUD.get('repo_count').innerHTML = nodes.length;
-     F.updateFilter  = function() { 
-    	// Reset timeout 
-        F.filterTimeout = null;
-    	
-        var obsolete = [];
-        nodes = S.query('div.table tr td div a.repo_name');
-        var req = q_filter.value.toLowerCase();
-        for (n in nodes){
-            D.setStyle(nodes[n].parentNode.parentNode.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){
-		        	D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none');
-		        }
-	        }
-        }
-        // set new count into dashboard
-        YUD.get('repo_count').innerHTML = nodes.length - obsolete.length;      
-     }
-     
-     E.on(q_filter,'keyup',function(e){
-    	 clearTimeout(F.filterTimeout); 
-    	 setTimeout(F.updateFilter,600); 
-     });
-     
-    </script>
-    	
+    	<%include file="index_base.html" args="parent=self"/>
 </%def>    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/templates/index_base.html	Thu Jun 30 21:44:31 2011 +0200
@@ -0,0 +1,201 @@
+<%page args="parent" /> 
+    <%def name="get_sort(name)">
+        <%name_slug = name.lower().replace(' ','_') %>
+        
+        %if name_slug == c.sort_slug:
+          %if c.sort_by.startswith('-'):
+            <a href="?sort=${name_slug}">${name}&uarr;</a>
+          %else:
+            <a href="?sort=-${name_slug}">${name}&darr;</a>
+          %endif:
+        %else:
+            <a href="?sort=${name_slug}">${name}</a>
+        %endif
+    </%def>
+    
+    <div class="box">
+        <!-- box / title -->
+        <div class="title">
+            <h5><input class="top-right-rounded-corner top-left-rounded-corner 
+                               bottom-left-rounded-corner bottom-right-rounded-corner" 
+                        id="q_filter" size="15" type="text" name="filter" 
+                        value="${_('quick filter...')}"/>
+            ${parent.breadcrumbs()} <span id="repo_count"></span> ${_('repositories')} 
+            </h5>
+            %if c.rhodecode_user.username != 'default':
+                %if h.HasPermissionAny('hg.admin','hg.create.repository')():
+                <ul class="links">
+                  <li>
+                    <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
+                  </li>          
+                </ul>           
+                %endif
+            %endif
+        </div>
+        <!-- end box / title -->
+        <div class="table">
+           % if c.groups:
+            <table>
+            
+                <thead>
+                    <tr>
+                        <th class="left"><a href="#">${_('Group name')}</a></th>
+                        <th class="left"><a href="#">${_('Description')}</a></th>
+                        <th class="left"><a href="#">${_('Number of repositories')}</a></th>
+                    </tr>
+                </thead>
+                
+                ## REPO GROUPS
+                
+                % for gr in c.groups:
+                  <tr>
+                      <td>
+                          <div style="white-space: nowrap">
+                          <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
+                          ${h.link_to(gr.group_name,url('repos_group',id=gr.group_id))}
+                          </div>
+                      </td>
+                      <td>${gr.group_description}</td>
+                      <td><b>${gr.repositories.count()}</b></td>
+                  </tr>
+                % endfor
+                
+            </table>
+            <div style="height: 20px"></div>
+            % endif
+            <table>
+            <thead>
+                <tr>
+                    <th class="left">${get_sort(_('Name'))}</th>
+                    <th class="left">${get_sort(_('Description'))}</th>
+                    <th class="left">${get_sort(_('Last change'))}</th>
+                    <th class="left">${get_sort(_('Tip'))}</th>
+                    <th class="left">${get_sort(_('Owner'))}</th>
+                    <th class="left">${_('RSS')}</th>
+                    <th class="left">${_('Atom')}</th>
+                </tr>
+            </thead>
+            <tbody>
+            %for cnt,repo in enumerate(c.repos_list):
+                <tr class="parity${cnt%2}">
+                    <td>
+                    <div style="white-space: nowrap">
+                     ## TYPE OF REPO
+                     %if repo['dbrepo']['repo_type'] =='hg':
+                       <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/>
+                     %elif repo['dbrepo']['repo_type'] =='git':
+                       <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
+                     %else:
+                       
+                     %endif 
+                    
+                     ##PRIVATE/PUBLIC
+                     %if repo['dbrepo']['private']:
+                        <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/>
+                     %else:
+                        <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/>
+                     %endif
+                    
+                    ##NAME   
+                    ${h.link_to(repo['name'],
+                        h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
+                    %if repo['dbrepo_fork']:
+                        <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
+                        <img class="icon" alt="${_('fork')}"
+                        title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}" 
+                        src="${h.url("/images/icons/arrow_divide.png")}"/></a>
+                    %endif
+                    </div>
+                    </td>
+                    ##DESCRIPTION
+                    <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
+                       ${h.truncate(repo['description'],60)}</span>
+                    </td>
+                    ##LAST CHANGE
+                    <td>
+                      <span class="tooltip" title="${repo['last_change']}">
+                      ${h.age(repo['last_change'])}</span>
+                    </td>
+                    <td>
+                        %if repo['rev']>=0:
+                        ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
+                        h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
+                        class_="tooltip",
+                        title=h.tooltip(repo['last_msg']))}
+                        %else:
+                            ${_('No changesets yet')}
+                        %endif    
+                    </td>
+                    <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
+                    <td>
+                      %if c.rhodecode_user.username != 'default':
+                        <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
+                      %else:
+                        <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon"  href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
+                      %endif:                       
+                    </td>        
+                    <td>
+                      %if c.rhodecode_user.username != 'default':
+                        <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
+                      %else:
+                        <a title="${_('Subscribe to %s atom feed')%repo['name']}"  class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
+                      %endif:
+                    </td>
+                </tr>
+            %endfor
+            
+            </tbody>
+            </table>
+            </div>
+    </div>
+    
+    
+    <script type="text/javascript">
+     var D = YAHOO.util.Dom;
+     var E = YAHOO.util.Event;
+     var S = YAHOO.util.Selector;
+     
+     var q_filter = D.get('q_filter');
+     var F = YAHOO.namespace('q_filter'); 
+     
+     E.on(q_filter,'click',function(){
+        q_filter.value = '';
+     });
+
+     F.filterTimeout = null;
+     
+     //set initial count for repos
+     var nodes = S.query('div.table tr td div a.repo_name');
+     YUD.get('repo_count').innerHTML = nodes.length;
+     F.updateFilter  = function() { 
+        // Reset timeout 
+        F.filterTimeout = null;
+        
+        var obsolete = [];
+        nodes = S.query('div.table tr td div a.repo_name');
+        var req = q_filter.value.toLowerCase();
+        for (n in nodes){
+            D.setStyle(nodes[n].parentNode.parentNode.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){
+                    D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none');
+                }
+            }
+        }
+        // set new count into dashboard
+        YUD.get('repo_count').innerHTML = nodes.length - obsolete.length;      
+     }
+     
+     E.on(q_filter,'keyup',function(e){
+         clearTimeout(F.filterTimeout); 
+         setTimeout(F.updateFilter,600); 
+     });
+     
+    </script>