mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 07:01:12 +00:00
[group settings] complete 'import members'
This commit is contained in:
@@ -960,8 +960,8 @@
|
|||||||
<h3>{% trans "Import group members from a CSV file" %}</h3>
|
<h3>{% trans "Import group members from a CSV file" %}</h3>
|
||||||
<input type="file" name="file" />
|
<input type="file" name="file" />
|
||||||
<p class="tip">{% trans "File format: user@mail.com" %}</p>
|
<p class="tip">{% trans "File format: user@mail.com" %}</p>
|
||||||
<p class="error hide">{% trans "Please choose a CSV file" %}</p>
|
|
||||||
<button type="submit" class="submit">{% trans "Submit" %}</button>
|
<button type="submit" class="submit">{% trans "Submit" %}</button>
|
||||||
|
<p class="error hide"></p>
|
||||||
</form>
|
</form>
|
||||||
</script>
|
</script>
|
||||||
<script type="text/template" id="group-manage-members-tmpl">
|
<script type="text/template" id="group-manage-members-tmpl">
|
||||||
|
@@ -246,7 +246,6 @@ define([
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: finish it after the backend py is done.
|
|
||||||
importMembers: function() {
|
importMembers: function() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var $form = $(this.importMembersTemplate());
|
var $form = $(this.importMembersTemplate());
|
||||||
@@ -255,8 +254,9 @@ define([
|
|||||||
|
|
||||||
$form.submit(function() {
|
$form.submit(function() {
|
||||||
var $fileInput = $('[name=file]', $form)[0];
|
var $fileInput = $('[name=file]', $form)[0];
|
||||||
|
var $error = $('.error', $form);
|
||||||
if (!$fileInput.files.length) {
|
if (!$fileInput.files.length) {
|
||||||
$('.error', $form).removeClass('hide');
|
$error.html(gettext("Please choose a CSV file")).removeClass('hide');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,8 +278,27 @@ define([
|
|||||||
contentType: false, // tell jQuery not to set contentType
|
contentType: false, // tell jQuery not to set contentType
|
||||||
beforeSend: Common.prepareCSRFToken,
|
beforeSend: Common.prepareCSRFToken,
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
|
if (data.failed.length > 0) {
|
||||||
|
var err_msg = '';
|
||||||
|
$(data.failed).each(function(index, item) {
|
||||||
|
err_msg += item.email + ': ' + item.error_msg + '<br />';
|
||||||
|
});
|
||||||
|
$error.html(err_msg).removeClass('hide');
|
||||||
|
Common.enableButton($submitBtn);
|
||||||
|
} else {
|
||||||
|
$.modal.close();
|
||||||
|
Common.feedback(gettext("Successfully imported."), 'success');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function () {
|
error: function(xhr) {
|
||||||
|
var error_msg;
|
||||||
|
if (xhr.responseText) {
|
||||||
|
error_msg = $.parseJSON(xhr.responseText).error;
|
||||||
|
} else {
|
||||||
|
error_msg = gettext("Failed. Please check the network.");
|
||||||
|
}
|
||||||
|
$error.html(error_msg).removeClass('hide');
|
||||||
|
Common.enableButton($submitBtn);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
|
@@ -107,6 +107,7 @@ define([
|
|||||||
case 'group_members': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/';
|
case 'group_members': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/';
|
||||||
case 'group_member': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/' + options.email + '/';
|
case 'group_member': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/' + options.email + '/';
|
||||||
case 'group_member_bulk': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/bulk/';
|
case 'group_member_bulk': return siteRoot + 'api/v2.1/groups/' + options.group_id + '/members/bulk/';
|
||||||
|
case 'group_import_members': return siteRoot + 'ajax/group/' + options.group_id + '/members/import/';
|
||||||
case 'group_repos': return siteRoot + 'api2/groups/' + options.group_id + '/repos/';
|
case 'group_repos': return siteRoot + 'api2/groups/' + options.group_id + '/repos/';
|
||||||
case 'toggle_group_modules': return siteRoot + 'ajax/group/' + options.group_id + '/toggle-modules/';
|
case 'toggle_group_modules': return siteRoot + 'ajax/group/' + options.group_id + '/toggle-modules/';
|
||||||
case 'toggle_personal_modules': return siteRoot + 'ajax/toggle-personal-modules/';
|
case 'toggle_personal_modules': return siteRoot + 'ajax/toggle-personal-modules/';
|
||||||
|
Reference in New Issue
Block a user