mirror of
https://github.com/documize/community.git
synced 2025-07-21 22:29:41 +02:00
persist permissions
WIP
This commit is contained in:
parent
5f7c6d211f
commit
ef285c91de
13 changed files with 764 additions and 829 deletions
|
@ -76,9 +76,9 @@ export default Ember.Component.extend(NotifierMixin, {
|
|||
|
||||
this.get('folderService').getPermissions(this.get('folder.id')).then((permissions) => {
|
||||
permissions.forEach((permission, index) => { // eslint-disable-line no-unused-vars
|
||||
let user = folderPermissions.findBy('userId', permission.get('userId'));
|
||||
if (is.not.undefined(user)) {
|
||||
Ember.setProperties(user, permission);
|
||||
let record = folderPermissions.findBy('userId', permission.get('userId'));
|
||||
if (is.not.undefined(record)) {
|
||||
record = Ember.setProperties(record, permission);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -88,50 +88,40 @@ export default Ember.Component.extend(NotifierMixin, {
|
|||
},
|
||||
|
||||
getDefaultInvitationMessage() {
|
||||
return "Hey there, I am sharing the " + this.get('folder.name') + " space (in " + this.get("appMeta.title") + ") with you so we can both access the same documents.";
|
||||
return "Hey there, I am sharing the " + this.get('folder.name') + " space (in " + this.get("appMeta.title") + ") with you so we can both collaborate on documents.";
|
||||
},
|
||||
|
||||
actions: {
|
||||
setPermissions() {
|
||||
let message = this.getDefaultInvitationMessage();
|
||||
// let folder = this.get('folder');
|
||||
let permissions = this.get('permissions');
|
||||
let folder = this.get('folder');
|
||||
let payload = { Message: message, Permissions: permissions };
|
||||
|
||||
permissions.forEach((permission, index) => { // eslint-disable-line no-unused-vars
|
||||
Ember.set(permission, 'spaceView', $("#space-role-view-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'spaceManage', $("#space-role-manage-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'spaceOwner', $("#space-role-owner-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentAdd', $("#doc-role-add-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentEdit', $("#doc-role-edit-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentDelete', $("#doc-role-delete-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentMove', $("#doc-role-move-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentCopy', $("#doc-role-copy-" + permission.get('userId')).prop('checked'));
|
||||
Ember.set(permission, 'documentTemplate', $("#doc-role-template-" + permission.get('userId')).prop('checked'));
|
||||
let hasEveryone = _.find(permissions, function (permission) {
|
||||
return permission.get('userId') === "" &&
|
||||
(permission.get('spaceView') || permission.get('documentAdd') || permission.get('documentEdit') || permission.get('documentDelete') ||
|
||||
permission.get('documentMove') || permission.get('documentCopy') || permission.get('documentTemplate'));
|
||||
});
|
||||
|
||||
let payload = { Message: message, Permissions: permissions };
|
||||
console.log(payload);
|
||||
this.get('folderService').savePermissions(folder.get('id'), payload).then(() => {
|
||||
this.showNotification('Saved permissions');
|
||||
});
|
||||
|
||||
// this.get('folderService').savePermissions(folder.get('id'), payload).then(() => {
|
||||
// this.showNotification('Saved permissions');
|
||||
// });
|
||||
if (is.not.undefined(hasEveryone)) {
|
||||
folder.markAsPublic();
|
||||
this.showNotification('Marked space as public');
|
||||
} else {
|
||||
if (permissions.length > 1) {
|
||||
folder.markAsRestricted();
|
||||
this.showNotification('Marked space as protected');
|
||||
} else {
|
||||
folder.markAsPrivate();
|
||||
this.showNotification('Marked space as private');
|
||||
}
|
||||
}
|
||||
|
||||
// var hasEveryone = _.find(data, function (permission) {
|
||||
// return permission.userId === "" && (permission.canView || permission.canEdit);
|
||||
// });
|
||||
|
||||
// if (is.not.undefined(hasEveryone)) {
|
||||
// folder.markAsPublic();
|
||||
// } else {
|
||||
// if (data.length > 1) {
|
||||
// folder.markAsRestricted();
|
||||
// } else {
|
||||
// folder.markAsPrivate();
|
||||
// }
|
||||
// }
|
||||
|
||||
// this.get('folderService').save(folder).then(function () {
|
||||
// });
|
||||
// this.get('folderService').save(folder).then(function () {});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue