mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-20 10:58:33 +00:00
admin v2
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="add-user-form" action="" method="post" class="hide">{% csrf_token %}
|
||||
<form id="add-user-form" action="" method="post" class="hide">{% csrf_token %}
|
||||
<h3>{% trans "Add user" %}</h3>
|
||||
<label for="id_email">{% trans "Email" %}</label><br />
|
||||
<input type="text" name="email" id="id_email" class="input" /><br />
|
||||
@@ -34,10 +34,25 @@
|
||||
<input type="password" name="password2" id="id_password2" class="input" /><br />
|
||||
<p class="error hide"></p>
|
||||
<input type="submit" value="{% trans "Submit" %}" class="submit" />
|
||||
</form>
|
||||
</form>
|
||||
<form id="add-admin-form" method="post" name="add-admin-form" class="tab-popup hide">{% csrf_token %}
|
||||
<h3 class="hd">{% trans "Add admins"%}</h3>
|
||||
<div id="add-admin-tabs" class="tab-popup-tabs">
|
||||
<ul class="tab-popup-tabs-nav">
|
||||
<li class="tab"><a href="#enter" class="a">{% trans 'Enter' %}</a></li>
|
||||
</ul>
|
||||
<div id="enter">
|
||||
<textarea id="added-member-name" name="user_email" placeholder="{% trans "emails, separated by ','" %}"></textarea><br />
|
||||
<p class="tip">{% trans "Tip: the emails should be the users already added."%}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bot">
|
||||
<p class="error hide"></p>
|
||||
<input type="submit" value="{% trans "Submit"%}" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% include "sysadmin/useradmin_table.html"%}
|
||||
{% include "sysadmin/useradmin_add_form.html" %}
|
||||
|
||||
<div id="activate-msg" class="hide">
|
||||
<p>{% trans "Activating..., please wait" %}</p>
|
||||
@@ -45,7 +60,7 @@
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_script %}{{block.super}}
|
||||
{% block extra_script %}
|
||||
<script type="text/javascript">
|
||||
|
||||
var cur_tab = $('.ui-tabs-selected .a');
|
||||
@@ -122,7 +137,63 @@ $('#add-user-form').submit(function() {
|
||||
return false;
|
||||
});
|
||||
|
||||
var user_list = [], user_email;
|
||||
{% for user in users %}
|
||||
{% if not user.is_self %}
|
||||
{% if not user.is_staff %}
|
||||
user_email = '{{ user.email }}';
|
||||
user_list.push({value:user_email, label:user_email});
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
$('#add-admin-btn').click(function() {
|
||||
var form = $("#add-admin-form");
|
||||
form.modal({appendTo: "#main", focus:false});
|
||||
$('#simplemodal-container').css({'height':'auto', 'padding':0});
|
||||
$('#add-admin-tabs').tabs();
|
||||
|
||||
addAutocomplete('#added-member-name', '#enter', user_list);
|
||||
});
|
||||
|
||||
$('#add-admin-form').submit(function() {
|
||||
var form = $(this),
|
||||
cur_tab_id = $('.ui-tabs-selected a', form).attr('href'),
|
||||
post_data = '',
|
||||
input = $('[name="user_email"]', form);
|
||||
post_data = input.val();
|
||||
|
||||
if (!post_data) {
|
||||
apply_form_error(form.attr('id'), '{% trans "Please enter emails, or select some." %}');
|
||||
return false;
|
||||
}
|
||||
|
||||
var submit_btn = $('[type="submit"]', form);
|
||||
disable(submit_btn);
|
||||
$.ajax({
|
||||
url: '{% url 'batch_user_make_admin' %}',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
beforeSend: prepareCSRFToken,
|
||||
data: {
|
||||
'set_admin_emails': post_data
|
||||
},
|
||||
success: function(data) {
|
||||
location.reload('true');
|
||||
},
|
||||
error: function(data, textStatus, jqXHR) {
|
||||
var errors = $.parseJSON(data.responseText);
|
||||
$.each(errors, function(index, value) {
|
||||
apply_form_error(form.attr('id'), value);
|
||||
});
|
||||
enable(submit_btn);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
{% include "sysadmin/useradmin_js.html" %}
|
||||
{% include "sysadmin/useradmin_add_js.html" %}
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
@@ -1,43 +0,0 @@
|
||||
{% load i18n avatar_tags %}
|
||||
<form id="add-admin-form" method="post" name="add-admin-form" class="tab-popup hide">{% csrf_token %}
|
||||
<h3 class="hd">{% trans "Add admins"%}</h3>
|
||||
<div id="add-admin-tabs" class="tab-popup-tabs">
|
||||
<ul class="tab-popup-tabs-nav">
|
||||
<li class="tab"><a href="#enter" class="a">{% trans 'Enter' %}</a></li>
|
||||
{%comment%}
|
||||
<li class="tab"><a href="#user-options" class="a">{% trans 'Users' %}</a></li>
|
||||
{%endcomment%}
|
||||
</ul>
|
||||
<div id="enter">
|
||||
<textarea id="added-member-name" name="user_email" placeholder="{% trans "emails, separated by ','" %}"></textarea><br />
|
||||
{% if cloud_mode and not org %}
|
||||
<p class="tip">{% trans "Tip: an invitation will be sent if the email is not registered."%}</p>
|
||||
{% else %}
|
||||
<p class="tip">{% trans "Tip: the emails should be the users already added."%}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{%comment%}
|
||||
<div id="user-options" class="hide">
|
||||
<ul class="option-list">
|
||||
{% for user in users %}
|
||||
{% if not user.is_self %}
|
||||
{% if not user.is_staff %}
|
||||
<li>
|
||||
<label class="checkbox-label">
|
||||
<span class="checkbox"><input type="checkbox" name="user" value="{{ user.email }}" class="checkbox-orig" /></span>
|
||||
{% avatar user.email 20 %} <span class="checkbox-option">{{ user.email }}</span>
|
||||
</label>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{%endcomment%}
|
||||
</div>
|
||||
<div class="bot">
|
||||
<p class="error hide"></p>
|
||||
<input type="submit" value="{% trans "Submit"%}" />
|
||||
</div>
|
||||
</form>
|
||||
|
@@ -1,66 +0,0 @@
|
||||
{% load i18n %}
|
||||
|
||||
var user_list = [], user_email;
|
||||
{% for user in users %}
|
||||
{% if not user.is_self %}
|
||||
{% if not user.is_staff %}
|
||||
user_email = '{{ user.email }}';
|
||||
user_list.push({value:user_email, label:user_email});
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
$('#add-admin-btn').click(function() {
|
||||
var form = $("#add-admin-form");
|
||||
form.modal({appendTo: "#main", focus:false});
|
||||
$('#simplemodal-container').css({'height':'auto', 'padding':0});
|
||||
$('#add-admin-tabs').tabs();
|
||||
|
||||
addAutocomplete('#added-member-name', '#enter', user_list);
|
||||
});
|
||||
|
||||
$('#add-admin-form').submit(function() {
|
||||
var form = $(this),
|
||||
cur_tab_id = $('.ui-tabs-selected a', form).attr('href'),
|
||||
post_data = '',
|
||||
input = $('[name="user_email"]', form);
|
||||
switch(cur_tab_id) {
|
||||
case '#enter':
|
||||
post_data = input.val();
|
||||
break;
|
||||
case '#user-options':
|
||||
$(cur_tab_id + ' .checkbox-checked .checkbox-orig').each(function() {
|
||||
post_data += $(this).val() + ',';
|
||||
});
|
||||
input.val(post_data);
|
||||
}
|
||||
if (!post_data) {
|
||||
apply_form_error(form.attr('id'), '{% trans "Please enter emails, or select some." %}');
|
||||
return false;
|
||||
}
|
||||
|
||||
var submit_btn = $('[type="submit"]', form);
|
||||
disable(submit_btn);
|
||||
$.ajax({
|
||||
url: '{% url 'batch_user_make_admin' %}',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
beforeSend: prepareCSRFToken,
|
||||
data: {
|
||||
'set_admin_emails': post_data
|
||||
},
|
||||
success: function(data) {
|
||||
location.reload('true');
|
||||
},
|
||||
error: function(data, textStatus, jqXHR) {
|
||||
var errors = $.parseJSON(data.responseText);
|
||||
$.each(errors, function(index, value) {
|
||||
apply_form_error(form.attr('id'), value);
|
||||
});
|
||||
enable(submit_btn);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
@@ -718,17 +718,23 @@ def batch_user_make_admin(request):
|
||||
set_admin_emails = request.POST.get('set_admin_emails')
|
||||
set_admin_emails = string2list(set_admin_emails)
|
||||
|
||||
try:
|
||||
success = []
|
||||
failed = []
|
||||
|
||||
for email in set_admin_emails:
|
||||
print email
|
||||
try:
|
||||
user = User.objects.get(email=email)
|
||||
user.is_staff = True
|
||||
user.save()
|
||||
result['success'] = True
|
||||
messages.success(request, _(u'Successfully patch set admin'))
|
||||
return HttpResponse(json.dumps(result), content_type=content_type)
|
||||
except Exception, e:
|
||||
result['success'] = False
|
||||
messages.error(request, _(e))
|
||||
return HttpResponse(json.dumps(result), status=500, content_type=content_type)
|
||||
success.append(email)
|
||||
except User.DoesNotExist:
|
||||
failed.append(email)
|
||||
|
||||
for item in success:
|
||||
messages.success(request, _(u'Successfully set %s as admin') % item)
|
||||
for item in failed:
|
||||
messages.error(request, _(u'Failed set %s as admin') % item)
|
||||
|
||||
result['success'] = True
|
||||
return HttpResponse(json.dumps(result), content_type=content_type)
|
||||
|
||||
|
Reference in New Issue
Block a user