1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 21:07:17 +00:00
Files
seahub/seahub/templates/sysadmin/sys_useradmin.html
2015-06-27 11:02:16 +08:00

163 lines
6.2 KiB
HTML

{% extends "sysadmin/base.html" %}
{% load seahub_tags i18n %}
{% block cur_users %}tab-cur{% endblock %}
{% block extra_style %}
<style type="text/css">
#upload-file-btn .icon-upload-alt {
color:#777;
margin-right:3px;
}
</style>
{% endblock %}
{% block left_panel %}{{block.super}}
<form action="{% url 'user_search' %}" method="get" class="side-search-form">
<input type="text" name="email" class="input" value="" placeholder="{% trans "Search users..." %}" />
</form>
{% endblock %}
{% block right_panel %}
<div class="tabnav ovhd">
<ul class="tabnav-tabs fleft">
<li class="tabnav-tab tabnav-tab-cur"><a href="{% url 'sys_useradmin' %}">{% trans "Database" %}</a></li>
{% if have_ldap %}
<li class="tabnav-tab"><a href="{% url 'sys_useradmin_ldap' %}">{% trans "LDAP" %}</a></li>
<li class="tabnav-tab"><a href="{% url 'sys_useradmin_ldap_imported' %}">{% trans "LDAP(imported)" %}</a></li>
{% endif %}
<li class="tabnav-tab"><a href="{% url 'sys_useradmin_admins' %}">{% trans "Admins" %}</a></li>
</ul>
<div class="fright">
<button id="upload-file-btn"><span class="icon-upload-alt"></span>{% trans "Import users" %}</button>
<button id="add-user-btn"><img src="{{ MEDIA_URL }}img/add.png" alt="" class="add vam" /><span class="vam">{% trans "Add user" %}</span></button>
</div>
</div>
<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 />
{% if is_pro %}
<label>{% trans "Role"%}</label><span class="icon-question-sign" title="{% trans "You can also add a user as a guest, who will not be allowed to create libraries and groups." %}" style="color:#666; margin-left:3px;"></span>
<select name="role" class="w100">
<option value={{default_user}} selected="selected">{% trans "Default"%}</option>
<option value={{guest_user}}>{% trans "Guest"%}</option>
</select><br />
{% endif %}
<label for="id_password1">{% trans "Password" %}</label><br />
<input type="password" name="password1" id="id_password1" class="input" /><br />
<label for="id_password2">{% trans "Confirm Password" %}</label><br />
<input type="password" name="password2" id="id_password2" class="input" /><br />
<p class="error hide"></p>
<button type="submit" class="submit">{% trans "Submit" %}</button>
</form>
<form id="upload-csv-form" class="hide" enctype="multipart/form-data" method="post" action="{% url 'batch_add_user' %}">{% csrf_token %}
<h3>{% trans "Import users from a CSV file" %}</h3>
<input type="file" name="file" />
<p class="tip">{% trans "File format: user@mail.com,password"%}</p>
<p class="error hide">{% trans "Please choose a CSV file" %}</p>
<button type="submit" class="submit">{% trans "Submit" %}</button>
</form>
{% with is_admin_page=False%}
{% include "sysadmin/useradmin_table.html" %}
{% endwith %}
{% include "snippets/admin_paginator.html" %}
<div id="activate-msg" class="hide">
<p>{% trans "Activating..., please wait" %}</p>
</div>
{% endblock %}
{% block extra_script %}
<script type="text/javascript">
$(function(){
// check if server version is the latest one
$.ajax({
url: 'http://seafile.com/ajax/check_server_version/?v=' + e('{{seafile_version}}') + '&p=' + e('{{platform}}') + '&id=' + '{{server_id}}' + '&pro=' + '{{pro_server}}',
dataType: 'jsonp',
jsonpCallback: 'xx',
crossDomain: true,
success: function(data) {
if (data['need_update']) {
var tip = "{% trans "A new server version %(v)s is available." %}";
tip = tip.replace('%(v)s', data['new_version']);
$('#title-panel').html('<p class="alc" style="background:#fddaa4;color:#1f0600;padding:3px 0;margin:0 0 15px;">' + tip + '</p>').removeClass('hide');
}
}
});
});
$('#add-user-form').submit(function() {
var form = $(this),
form_id = $(this).attr('id'),
email = $.trim(form.children('[name="email"]').val()),
{% if is_pro %}
role = $('select[name="role"]', form).val(),
{% endif %}
pwd1 = $.trim(form.children('[name="password1"]').val()),
pwd2 = $.trim(form.children('[name="password2"]').val());
if (!email) {
apply_form_error(form_id, "{% trans "Email cannot be blank" %}");
return false;
}
if (!pwd1) {
apply_form_error(form_id, "{% trans "Password cannot be blank" %}");
return false;
}
if (!pwd2) {
apply_form_error(form_id, "{% trans "Please enter the password again" %}");
return false;
}
if (pwd1 != pwd2) {
apply_form_error(form_id, "{% trans "Passwords do not match" %}");
return false;
}
var submit_btn = $(this).find('[type="submit"]');
disable(submit_btn);
$.ajax({
url: '{% url 'user_add' %}',
type: 'POST',
datatype: 'json',
cache: 'false',
beforeSend: prepareCSRFToken,
data: {
'email': email,
{% if is_pro %}
'role': role,
{% endif %}
'password1': pwd1,
'password2': pwd2
},
success: function(data) {
if (data['success']) {
location.reload(true);
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (jqXHR.responseText) {
apply_form_error(form_id, $.parseJSON(jqXHR.responseText).error);
} else {
apply_form_error(form_id, "{% trans "Failed. Please check the network." %}");
}
enable(submit_btn);
}
});
return false;
});
$('#upload-file-btn').click(function () {
$('#upload-csv-form').modal();
$('#simplemodal-container').css({'width':'auto', 'height':'auto'});
});
$('#upload-csv-form').submit(function() {
var form = $(this);
if (!$('[name=file]', form).val()) {
$('.error', form).removeClass('hide');
return false;
}
});
{% include "sysadmin/useradmin_js.html" %}
</script>
{% endblock %}