comparison rhodecode/templates/index.html @ 1512:bf263968da47

merge beta in stable branch
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 07 Oct 2011 01:08:50 +0200
parents 3d9da7893fdb fc286aed92fe
children 82a88013a3fd
comparison
equal deleted inserted replaced
1329:e058df3ff2b4 1512:bf263968da47
8 </%def> 8 </%def>
9 <%def name="page_nav()"> 9 <%def name="page_nav()">
10 ${self.menu('home')} 10 ${self.menu('home')}
11 </%def> 11 </%def>
12 <%def name="main()"> 12 <%def name="main()">
13 <%def name="get_sort(name)"> 13 <%include file="index_base.html" args="parent=self"/>
14 <%name_slug = name.lower().replace(' ','_') %>
15
16 %if name_slug == c.sort_slug:
17 %if c.sort_by.startswith('-'):
18 <a href="?sort=${name_slug}">${name}&uarr;</a>
19 %else:
20 <a href="?sort=-${name_slug}">${name}&darr;</a>
21 %endif:
22 %else:
23 <a href="?sort=${name_slug}">${name}</a>
24 %endif
25 </%def>
26
27 <div class="box">
28 <!-- box / title -->
29 <div class="title">
30 <h5>${_('Dashboard')}
31 <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...')}"/>
32 </h5>
33 %if c.rhodecode_user.username != 'default':
34 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
35 <ul class="links">
36 <li>
37 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
38 </li>
39 </ul>
40 %endif
41 %endif
42 </div>
43 <!-- end box / title -->
44 <div class="table">
45 <table>
46 <thead>
47 <tr>
48 <th class="left">${get_sort(_('Name'))}</th>
49 <th class="left">${get_sort(_('Description'))}</th>
50 <th class="left">${get_sort(_('Last change'))}</th>
51 <th class="left">${get_sort(_('Tip'))}</th>
52 <th class="left">${get_sort(_('Owner'))}</th>
53 <th class="left">${_('RSS')}</th>
54 <th class="left">${_('Atom')}</th>
55 </tr>
56 </thead>
57 <tbody>
58 %for cnt,repo in enumerate(c.repos_list):
59 <tr class="parity${cnt%2}">
60 <td>
61 <div style="white-space: nowrap">
62 ## TYPE OF REPO
63 %if repo['repo'].dbrepo.repo_type =='hg':
64 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/>
65 %elif repo['repo'].dbrepo.repo_type =='git':
66 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
67 %else:
68
69 %endif
70
71 ##PRIVATE/PUBLIC
72 %if repo['repo'].dbrepo.private:
73 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/>
74 %else:
75 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/>
76 %endif
77
78 ##NAME
79 ${h.link_to(repo['name'],
80 h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
81 %if repo['repo'].dbrepo.fork:
82 <a href="${h.url('summary_home',repo_name=repo['repo'].dbrepo.fork.repo_name)}">
83 <img class="icon" alt="${_('fork')}"
84 title="${_('Fork of')} ${repo['repo'].dbrepo.fork.repo_name}"
85 src="${h.url("/images/icons/arrow_divide.png")}"/></a>
86 %endif
87 </div>
88 </td>
89 ##DESCRIPTION
90 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
91 ${h.truncate(repo['description'],60)}</span>
92 </td>
93 ##LAST CHANGE
94 <td>
95 <span class="tooltip" title="${repo['last_change']}">
96 ${h.age(repo['last_change'])}</span>
97 </td>
98 <td>
99 %if repo['rev']>=0:
100 ${h.link_to('r%s:%s' % (repo['rev'],h.short_id(repo['tip'])),
101 h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
102 class_="tooltip",
103 title=h.tooltip(repo['last_msg']))}
104 %else:
105 ${_('No changesets yet')}
106 %endif
107 </td>
108 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
109 <td>
110 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
111 </td>
112 <td>
113 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
114 </td>
115 </tr>
116 %endfor
117 </tbody>
118 </table>
119 </div>
120 </div>
121
122
123 <script type="text/javascript">
124 var D = YAHOO.util.Dom;
125 var E = YAHOO.util.Event;
126 var S = YAHOO.util.Selector;
127
128 var q_filter = D.get('q_filter');
129 var F = YAHOO.namespace('q_filter');
130
131 E.on(q_filter,'click',function(){
132 q_filter.value = '';
133 });
134
135 F.filterTimeout = null;
136
137 F.updateFilter = function() {
138 // Reset timeout
139 F.filterTimeout = null;
140
141 var obsolete = [];
142 var nodes = S.query('div.table tr td div a.repo_name');
143 var req = D.get('q_filter').value;
144 for (n in nodes){
145 D.setStyle(nodes[n].parentNode.parentNode.parentNode,'display','')
146 }
147 if (req){
148 for (n in nodes){
149 if (nodes[n].innerHTML.toLowerCase().indexOf(req) == -1) {
150 obsolete.push(nodes[n]);
151 }
152 }
153 if(obsolete){
154 for (n in obsolete){
155 D.setStyle(obsolete[n].parentNode.parentNode.parentNode,'display','none');
156 }
157 }
158 }
159 }
160
161 E.on(q_filter,'keyup',function(e){
162 clearTimeout(F.filterTimeout);
163 setTimeout(F.updateFilter,600);
164 });
165
166 </script>
167
168 </%def> 14 </%def>