##// END OF EJS Templates
added forking into quick menu on main page
marcink -
r1738:1a2f10b3 beta
parent child Browse files
Show More
@@ -1,167 +1,175 b''
1 <%page args="parent" />
1 <%page args="parent" />
2 <div class="box">
2 <div class="box">
3 <!-- box / title -->
3 <!-- box / title -->
4 <div class="title">
4 <div class="title">
5 <h5>
5 <h5>
6 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${parent.breadcrumbs()} <span id="repo_count">${len(c.repos_list)}</span> ${_('repositories')}
6 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${parent.breadcrumbs()} <span id="repo_count">${len(c.repos_list)}</span> ${_('repositories')}
7 </h5>
7 </h5>
8 %if c.rhodecode_user.username != 'default':
8 %if c.rhodecode_user.username != 'default':
9 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
9 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
10 <ul class="links">
10 <ul class="links">
11 <li>
11 <li>
12 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
12 <span>${h.link_to(_('ADD NEW REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
13 </li>
13 </li>
14 </ul>
14 </ul>
15 %endif
15 %endif
16 %endif
16 %endif
17 </div>
17 </div>
18 <!-- end box / title -->
18 <!-- end box / title -->
19 <div class="table">
19 <div class="table">
20 % if c.groups:
20 % if c.groups:
21 <table>
21 <table>
22 <thead>
22 <thead>
23 <tr>
23 <tr>
24 <th class="left"><a href="#">${_('Group name')}</a></th>
24 <th class="left"><a href="#">${_('Group name')}</a></th>
25 <th class="left"><a href="#">${_('Description')}</a></th>
25 <th class="left"><a href="#">${_('Description')}</a></th>
26 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
26 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
27 </tr>
27 </tr>
28 </thead>
28 </thead>
29
29
30 ## REPO GROUPS
30 ## REPO GROUPS
31
31
32 % for gr in c.groups:
32 % for gr in c.groups:
33 <tr>
33 <tr>
34 <td>
34 <td>
35 <div style="white-space: nowrap">
35 <div style="white-space: nowrap">
36 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
36 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
37 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
37 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
38 </div>
38 </div>
39 </td>
39 </td>
40 <td>${gr.group_description}</td>
40 <td>${gr.group_description}</td>
41 ##<td><b>${gr.repositories.count()}</b></td>
41 ##<td><b>${gr.repositories.count()}</b></td>
42 </tr>
42 </tr>
43 % endfor
43 % endfor
44
44
45 </table>
45 </table>
46 <div style="height: 20px"></div>
46 <div style="height: 20px"></div>
47 % endif
47 % endif
48 <div id="welcome" style="display:none;text-align:center">
48 <div id="welcome" style="display:none;text-align:center">
49 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
49 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
50 </div>
50 </div>
51 <table id="repos_list">
51 <table id="repos_list">
52 <thead>
52 <thead>
53 <tr>
53 <tr>
54 <th class="left"></th>
54 <th class="left"></th>
55 <th class="left">${_('Name')}</th>
55 <th class="left">${_('Name')}</th>
56 <th class="left">${_('Description')}</th>
56 <th class="left">${_('Description')}</th>
57 <th class="left">${_('Last change')}</th>
57 <th class="left">${_('Last change')}</th>
58 <th class="left">${_('Tip')}</th>
58 <th class="left">${_('Tip')}</th>
59 <th class="left">${_('Owner')}</th>
59 <th class="left">${_('Owner')}</th>
60 <th class="left">${_('RSS')}</th>
60 <th class="left">${_('RSS')}</th>
61 <th class="left">${_('Atom')}</th>
61 <th class="left">${_('Atom')}</th>
62 </tr>
62 </tr>
63 </thead>
63 </thead>
64 <tbody>
64 <tbody>
65 %for cnt,repo in enumerate(c.repos_list):
65 %for cnt,repo in enumerate(c.repos_list):
66 <tr class="parity${cnt%2}">
66 <tr class="parity${cnt%2}">
67 <td class="quick_repo_menu">
67 <td class="quick_repo_menu">
68 <ul class="menu_items hidden">
68 <ul class="menu_items hidden">
69 <li style="border-top:1px solid #003367;margin-left:18px;padding-left:-99px"></li>
69 <li style="border-top:1px solid #003367;margin-left:18px;padding-left:-99px"></li>
70 <li>
70 <li>
71 <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo['name'])}">
71 <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo['name'])}">
72 <span class="icon">
72 <span class="icon">
73 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
73 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
74 </span>
74 </span>
75 <span>${_('Summary')}</span>
75 <span>${_('Summary')}</span>
76 </a>
76 </a>
77 </li>
77 </li>
78 <li>
78 <li>
79 <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo['name'])}">
79 <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo['name'])}">
80 <span class="icon">
80 <span class="icon">
81 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
81 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
82 </span>
82 </span>
83 <span>${_('Changelog')}</span>
83 <span>${_('Changelog')}</span>
84 </a>
84 </a>
85 </li>
85 </li>
86 <li>
86 <li>
87 <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo['name'])}">
87 <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo['name'])}">
88 <span class="icon">
88 <span class="icon">
89 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
89 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
90 </span>
90 </span>
91 <span>${_('Files')}</span>
91 <span>${_('Files')}</span>
92 </a>
92 </a>
93 </li>
93 </li>
94 <li>
95 <a title="${_('Fork')}" href="${h.url('repo_fork_home',repo_name=repo['name'])}">
96 <span class="icon">
97 <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Fork')}" />
98 </span>
99 <span>${_('Fork')}</span>
100 </a>
101 </li>
94 </ul>
102 </ul>
95 </td>
103 </td>
96 <td>
104 <td>
97 ## TYPE OF REPO
105 ## TYPE OF REPO
98 <div style="white-space: nowrap">
106 <div style="white-space: nowrap">
99 %if repo['dbrepo']['repo_type'] =='hg':
107 %if repo['dbrepo']['repo_type'] =='hg':
100 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
108 <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
101 %elif repo['dbrepo']['repo_type'] =='git':
109 %elif repo['dbrepo']['repo_type'] =='git':
102 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
110 <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
103 %endif
111 %endif
104
112
105 ##PRIVATE/PUBLIC
113 ##PRIVATE/PUBLIC
106 %if repo['dbrepo']['private']:
114 %if repo['dbrepo']['private']:
107 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
115 <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
108 %else:
116 %else:
109 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
117 <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
110 %endif
118 %endif
111
119
112 ##NAME
120 ##NAME
113 ${h.link_to(repo['name'],
121 ${h.link_to(repo['name'],
114 h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
122 h.url('summary_home',repo_name=repo['name']),class_="repo_name")}
115 %if repo['dbrepo_fork']:
123 %if repo['dbrepo_fork']:
116 <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
124 <a href="${h.url('summary_home',repo_name=repo['dbrepo_fork']['repo_name'])}">
117 <img class="icon" alt="${_('fork')}"
125 <img class="icon" alt="${_('fork')}"
118 title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}"
126 title="${_('Fork of')} ${repo['dbrepo_fork']['repo_name']}"
119 src="${h.url('/images/icons/arrow_divide.png')}"/></a>
127 src="${h.url('/images/icons/arrow_divide.png')}"/></a>
120 %endif
128 %endif
121 </div>
129 </div>
122 </td>
130 </td>
123 ##DESCRIPTION
131 ##DESCRIPTION
124 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
132 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
125 ${h.truncate(repo['description'],60)}</span>
133 ${h.truncate(repo['description'],60)}</span>
126 </td>
134 </td>
127 ##LAST CHANGE
135 ##LAST CHANGE
128 <td>
136 <td>
129 <span class="tooltip" title="${repo['last_change']}">
137 <span class="tooltip" title="${repo['last_change']}">
130 ${h.age(repo['last_change'])}</span>
138 ${h.age(repo['last_change'])}</span>
131 </td>
139 </td>
132 <td>
140 <td>
133 %if repo['rev']>=0:
141 %if repo['rev']>=0:
134 <a title="${h.tooltip('%s\n%s' % (repo['author'],repo['last_msg']))}" class="tooltip" href="${h.url('changeset_home',repo_name=repo['name'],revision=repo['tip'])}">${'r%s:%s' % (repo['rev'],h.short_id(repo['tip']))}</a>
142 <a title="${h.tooltip('%s\n%s' % (repo['author'],repo['last_msg']))}" class="tooltip" href="${h.url('changeset_home',repo_name=repo['name'],revision=repo['tip'])}">${'r%s:%s' % (repo['rev'],h.short_id(repo['tip']))}</a>
135 %else:
143 %else:
136 ${_('No changesets yet')}
144 ${_('No changesets yet')}
137 %endif
145 %endif
138 </td>
146 </td>
139 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
147 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
140 <td>
148 <td>
141 %if c.rhodecode_user.username != 'default':
149 %if c.rhodecode_user.username != 'default':
142 <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>
150 <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>
143 %else:
151 %else:
144 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
152 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
145 %endif:
153 %endif:
146 </td>
154 </td>
147 <td>
155 <td>
148 %if c.rhodecode_user.username != 'default':
156 %if c.rhodecode_user.username != 'default':
149 <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>
157 <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>
150 %else:
158 %else:
151 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
159 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
152 %endif:
160 %endif:
153 </td>
161 </td>
154 </tr>
162 </tr>
155 %endfor
163 %endfor
156 </tbody>
164 </tbody>
157 </table>
165 </table>
158 </div>
166 </div>
159 </div>
167 </div>
160 <script>
168 <script>
161 var nodes = YUQ('div.table tr td a.repo_name');
169 var nodes = YUQ('div.table tr td a.repo_name');
162 var target = 'q_filter';
170 var target = 'q_filter';
163 var func = function(node){
171 var func = function(node){
164 return node.parentNode.parentNode.parentNode;
172 return node.parentNode.parentNode.parentNode;
165 }
173 }
166 q_filter(target,nodes,func);
174 q_filter(target,nodes,func);
167 </script> No newline at end of file
175 </script>
General Comments 0
You need to be logged in to leave comments. Login now