mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 15:09:14 +00:00
[org admin] added 'address-book'
This commit is contained in:
@@ -11,10 +11,21 @@ define([
|
||||
},
|
||||
|
||||
url: function() {
|
||||
return Common.getUrl({
|
||||
name: 'admin-address-book-group',
|
||||
group_id: this.options.group_id
|
||||
});
|
||||
var url_options;
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
url_options = {
|
||||
name: 'org-admin-address-book-group',
|
||||
org_id: app.pageOptions.org_id,
|
||||
group_id: this.options.group_id
|
||||
};
|
||||
} else {
|
||||
url_options = {
|
||||
name: 'admin-address-book-group',
|
||||
group_id: this.options.group_id
|
||||
};
|
||||
}
|
||||
|
||||
return Common.getUrl(url_options);
|
||||
},
|
||||
|
||||
parse: function(data) {
|
||||
|
@@ -7,7 +7,18 @@ define([
|
||||
|
||||
var collection = Backbone.Collection.extend({
|
||||
url: function() {
|
||||
return Common.getUrl({name: 'admin-address-book-groups'});
|
||||
var url_options;
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
url_options = {
|
||||
name: 'org-admin-address-book-groups',
|
||||
org_id: app.pageOptions.org_id
|
||||
};
|
||||
} else {
|
||||
url_options = {
|
||||
name: 'admin-address-book-groups'
|
||||
};
|
||||
}
|
||||
return Common.getUrl(url_options);
|
||||
},
|
||||
|
||||
parse: function(data) {
|
||||
|
@@ -21,7 +21,20 @@ define([
|
||||
},
|
||||
|
||||
url: function () {
|
||||
return Common.getUrl({name: 'admin-group-libraries', group_id: this.group_id});
|
||||
var url_options = {
|
||||
group_id: this.group_id
|
||||
};
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
$.extend(url_options, {
|
||||
name: 'org-admin-group-libraries',
|
||||
org_id: app.pageOptions.org_id
|
||||
});
|
||||
} else {
|
||||
$.extend(url_options, {
|
||||
name: 'admin-group-libraries'
|
||||
});
|
||||
}
|
||||
return Common.getUrl(url_options);
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -29,14 +29,25 @@ define([
|
||||
deleteGroup: function() {
|
||||
var _this = this;
|
||||
var group_name = this.model.get('name');
|
||||
var url_options = {
|
||||
'group_id': _this.model.get('id')
|
||||
};
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
$.extend(url_options, {
|
||||
'name':'org-admin-address-book-group',
|
||||
'org_id': app.pageOptions.org_id
|
||||
});
|
||||
} else {
|
||||
$.extend(url_options, {
|
||||
'name':'admin-address-book-group'
|
||||
});
|
||||
}
|
||||
|
||||
var popupTitle = gettext("Delete Department");
|
||||
var popupContent = gettext("Are you sure you want to delete %s ?").replace('%s', '<span class="op-target ellipsis ellipsis-op-target" title="' + Common.HTMLescape(group_name) + '">' + Common.HTMLescape(group_name) + '</span>');
|
||||
var yesCallback = function() {
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name':'admin-address-book-group',
|
||||
'group_id': _this.model.get('id')
|
||||
}),
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'DELETE',
|
||||
cache: false,
|
||||
beforeSend: Common.prepareCSRFToken,
|
||||
@@ -81,12 +92,23 @@ define([
|
||||
return false;
|
||||
}
|
||||
|
||||
Common.disableButton($submitBtn);
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
var url_options;
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
url_options = {
|
||||
'name':'org-admin-group',
|
||||
'org_id': app.pageOptions.org_id,
|
||||
'group_id': model.get('id')
|
||||
};
|
||||
} else {
|
||||
url_options = {
|
||||
'name':'admin-group',
|
||||
'group_id': model.get('id')
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
Common.disableButton($submitBtn);
|
||||
$.ajax({
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'PUT',
|
||||
cache: false,
|
||||
beforeSend: Common.prepareCSRFToken,
|
||||
|
@@ -30,12 +30,23 @@ define([
|
||||
var popupTitle = gettext("Delete Library");
|
||||
var popupContent = gettext("Are you sure you want to delete %s ?").replace('%s', '<span class="op-target ellipsis ellipsis-op-target" title="' + Common.HTMLescape(repo_name) + '">' + Common.HTMLescape(repo_name) + '</span>');
|
||||
var yesCallback = function() {
|
||||
var url_options = {
|
||||
group_id: _this.group_id,
|
||||
repo_id: _this.model.get('repo_id')
|
||||
};
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
$.extend(url_options, {
|
||||
name: 'org-admin-group-owned-library',
|
||||
org_id: app.pageOptions.org_id
|
||||
});
|
||||
} else {
|
||||
$.extend(url_options, {
|
||||
name: 'admin-group-owned-library'
|
||||
});
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-group-owned-library',
|
||||
'group_id': _this.group_id,
|
||||
'repo_id': _this.model.get('repo_id')
|
||||
}),
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'DELETE',
|
||||
beforeSend: Common.prepareCSRFToken,
|
||||
dataType: 'json',
|
||||
|
@@ -3,13 +3,15 @@ define([
|
||||
'underscore',
|
||||
'backbone',
|
||||
'common',
|
||||
'select2',
|
||||
'sysadmin-app/views/address-book-group-item',
|
||||
'sysadmin-app/views/group-member',
|
||||
'sysadmin-app/views/address-book-group-library',
|
||||
'sysadmin-app/collection/address-book-group',
|
||||
'sysadmin-app/collection/group-repos'
|
||||
], function($, _, Backbone, Common, GroupItemView, MemberItemView,
|
||||
LibItemView, GroupCollection, GroupRepoCollection) {
|
||||
], function($, _, Backbone, Common, Select2,
|
||||
GroupItemView, MemberItemView, LibItemView,
|
||||
GroupCollection, GroupRepoCollection) {
|
||||
'use strict';
|
||||
|
||||
var view = Backbone.View.extend({
|
||||
@@ -107,18 +109,28 @@ define([
|
||||
var $error = $('.error', $form);
|
||||
var $submitBtn = $('[type="submit"]', $form);
|
||||
|
||||
|
||||
if (!group_name) {
|
||||
$error.html(gettext("Name is required.")).show();
|
||||
return false;
|
||||
}
|
||||
|
||||
var url_options;
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
url_options = {
|
||||
name: 'org-admin-address-book-groups',
|
||||
org_id: app.pageOptions.org_id
|
||||
};
|
||||
} else {
|
||||
url_options = {
|
||||
name: 'admin-address-book-groups'
|
||||
};
|
||||
}
|
||||
|
||||
$error.hide();
|
||||
Common.disableButton($submitBtn);
|
||||
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-address-book-groups'
|
||||
}),
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'POST',
|
||||
cache: false,
|
||||
data: {
|
||||
@@ -170,14 +182,25 @@ define([
|
||||
return false;
|
||||
}
|
||||
|
||||
var url_options;
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
url_options = {
|
||||
name: 'org-admin-group-members',
|
||||
org_id: app.pageOptions.org_id,
|
||||
group_id: _this.options.group_id
|
||||
};
|
||||
} else {
|
||||
url_options = {
|
||||
name: 'admin-group-members',
|
||||
group_id: _this.options.group_id
|
||||
};
|
||||
}
|
||||
|
||||
$error.hide();
|
||||
Common.disableButton($submitBtn);
|
||||
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-group-members',
|
||||
'group_id': _this.options.group_id
|
||||
}),
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {'email': emails.split(',')},
|
||||
@@ -233,11 +256,22 @@ define([
|
||||
$error.hide();
|
||||
Common.disableButton($submitBtn);
|
||||
|
||||
var url_options = {
|
||||
group_id: _this.options.group_id
|
||||
};
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
$.extend(url_options, {
|
||||
name: 'org-admin-group-owned-libraries',
|
||||
org_id: app.pageOptions.org_id
|
||||
});
|
||||
} else {
|
||||
$.extend(url_options, {
|
||||
name: 'admin-group-owned-libraries'
|
||||
});
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-group-owned-libraries',
|
||||
'group_id': _this.options.group_id
|
||||
}),
|
||||
url: Common.getUrl(url_options),
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {'repo_name': name},
|
||||
@@ -321,7 +355,10 @@ define([
|
||||
},
|
||||
|
||||
addLibrary: function(item, collection, options) {
|
||||
var view = new LibItemView({model: item, group_id: this.options.group_id});
|
||||
var view = new LibItemView({
|
||||
model: item,
|
||||
group_id: this.options.group_id
|
||||
});
|
||||
if (options.prepend) {
|
||||
this.$libsTableBody.prepend(view.render().el);
|
||||
} else {
|
||||
|
@@ -24,6 +24,23 @@ define([
|
||||
HLItemView.prototype.initialize.call(this);
|
||||
this.listenTo(this.model, 'change', this.render);
|
||||
|
||||
var url_options = {
|
||||
'group_id': this.model.get('group_id'),
|
||||
'email': this.model.get('email')
|
||||
};
|
||||
if (app.pageOptions.org_id) { // org admin
|
||||
$.extend(url_options, {
|
||||
'name': 'org-admin-group-member',
|
||||
'org_id': app.pageOptions.org_id
|
||||
});
|
||||
} else {
|
||||
$.extend(url_options, {
|
||||
'name': 'admin-group-member'
|
||||
});
|
||||
}
|
||||
this.url_options = url_options;
|
||||
|
||||
|
||||
var _this = this;
|
||||
$(document).on('click', function(e) {
|
||||
var target = e.target || event.srcElement;
|
||||
@@ -45,12 +62,9 @@ define([
|
||||
// '0': member, '1': admin
|
||||
var val = this.$('[name="role"]').val();
|
||||
var is_admin = val == 1 ? true : false;
|
||||
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-group-member',
|
||||
'group_id': _this.model.get('group_id'),
|
||||
'email': _this.model.get('email')
|
||||
}),
|
||||
url: Common.getUrl(this.url_options),
|
||||
type: 'put',
|
||||
dataType: 'json',
|
||||
beforeSend: Common.prepareCSRFToken,
|
||||
@@ -77,11 +91,7 @@ define([
|
||||
var popupContent = gettext("Are you sure you want to delete %s ?").replace('%s', '<span class="op-target ellipsis ellipsis-op-target" title="' + Common.HTMLescape(email) + '">' + Common.HTMLescape(email) + '</span>');
|
||||
var yesCallback = function() {
|
||||
$.ajax({
|
||||
url: Common.getUrl({
|
||||
'name': 'admin-group-member',
|
||||
'group_id': _this.model.get('group_id'),
|
||||
'email': email
|
||||
}),
|
||||
url: Common.getUrl(_this.url_options),
|
||||
type: 'DELETE',
|
||||
beforeSend: Common.prepareCSRFToken,
|
||||
dataType: 'json',
|
||||
|
Reference in New Issue
Block a user