##// END OF EJS Templates
db: adjust beaker_cache column size. If this column is created via Beaker itself it uses...
db: adjust beaker_cache column size. If this column is created via Beaker itself it uses BLOB for mysql, this can cause some issues with cache sizes not fitting. We move the creation into our script, then it uses proper size.

File last commit:

r2114:6e357177 default
r2734:caa42fff default
Show More
user_group_edit_settings.mako
186 lines | 8.8 KiB | application/x-mako | MakoHtmlLexer
/ rhodecode / templates / admin / user_groups / user_group_edit_settings.mako
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%namespace name="base" file="/base/base.mako"/>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${_('User Group: %s') % c.user_group.users_group_name}</h3>
</div>
<div class="panel-body">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('user_groups_update', user_group_id=c.user_group.users_group_id), id='edit_user_group', request=request)}
templating: use .mako as extensions for template files.
r1282 <div class="form">
<!-- fields -->
<div class="fields">
<div class="field">
<div class="label">
<label for="users_group_name">${_('Group name')}:</label>
</div>
<div class="input">
${h.text('users_group_name',class_='medium')}
</div>
</div>
<div class="field badged-field">
<div class="label">
<label for="user">${_('Owner')}:</label>
</div>
<div class="input">
<div class="badge-input-container">
<div class="user-badge">
${base.gravatar_with_user(c.user_group.user.email, show_disabled=not c.user_group.user.active)}
</div>
<div class="badge-input-wrap">
${h.text('user', class_="medium", autocomplete="off")}
</div>
</div>
<form:error name="user"/>
<p class="help-block">${_('Change owner of this user group.')}</p>
</div>
</div>
<div class="field">
<div class="label label-textarea">
<label for="user_group_description">${_('Description')}:</label>
</div>
<div class="textarea textarea-small editor">
${h.textarea('user_group_description',cols=23,rows=5,class_="medium")}
<span class="help-block">${_('Short, optional description for this user group.')}</span>
</div>
</div>
<div class="field">
<div class="label label-checkbox">
<label for="users_group_active">${_('Active')}:</label>
</div>
<div class="checkboxes">
${h.checkbox('users_group_active',value=True)}
</div>
</div>
<div class="field">
<div class="label label-checkbox">
<label for="users_group_active">${_('Add members')}:</label>
</div>
<div class="input">
${h.text('user_group_add_members', placeholder="user/usergroup", class_="medium")}
</div>
</div>
<input type="hidden" name="__start__" value="user_group_members:sequence"/>
<table id="group_members_placeholder" class="rctable group_members">
<tr>
<th>${_('Username')}</th>
<th>${_('Action')}</th>
</tr>
% if c.group_members_obj:
% for user in c.group_members_obj:
<tr>
<td id="member_user_${user.user_id}" class="td-author">
<div class="group_member">
${base.gravatar(user.email, 16)}
users: ported controllers from pylons into pyramid views.
r2114 <span class="username user">${h.link_to(h.person(user), h.route_path('user_edit',user_id=user.user_id))}</span>
templating: use .mako as extensions for template files.
r1282 <input type="hidden" name="__start__" value="member:mapping">
<input type="hidden" name="member_user_id" value="${user.user_id}">
<input type="hidden" name="type" value="existing" id="member_${user.user_id}">
<input type="hidden" name="__end__" value="member:mapping">
</div>
</td>
<td class="">
<div class="usergroup_member_remove action_button" onclick="removeUserGroupMember(${user.user_id}, true)" style="visibility: visible;">
<i class="icon-remove-sign"></i>
</div>
</td>
</tr>
% endfor
% else:
<tr><td colspan="2">${_('No members yet')}</td></tr>
% endif
</table>
<input type="hidden" name="__end__" value="user_group_members:sequence"/>
<div class="buttons">
${h.submit('Save',_('Save'),class_="btn")}
</div>
</div>
</div>
${h.end_form()}
</div>
</div>
<script>
$(document).ready(function(){
$("#group_parent_id").select2({
'containerCssClass': "drop-menu",
'dropdownCssClass': "drop-menu-dropdown",
'dropdownAutoWidth': true
});
removeUserGroupMember = function(userId){
$('#member_'+userId).val('remove');
$('#member_user_'+userId).addClass('to-delete');
};
$('#user_group_add_members').autocomplete({
serviceUrl: pyroutes.url('user_autocomplete_data'),
minChars:2,
maxHeight:400,
width:300,
deferRequestBy: 300, //miliseconds
showNoSuggestionNotice: true,
params: { user_groups:true },
formatResult: autocompleteFormatResult,
lookupFilter: autocompleteFilterResult,
onSelect: function(element, suggestion){
function addMember(user, fromUserGroup) {
var gravatar = user.icon_link;
var username = user.value_display;
users: ported controllers from pylons into pyramid views.
r2114 var userLink = pyroutes.url('user_edit', {"user_id": user.id});
templating: use .mako as extensions for template files.
r1282 var uid = user.id;
if (fromUserGroup) {
username = username +" "+ _gettext('(from usergroup {0})'.format(fromUserGroup))
}
var elem = $(
('<tr>'+
'<td id="member_user_{6}" class="td-author td-author-new-entry">'+
'<div class="group_member">'+
'<img class="gravatar" src="{0}" height="16" width="16">'+
'<span class="username user"><a href="{1}">{2}</a></span>'+
'<input type="hidden" name="__start__" value="member:mapping">'+
'<input type="hidden" name="member_user_id" value="{3}">'+
'<input type="hidden" name="type" value="new" id="member_{4}">'+
'<input type="hidden" name="__end__" value="member:mapping">'+
'</div>'+
'</td>'+
'<td class="td-author-new-entry">'+
'<div class="usergroup_member_remove action_button" onclick="removeUserGroupMember({5}, true)" style="visibility: visible;">'+
'<i class="icon-remove-sign"></i>'+
'</div>'+
'</td>'+
'</tr>').format(gravatar, userLink, username,
uid, uid, uid, uid)
);
$('#group_members_placeholder').append(elem)
}
if (suggestion.value_type == 'user_group') {
$.getJSON(
user-groups: moved the display of user group into a pyramid view
r1980 pyroutes.url('user_group_members_data',
templating: use .mako as extensions for template files.
r1282 {'user_group_id': suggestion.id}),
function(data) {
$.each(data.members, function(idx, user) {
addMember(user, suggestion.value)
});
}
);
} else if (suggestion.value_type == 'user') {
addMember(suggestion, null);
}
}
});
UsersAutoComplete('user', '${c.rhodecode_user.user_id}');
})
</script>