Changeset - eee3cb592099
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 14 years ago 2011-06-24 16:00:12
marcin@python-works.com
Fixed issue with dashboard displaying count on repositories that you don't have permission
2 files changed with 7 insertions and 8 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/home.py
Show inline comments
 
@@ -47,30 +47,26 @@ class HomeController(BaseController):
 
        current_sort = request.GET.get('sort', 'name')
 
        current_sort_slug = current_sort.replace('-', '')
 

	
 
        if current_sort_slug not in sortables:
 
            c.sort_by = 'name'
 
            current_sort_slug = c.sort_by
 
        else:
 
            c.sort_by = current_sort
 
        c.sort_slug = current_sort_slug
 

	
 
        sort_key = current_sort_slug + '_sort'
 

	
 

	
 
        c.repos_list = self.scm_model.get_repos(sort_key=sort_key)
 

	
 
        c.repo_cnt = len(c.repos_list)
 

	
 
        c.groups = Group.query().filter(Group.group_parent_id == None).all()
 

	
 

	
 
        return render('/index.html')
 

	
 
    def repo_switcher(self):
 
        if request.is_xhr:
 
            all_repos = Repository.query().order_by(Repository.repo_name).all()
 
            c.repos_list = self.scm_model.get_repos(all_repos,
 
                                                    sort_key='name_sort')
 
            return render('/repo_switcher_list.html')
 
        else:
 
            return HTTPBadRequest()
rhodecode/templates/index.html
Show inline comments
 
@@ -23,25 +23,25 @@
 
		    <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">${c.repo_cnt}</span> ${_('repositories')} 
 
	        ${_('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 -->
 
@@ -61,25 +61,25 @@
 
                
 
                % 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            
 
                % 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>
 
@@ -167,46 +167,49 @@
 
     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 = [];
 
        var nodes = S.query('div.table tr td div a.repo_name');
 
        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;        
 
        YUD.get('repo_count').innerHTML = nodes.length - obsolete.length;      
 
     }
 
     
 
     E.on(q_filter,'keyup',function(e){
 
    	 clearTimeout(F.filterTimeout); 
 
    	 setTimeout(F.updateFilter,600); 
 
     });
 
     
 
    </script>
 
    	
 
</%def>    
0 comments (0 inline, 0 general)