annotate pylons_app/templates/admin/repos/repo_edit.html @ 399:f5c1eec9f376

rename repo2perm into repo_to_perm added UserToPerm models for user global permissions
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 08 Aug 2010 01:27:14 +0200
parents 0f35fa0f4eb8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
216
c8162373f214 Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
Marcin Kuzminski <marcin@python-works.com>
parents: 182
diff changeset
1 ## -*- coding: utf-8 -*-
c8162373f214 Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
Marcin Kuzminski <marcin@python-works.com>
parents: 182
diff changeset
2 <%inherit file="/base/base.html"/>
c8162373f214 Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
Marcin Kuzminski <marcin@python-works.com>
parents: 182
diff changeset
3
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
4 <%def name="title()">
216
c8162373f214 Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
Marcin Kuzminski <marcin@python-works.com>
parents: 182
diff changeset
5 ${_('Repositories administration')}
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
6 </%def>
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
7
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
8 <%def name="breadcrumbs_links()">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
9 ${h.link_to(_('Admin'),h.url('admin_home'))}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
10 &raquo;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
11 ${h.link_to(_('Repositories'),h.url('repos'))}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
12 &raquo;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
13 ${_('edit')} "${c.repo_name}"
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
14 </%def>
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
15
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
16 <%def name="page_nav()">
182
11e8eb5a92e3 new way of menu generation for base, and all admin pages
Marcin Kuzminski <marcin@python-works.com>
parents: 174
diff changeset
17 ${self.menu('admin')}
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
18 </%def>
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
19
48
8e250e86a670 Css fixes, implemented removal of users, and display draft
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
20 <%def name="main()">
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
21 <div class="box">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
22 <!-- box / title -->
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
23 <div class="title">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
24 ${self.breadcrumbs()}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
25 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
26 ${h.form(url('repo', repo_name=c.repo_info.repo_name),method='put')}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
27 <div class="form">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
28 <!-- fields -->
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
29 <div class="fields">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
30 <div class="field">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
31 <div class="label">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
32 <label for="repo_name">${_('Name')}:</label>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
33 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
34 <div class="input input-medium">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
35 ${h.text('repo_name')}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
36 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
37 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
38
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
39 <div class="field">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
40 <div class="label label-textarea">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
41 <label for="description">${_('Description')}:</label>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
42 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
43 <div class="textarea text-area editor">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
44 ${h.textarea('description',cols=23,rows=5)}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
45 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
46 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
47
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
48 <div class="field">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
49 <div class="label label-checkbox">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
50 <label for="private">${_('Private')}:</label>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
51 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
52 <div class="checkboxes">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
53 ${h.checkbox('private',value="True")}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
54 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
55 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
56
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
57 <div class="field">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
58 <div class="label label-checkbox">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
59 <label for="user">${_('Owner')}:</label>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
60 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
61 <div class="input input-small ac">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
62 <div class="perm_ac">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
63 ${h.text('user',class_='yui-ac-input')}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
64 <div id="owner_container"></div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
65 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
66 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
67 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
68
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
69 <div class="field">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
70 <div class="label">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
71 <label for="input">${_('Permissions')}:</label>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
72 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
73 <div class="input">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
74 <table id="permissions_manage">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
75 <tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
76 <td>${_('none')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
77 <td>${_('read')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
78 <td>${_('write')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
79 <td>${_('admin')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
80 <td>${_('user')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
81 <td></td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
82 </tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
83
399
f5c1eec9f376 rename repo2perm into repo_to_perm
Marcin Kuzminski <marcin@python-works.com>
parents: 366
diff changeset
84 %for r2p in c.repo_info.repo_to_perm:
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
85 %if r2p.user.username =='default' and c.repo_info.private:
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
86 <tr>
366
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
87 <td colspan="4">
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
88 <span class="private_repo_msg">
366
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
89 ${_('private repository')}
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
90 </span>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
91 </td>
366
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
92 <td class="private_repo_msg">${r2p.user.username}</td>
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
93 </tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
94 %else:
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
95 <tr id="id${id(r2p.user.username)}">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
96 <td>${h.radio('perm_%s' % r2p.user.username,'repository.none')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
97 <td>${h.radio('perm_%s' % r2p.user.username,'repository.read')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
98 <td>${h.radio('perm_%s' % r2p.user.username,'repository.write')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
99 <td>${h.radio('perm_%s' % r2p.user.username,'repository.admin')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
100 <td>${r2p.user.username}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
101 <td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
102 %if r2p.user.username !='default':
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
103 <span class="delete_icon action_button" onclick="ajaxAction(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
104 <script type="text/javascript">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
105 function ajaxAction(user_id,field_id){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
106 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}";
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
107 var callback = { success:function(o){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
108 var tr = YAHOO.util.Dom.get(String(field_id));
366
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
109 tr.parentNode.removeChild(tr);},failure:function(o){
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
110 alert("${_('Failed to remove user')}");},};
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
111 var postData = '_method=delete&user_id='+user_id;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
112 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);};
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
113 </script>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
114 </span>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
115 %endif
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
116 </td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
117 </tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
118 %endif
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
119 %endfor
296
29370bb76fa6 first permissions commit: added permission managment on repository edit. Changed db rmissions, validators.
Marcin Kuzminski <marcin@python-works.com>
parents: 265
diff changeset
120
366
0f35fa0f4eb8 fixed some html and styles, added owner into admin repo list
Marcin Kuzminski <marcin@python-works.com>
parents: 362
diff changeset
121 <tr id="add_perm_input">
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
122 <td>${h.radio('perm_new_user','repository.none')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
123 <td>${h.radio('perm_new_user','repository.read')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
124 <td>${h.radio('perm_new_user','repository.write')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
125 <td>${h.radio('perm_new_user','repository.admin')}</td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
126 <td class='ac'>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
127 <div class="perm_ac" id="perm_ac">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
128 ${h.text('perm_new_user_name',class_='yui-ac-input')}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
129 <div id="perm_container"></div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
130 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
131 </td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
132 <td></td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
133 </tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
134 <tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
135 <td colspan="6">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
136 <span id="add_perm" class="add_icon" style="cursor: pointer;">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
137 ${_('Add another user')}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
138 </span>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
139 </td>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
140 </tr>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
141 </table>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
142 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
143
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
144 <div class="buttons">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
145 ${h.submit('save','save',class_="ui-button ui-widget ui-state-default ui-corner-all")}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
146 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
147 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
148 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
149 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
150 ${h.end_form()}
296
29370bb76fa6 first permissions commit: added permission managment on repository edit. Changed db rmissions, validators.
Marcin Kuzminski <marcin@python-works.com>
parents: 265
diff changeset
151 <script type="text/javascript">
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
152 YAHOO.util.Event.onDOMReady(function(){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
153 var D = YAHOO.util.Dom;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
154 if(!D.hasClass('perm_new_user_name','error')){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
155 D.setStyle('add_perm_input','display','none');
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
156 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
157 YAHOO.util.Event.addListener('add_perm','click',function(){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
158 D.setStyle('add_perm_input','display','');
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
159 D.setStyle('add_perm','opacity','0.6');
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
160 D.setStyle('add_perm','cursor','default');
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
161 });
296
29370bb76fa6 first permissions commit: added permission managment on repository edit. Changed db rmissions, validators.
Marcin Kuzminski <marcin@python-works.com>
parents: 265
diff changeset
162 });
29370bb76fa6 first permissions commit: added permission managment on repository edit. Changed db rmissions, validators.
Marcin Kuzminski <marcin@python-works.com>
parents: 265
diff changeset
163 </script>
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
164 <script type="text/javascript">
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
165 YAHOO.example.FnMultipleFields = function(){
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
166 var myContacts = ${c.users_array|n}
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
167
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
168 // Define a custom search function for the DataSource
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
169 var matchNames = function(sQuery) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
170 // Case insensitive matching
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
171 var query = sQuery.toLowerCase(),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
172 contact,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
173 i=0,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
174 l=myContacts.length,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
175 matches = [];
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
176
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
177 // Match against each name of each contact
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
178 for(; i<l; i++) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
179 contact = myContacts[i];
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
180 if((contact.fname.toLowerCase().indexOf(query) > -1) ||
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
181 (contact.lname.toLowerCase().indexOf(query) > -1) ||
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
182 (contact.nname && (contact.nname.toLowerCase().indexOf(query) > -1))) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
183 matches[matches.length] = contact;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
184 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
185 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
186
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
187 return matches;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
188 };
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
189
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
190 // Use a FunctionDataSource
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
191 var oDS = new YAHOO.util.FunctionDataSource(matchNames);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
192 oDS.responseSchema = {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
193 fields: ["id", "fname", "lname", "nname"]
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
194 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
195
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
196 // Instantiate AutoComplete for perms
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
197 var oAC_perms = new YAHOO.widget.AutoComplete("perm_new_user_name", "perm_container", oDS);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
198 oAC_perms.useShadow = false;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
199 oAC_perms.resultTypeList = false;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
200
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
201 // Instantiate AutoComplete for owner
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
202 var oAC_owner = new YAHOO.widget.AutoComplete("user", "owner_container", oDS);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
203 oAC_owner.useShadow = false;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
204 oAC_owner.resultTypeList = false;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
205
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
206
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
207 // Custom formatter to highlight the matching letters
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
208 var custom_formatter = function(oResultData, sQuery, sResultMatch) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
209 var query = sQuery.toLowerCase(),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
210 fname = oResultData.fname,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
211 lname = oResultData.lname,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
212 nname = oResultData.nname || "", // Guard against null value
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
213 query = sQuery.toLowerCase(),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
214 fnameMatchIndex = fname.toLowerCase().indexOf(query),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
215 lnameMatchIndex = lname.toLowerCase().indexOf(query),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
216 nnameMatchIndex = nname.toLowerCase().indexOf(query),
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
217 displayfname, displaylname, displaynname;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
218
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
219 if(fnameMatchIndex > -1) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
220 displayfname = highlightMatch(fname, query, fnameMatchIndex);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
221 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
222 else {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
223 displayfname = fname;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
224 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
225
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
226 if(lnameMatchIndex > -1) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
227 displaylname = highlightMatch(lname, query, lnameMatchIndex);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
228 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
229 else {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
230 displaylname = lname;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
231 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
232
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
233 if(nnameMatchIndex > -1) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
234 displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")";
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
235 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
236 else {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
237 displaynname = nname ? "(" + nname + ")" : "";
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
238 }
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
239
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
240 return displayfname + " " + displaylname + " " + displaynname;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
241
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
242 };
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
243 oAC_perms.formatResult = custom_formatter;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
244 oAC_owner.formatResult = custom_formatter;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
245
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
246 // Helper function for the formatter
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
247 var highlightMatch = function(full, snippet, matchindex) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
248 return full.substring(0, matchindex) +
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
249 "<span class='match'>" +
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
250 full.substr(matchindex, snippet.length) +
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
251 "</span>" +
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
252 full.substring(matchindex + snippet.length);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
253 };
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
254
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
255 var myHandler = function(sType, aArgs) {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
256 var myAC = aArgs[0]; // reference back to the AC instance
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
257 var elLI = aArgs[1]; // reference to the selected LI element
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
258 var oData = aArgs[2]; // object literal of selected item's result data
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
259 myAC.getInputEl().value = oData.nname;
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
260 };
298
15e96b5a2685 autocomplete for repository managment of users
Marcin Kuzminski <marcin@python-works.com>
parents: 296
diff changeset
261
362
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
262 oAC_perms.itemSelectEvent.subscribe(myHandler);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
263 oAC_owner.itemSelectEvent.subscribe(myHandler);
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
264
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
265 return {
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
266 oDS: oDS,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
267 oAC_perms: oAC_perms,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
268 oAC_owner: oAC_owner,
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
269 };
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
270 }();
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
271
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
272 </script>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
273
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
274 </div>
558eb7c5028f version bump to 0.8
Marcin Kuzminski <marcin@python-works.com>
parents: 328
diff changeset
275 </%def>