comparison rhodecode/templates/admin/permissions/permissions.html @ 3125:9b92cf5a0cca beta

Added UserIpMap interface for allowed IP addresses and IP restriction access ref #264 IP restriction for users and user groups
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 30 Dec 2012 23:06:03 +0100
parents 79c5967a1e5c
children cd50d1b5f35b b4f401524060
comparison
equal deleted inserted replaced
3124:6659c5af04e7 3125:9b92cf5a0cca
14 <%def name="page_nav()"> 14 <%def name="page_nav()">
15 ${self.menu('admin')} 15 ${self.menu('admin')}
16 </%def> 16 </%def>
17 17
18 <%def name="main()"> 18 <%def name="main()">
19 <div class="box"> 19 <div class="box box-left">
20 <!-- box / title --> 20 <!-- box / title -->
21 <div class="title"> 21 <div class="title">
22 ${self.breadcrumbs()} 22 ${self.breadcrumbs()}
23 </div> 23 </div>
24 <h3>${_('Default permissions')}</h3> 24 <h3>${_('Default permissions')}</h3>
87 <div class="select"> 87 <div class="select">
88 ${h.select('default_fork','',c.fork_choices)} 88 ${h.select('default_fork','',c.fork_choices)}
89 </div> 89 </div>
90 </div> 90 </div>
91 <div class="buttons"> 91 <div class="buttons">
92 ${h.submit('set',_('set'),class_="ui-btn large")} 92 ${h.submit('save',_('Save'),class_="ui-btn large")}
93 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
93 </div> 94 </div>
94 </div> 95 </div>
95 </div> 96 </div>
96 ${h.end_form()} 97 ${h.end_form()}
97 </div> 98 </div>
98 </%def> 99
100 <div style="min-height:780px" class="box box-right">
101 <!-- box / title -->
102 <div class="title">
103 <h5>${_('Default User Permissions')}</h5>
104 </div>
105
106 ## permissions overview
107 <div id="perms" class="table">
108 %for section in sorted(c.perm_user.permissions.keys()):
109 <div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
110 %if not c.perm_user.permissions[section]:
111 <span class="empty_data">${_('Nothing here yet')}</span>
112 %else:
113 <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
114 <table id="tbl_list_${section}">
115 <thead>
116 <tr>
117 <th class="left">${_('Name')}</th>
118 <th class="left">${_('Permission')}</th>
119 <th class="left">${_('Edit Permission')}</th>
120 </thead>
121 <tbody>
122 %for k in c.perm_user.permissions[section]:
123 <%
124 if section != 'global':
125 section_perm = c.perm_user.permissions[section].get(k)
126 _perm = section_perm.split('.')[-1]
127 else:
128 _perm = section_perm = None
129 %>
130 <tr>
131 <td>
132 %if section == 'repositories':
133 <a href="${h.url('summary_home',repo_name=k)}">${k}</a>
134 %elif section == 'repositories_groups':
135 <a href="${h.url('repos_group_home',group_name=k)}">${k}</a>
136 %else:
137 ${h.get_permission_name(k)}
138 %endif
139 </td>
140 <td>
141 %if section == 'global':
142 ${h.bool2icon(k.split('.')[-1] != 'none')}
143 %else:
144 <span class="perm_tag ${_perm}">${section_perm}</span>
145 %endif
146 </td>
147 <td>
148 %if section == 'repositories':
149 <a href="${h.url('edit_repo',repo_name=k,anchor='permissions_manage')}">${_('edit')}</a>
150 %elif section == 'repositories_groups':
151 <a href="${h.url('edit_repos_group',id=k,anchor='permissions_manage')}">${_('edit')}</a>
152 %else:
153 --
154 %endif
155 </td>
156 </tr>
157 %endfor
158 </tbody>
159 </table>
160 </div>
161 %endif
162 %endfor
163 </div>
164 </div>
165 <div class="box box-left" style="clear:left">
166 <!-- box / title -->
167 <div class="title">
168 <h5>${_('Allowed IP addresses')}</h5>
169 </div>
170
171 <div class="ips_wrap">
172 <table class="noborder">
173 %if c.user_ip_map:
174 %for ip in c.user_ip_map:
175 <tr>
176 <td><div class="ip">${ip.ip_addr}</div></td>
177 <td><div class="ip">${h.ip_range(ip.ip_addr)}</div></td>
178 <td>
179 ${h.form(url('user_ips_delete', id=c.user.user_id),method='delete')}
180 ${h.hidden('del_ip',ip.ip_id)}
181 ${h.hidden('default_user', 'True')}
182 ${h.submit('remove_',_('delete'),id="remove_ip_%s" % ip.ip_id,
183 class_="delete_icon action_button", onclick="return confirm('"+_('Confirm to delete this ip: %s') % ip.ip_addr+"');")}
184 ${h.end_form()}
185 </td>
186 </tr>
187 %endfor
188 %else:
189 <tr><td><div class="ip">${_('All IP addresses are allowed')}</div></td></tr>
190 %endif
191 </table>
192 </div>
193
194 ${h.form(url('user_ips', id=c.user.user_id),method='put')}
195 <div class="form">
196 <!-- fields -->
197 <div class="fields">
198 <div class="field">
199 <div class="label">
200 <label for="new_ip">${_('New ip address')}:</label>
201 </div>
202 <div class="input">
203 ${h.hidden('default_user', 'True')}
204 ${h.text('new_ip', class_='medium')}
205 </div>
206 </div>
207 <div class="buttons">
208 ${h.submit('save',_('Add'),class_="ui-btn large")}
209 ${h.reset('reset',_('Reset'),class_="ui-btn large")}
210 </div>
211 </div>
212 </div>
213 ${h.end_form()}
214 </div>
215 </%def>