index.html
182 lines
| 6.9 KiB
| text/html
|
HtmlLexer
r547 | ## -*- coding: utf-8 -*- | |||
<%inherit file="base/base.html"/> | ||||
<%def name="title()"> | ||||
r619 | ${_('Dashboard')} - ${c.rhodecode_name} | |||
r547 | </%def> | |||
<%def name="breadcrumbs()"> | ||||
r548 | ${c.rhodecode_name} | |||
r547 | </%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}↑</a> | ||||
%else: | ||||
<a href="?sort=-${name_slug}">${name}↓</a> | ||||
%endif: | ||||
%else: | ||||
<a href="?sort=${name_slug}">${name}</a> | ||||
%endif | ||||
</%def> | ||||
<div class="box"> | ||||
<!-- box / title --> | ||||
<div class="title"> | ||||
r1192 | <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...')}"/> | ||||
r1201 | ${_('Dashboard')} - <span id="repo_count">${c.repo_cnt}</span> ${_('repositories')} | |||
r646 | </h5> | |||
r797 | %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 | ||||
r547 | </div> | |||
<!-- end box / title --> | ||||
<div class="table"> | ||||
r646 | <table> | |||
r547 | <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> | ||||
r633 | <th class="left">${get_sort(_('Owner'))}</th> | |||
r547 | <th class="left">${_('RSS')}</th> | |||
<th class="left">${_('Atom')}</th> | ||||
</tr> | ||||
</thead> | ||||
r646 | <tbody> | |||
%for cnt,repo in enumerate(c.repos_list): | ||||
<tr class="parity${cnt%2}"> | ||||
<td> | ||||
r668 | <div style="white-space: nowrap"> | |||
r647 | ## TYPE OF REPO | |||
r1045 | %if repo['dbrepo']['repo_type'] =='hg': | |||
r1051 | <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/> | |||
r1045 | %elif repo['dbrepo']['repo_type'] =='git': | |||
r1051 | <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/> | |||
r646 | %else: | |||
%endif | ||||
r647 | ##PRIVATE/PUBLIC | |||
r1045 | %if repo['dbrepo']['private']: | |||
r1051 | <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/> | |||
r646 | %else: | |||
r1051 | <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/> | |||
r647 | %endif | |||
##NAME | ||||
r646 | ${h.link_to(repo['name'], | |||
h.url('summary_home',repo_name=repo['name']),class_="repo_name")} | ||||
r1045 | %if repo['dbrepo_fork']: | |||
<a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}"> | ||||
r646 | <img class="icon" alt="${_('fork')}" | |||
r1045 | title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}" | |||
r1051 | src="${h.url("/images/icons/arrow_divide.png")}"/></a> | |||
r646 | %endif | |||
r668 | </div> | |||
r646 | </td> | |||
r647 | ##DESCRIPTION | |||
r905 | <td><span class="tooltip" title="${h.tooltip(repo['description'])}"> | |||
r646 | ${h.truncate(repo['description'],60)}</span> | |||
</td> | ||||
r647 | ##LAST CHANGE | |||
<td> | ||||
r904 | <span class="tooltip" title="${repo['last_change']}"> | |||
r799 | ${h.age(repo['last_change'])}</span> | |||
r646 | </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", | ||||
r904 | title=h.tooltip(repo['last_msg']))} | |||
r646 | %else: | |||
${_('No changesets yet')} | ||||
%endif | ||||
</td> | ||||
<td title="${repo['contact']}">${h.person(repo['contact'])}</td> | ||||
<td> | ||||
r1122 | %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: | ||||
r646 | </td> | |||
<td> | ||||
r1122 | %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: | ||||
r646 | <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a> | |||
r1122 | %endif: | |||
r646 | </td> | |||
</tr> | ||||
%endfor | ||||
</tbody> | ||||
</table> | ||||
r547 | </div> | |||
r646 | </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 = []; | ||||
r668 | var nodes = S.query('div.table tr td div a.repo_name'); | |||
r1297 | var req = q_filter.value.toLowerCase(); | |||
r646 | for (n in nodes){ | |||
r668 | D.setStyle(nodes[n].parentNode.parentNode.parentNode,'display','') | |||
r646 | } | |||
if (req){ | ||||
for (n in nodes){ | ||||
if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) { | ||||
obsolete.push(nodes[n]); | ||||
} | ||||
} | ||||
if(obsolete){ | ||||
for (n in obsolete){ | ||||
r668 | D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none'); | |||
r646 | } | |||
} | ||||
} | ||||
r1201 | // set new count into dashboard | |||
YUD.get('repo_count').innerHTML = nodes.length - obsolete.length; | ||||
r646 | } | |||
E.on(q_filter,'keyup',function(e){ | ||||
clearTimeout(F.filterTimeout); | ||||
setTimeout(F.updateFilter,600); | ||||
}); | ||||
</script> | ||||
r547 | </%def> | |||