##// END OF EJS Templates
Major refactoring, removed when possible calls to app globals....
Major refactoring, removed when possible calls to app globals. Refactored models to fetch the paths needed for scans from database directly small fixes in base

File last commit:

r921:136af52f default
r1036:405b80e4 beta
Show More
index.html
168 lines | 5.9 KiB | text/html | HtmlLexer
## -*- coding: utf-8 -*-
<%inherit file="base/base.html"/>
<%def name="title()">
${_('Dashboard')} - ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs()">
${c.rhodecode_name}
</%def>
<%def name="page_nav()">
${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>${_('Dashboard')}
<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...')}"/>
</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">
<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['repo'].dbrepo.repo_type =='hg':
<img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="/images/icons/hgicon.png"/>
%elif repo['repo'].dbrepo.repo_type =='git':
<img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="/images/icons/giticon.png"/>
%else:
%endif
##PRIVATE/PUBLIC
%if repo['repo'].dbrepo.private:
<img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="/images/icons/lock.png"/>
%else:
<img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="/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['repo'].dbrepo.fork:
<a href="${h.url('summary_home',repo_name=repo['repo'].dbrepo.fork.repo_name)}">
<img class="icon" alt="${_('fork')}"
title="${_('Fork of')} ${repo['repo'].dbrepo.fork.repo_name}"
src="/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>
<a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
</td>
<td>
<a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
</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;
F.updateFilter = function() {
// Reset timeout
F.filterTimeout = null;
var obsolete = [];
var nodes = S.query('div.table tr td div a.repo_name');
var req = D.get('q_filter').value;
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');
}
}
}
}
E.on(q_filter,'keyup',function(e){
clearTimeout(F.filterTimeout);
setTimeout(F.updateFilter,600);
});
</script>
</%def>