mirror of
https://github.com/documize/community.git
synced 2025-08-07 22:45:24 +02:00
Merge branch 'master' into github-extension
This commit is contained in:
commit
203d2e8a4d
5 changed files with 329 additions and 332 deletions
|
@ -2,7 +2,6 @@ import Ember from 'ember';
|
|||
import Base from 'ember-simple-auth/authenticators/base';
|
||||
import encodingUtil from '../utils/encoding';
|
||||
import netUtil from '../utils/net';
|
||||
import models from '../utils/model';
|
||||
|
||||
const {
|
||||
isPresent,
|
||||
|
|
|
@ -1,143 +1,143 @@
|
|||
import Ember from 'ember';
|
||||
import models from '../../../utils/model';
|
||||
import NotifierMixin from '../../../mixins/notifier';
|
||||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(NotifierMixin, {
|
||||
folderService: Ember.inject.service('folder'),
|
||||
userService: Ember.inject.service('user'),
|
||||
folder: {},
|
||||
tab: "",
|
||||
folderService: Ember.inject.service('folder'),
|
||||
userService: Ember.inject.service('user'),
|
||||
folder: {},
|
||||
tab: "",
|
||||
|
||||
beforeModel: function (transition) {
|
||||
this.tab = is.not.undefined(transition.queryParams.tab) ? transition.queryParams.tab : "tabGeneral";
|
||||
},
|
||||
beforeModel: function (transition) {
|
||||
this.tab = is.not.undefined(transition.queryParams.tab) ? transition.queryParams.tab : "tabGeneral";
|
||||
},
|
||||
|
||||
model(params) {
|
||||
return this.get('folderService').getFolder(params.folder_id);
|
||||
},
|
||||
model(params) {
|
||||
return this.get('folderService').getFolder(params.folder_id);
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
var self = this;
|
||||
this.folder = model;
|
||||
controller.set('model', model);
|
||||
setupController(controller, model) {
|
||||
var self = this;
|
||||
this.folder = model;
|
||||
controller.set('model', model);
|
||||
|
||||
controller.set('tabGeneral', false);
|
||||
controller.set('tabShare', false);
|
||||
controller.set('tabPermissions', false);
|
||||
controller.set('tabDelete', false);
|
||||
controller.set(this.get('tab'), true);
|
||||
controller.set('tabGeneral', false);
|
||||
controller.set('tabShare', false);
|
||||
controller.set('tabPermissions', false);
|
||||
controller.set('tabDelete', false);
|
||||
controller.set(this.get('tab'), true);
|
||||
|
||||
this.get('folderService').getAll().then(function (folders) {
|
||||
controller.set('folders', folders.rejectBy('id', model.get('id')));
|
||||
});
|
||||
this.get('folderService').getAll().then(function (folders) {
|
||||
controller.set('folders', folders.rejectBy('id', model.get('id')));
|
||||
});
|
||||
|
||||
this.get('userService').getAll().then(function (users) {
|
||||
controller.set('users', users);
|
||||
this.get('userService').getAll().then(function (users) {
|
||||
controller.set('users', users);
|
||||
|
||||
var folderPermissions = [];
|
||||
var folderPermissions = [];
|
||||
|
||||
var u = models.FolderPermissionModel.create({
|
||||
userId: "",
|
||||
fullname: " Everyone",
|
||||
orgId: model.get('orgId'),
|
||||
folderId: model.get('id'),
|
||||
canEdit: false,
|
||||
canView: false
|
||||
});
|
||||
var u = models.FolderPermissionModel.create({
|
||||
userId: "",
|
||||
fullname: " Everyone",
|
||||
orgId: model.get('orgId'),
|
||||
folderId: model.get('id'),
|
||||
canEdit: false,
|
||||
canView: false
|
||||
});
|
||||
|
||||
folderPermissions.pushObject(u);
|
||||
folderPermissions.pushObject(u);
|
||||
|
||||
users.forEach(function (user, index) /* jshint ignore:line */ {
|
||||
if (user.get('active')) {
|
||||
var u = models.FolderPermissionModel.create({
|
||||
userId: user.get('id'),
|
||||
fullname: user.get('fullname'),
|
||||
orgId: model.get('orgId'),
|
||||
folderId: model.get('id'),
|
||||
canEdit: false,
|
||||
canView: false,
|
||||
canViewPrevious: false
|
||||
});
|
||||
users.forEach(function (user, index) /* jshint ignore:line */ {
|
||||
if (user.get('active')) {
|
||||
var u = models.FolderPermissionModel.create({
|
||||
userId: user.get('id'),
|
||||
fullname: user.get('fullname'),
|
||||
orgId: model.get('orgId'),
|
||||
folderId: model.get('id'),
|
||||
canEdit: false,
|
||||
canView: false,
|
||||
canViewPrevious: false
|
||||
});
|
||||
|
||||
folderPermissions.pushObject(u);
|
||||
}
|
||||
});
|
||||
folderPermissions.pushObject(u);
|
||||
}
|
||||
});
|
||||
|
||||
self.get('folderService').getPermissions(model.id).then(function (permissions) {
|
||||
permissions.forEach(function (permission, index) /* jshint ignore:line */ {
|
||||
var folderPermission = folderPermissions.findBy('userId', permission.userId);
|
||||
if (is.not.undefined(folderPermission)) {
|
||||
Ember.set(folderPermission, 'orgId', permission.orgId);
|
||||
Ember.set(folderPermission, 'folderId', permission.folderId);
|
||||
Ember.set(folderPermission, 'canEdit', permission.canEdit);
|
||||
Ember.set(folderPermission, 'canView', permission.canView);
|
||||
Ember.set(folderPermission, 'canViewPrevious', permission.canView);
|
||||
}
|
||||
});
|
||||
self.get('folderService').getPermissions(model.id).then(function (permissions) {
|
||||
permissions.forEach(function (permission, index) /* jshint ignore:line */ {
|
||||
var folderPermission = folderPermissions.findBy('userId', permission.userId);
|
||||
if (is.not.undefined(folderPermission)) {
|
||||
Ember.set(folderPermission, 'orgId', permission.orgId);
|
||||
Ember.set(folderPermission, 'folderId', permission.folderId);
|
||||
Ember.set(folderPermission, 'canEdit', permission.canEdit);
|
||||
Ember.set(folderPermission, 'canView', permission.canView);
|
||||
Ember.set(folderPermission, 'canViewPrevious', permission.canView);
|
||||
}
|
||||
});
|
||||
|
||||
controller.set('permissions', folderPermissions.sortBy('fullname'));
|
||||
});
|
||||
});
|
||||
},
|
||||
controller.set('permissions', folderPermissions.sortBy('fullname'));
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
actions: {
|
||||
onRename: function (folder) {
|
||||
let self = this;
|
||||
this.get('folderService').save(folder).then(function () {
|
||||
self.showNotification("Renamed");
|
||||
});
|
||||
},
|
||||
actions: {
|
||||
onRename: function (folder) {
|
||||
let self = this;
|
||||
this.get('folderService').save(folder).then(function () {
|
||||
self.showNotification("Renamed");
|
||||
});
|
||||
},
|
||||
|
||||
onRemove(moveId) {
|
||||
let self = this;
|
||||
onRemove(moveId) {
|
||||
let self = this;
|
||||
|
||||
this.get('folderService').remove(this.folder.get('id'), moveId).then(function () { /* jshint ignore:line */
|
||||
self.showNotification("Deleted");
|
||||
self.session.clearSessionItem('folder');
|
||||
this.get('folderService').remove(this.folder.get('id'), moveId).then(function () { /* jshint ignore:line */
|
||||
self.showNotification("Deleted");
|
||||
self.session.clearSessionItem('folder');
|
||||
|
||||
self.get('folderService').getFolder(moveId).then(function (folder) {
|
||||
self.get('folderService').setCurrentFolder(folder);
|
||||
self.transitionTo('folders.folder', folder.get('id'), folder.get('slug'));
|
||||
});
|
||||
});
|
||||
},
|
||||
self.get('folderService').getFolder(moveId).then(function (folder) {
|
||||
self.get('folderService').setCurrentFolder(folder);
|
||||
self.transitionTo('folders.folder', folder.get('id'), folder.get('slug'));
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
onShare: function (invitation) {
|
||||
let self = this;
|
||||
onShare: function (invitation) {
|
||||
let self = this;
|
||||
|
||||
this.get('folderService').share(this.folder.get('id'), invitation).then(function () {
|
||||
self.showNotification("Shared");
|
||||
});
|
||||
},
|
||||
this.get('folderService').share(this.folder.get('id'), invitation).then(function () {
|
||||
self.showNotification("Shared");
|
||||
});
|
||||
},
|
||||
|
||||
onPermission: function (folder, message, permissions) {
|
||||
var self = this;
|
||||
var data = permissions.map(function (obj) {
|
||||
return obj.getProperties('orgId', 'folderId', 'userId', 'canEdit', 'canView'); });
|
||||
var payload = { Message: message, Roles: data };
|
||||
onPermission: function (folder, message, permissions) {
|
||||
var self = this;
|
||||
var data = permissions.map(function (obj) {
|
||||
return obj.getProperties('orgId', 'folderId', 'userId', 'canEdit', 'canView');
|
||||
});
|
||||
var payload = { Message: message, Roles: data };
|
||||
|
||||
this.get('folderService').savePermissions(folder.get('id'), payload).then(function () {
|
||||
self.showNotification("Saved");
|
||||
});
|
||||
this.get('folderService').savePermissions(folder.get('id'), payload).then(function () {
|
||||
self.showNotification("Saved");
|
||||
});
|
||||
|
||||
var hasEveryone = _.find(data, function (permission) {
|
||||
return permission.userId === "" && (permission.canView || permission.canEdit);
|
||||
});
|
||||
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();
|
||||
}
|
||||
}
|
||||
if (is.not.undefined(hasEveryone)) {
|
||||
folder.markAsPublic();
|
||||
} else {
|
||||
if (data.length > 1) {
|
||||
folder.markAsRestricted();
|
||||
} else {
|
||||
folder.markAsPrivate();
|
||||
}
|
||||
}
|
||||
|
||||
this.get('folderService').save(folder).then(function () {
|
||||
// window.location.href = "/folder/" + folder.get('id') + "/" + folder.get('slug');
|
||||
});
|
||||
}
|
||||
}
|
||||
this.get('folderService').save(folder).then(function () {
|
||||
// window.location.href = "/folder/" + folder.get('id') + "/" + folder.get('slug');
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -2,28 +2,26 @@ import Ember from 'ember';
|
|||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
||||
userService: Ember.inject.service('user'),
|
||||
folderService: Ember.inject.service('folder'),
|
||||
session: Ember.inject.service(),
|
||||
userService: Ember.inject.service('user'),
|
||||
folderService: Ember.inject.service('folder'),
|
||||
session: Ember.inject.service(),
|
||||
|
||||
beforeModel: function () {
|
||||
if (!this.get("session").authenticated) {
|
||||
this.transitionTo('auth.login');
|
||||
}
|
||||
},
|
||||
|
||||
beforeModel: function() {
|
||||
if (!this.get("session").authenticated) {
|
||||
this.transitionTo('auth.login');
|
||||
}
|
||||
},
|
||||
model: function () {
|
||||
return this.get('userService').getUser(this.get("session.session.authenticated.user.id"));
|
||||
},
|
||||
|
||||
model: function() {
|
||||
return this.get('userService').getUser(this.get("session.session.authenticated.user.id"));
|
||||
debugger;
|
||||
},
|
||||
afterModel: function (model) {
|
||||
this.browser.setTitleWithoutSuffix(model.get('fullname'));
|
||||
},
|
||||
|
||||
afterModel: function(model) {
|
||||
this.browser.setTitleWithoutSuffix(model.get('fullname'));
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
controller.set('model', model);
|
||||
controller.set("folder", this.get('folderService.currentFolder'));
|
||||
}
|
||||
setupController(controller, model) {
|
||||
controller.set('model', model);
|
||||
controller.set("folder", this.get('folderService.currentFolder'));
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import Ember from 'ember';
|
||||
import AjaxService from 'ember-ajax/services/ajax';
|
||||
import config from '../config/environment';
|
||||
|
||||
const {
|
||||
computed,
|
||||
inject: { service }
|
||||
} = Ember;
|
||||
|
||||
|
|
|
@ -13,250 +13,250 @@ import Ember from 'ember';
|
|||
import models from '../utils/model';
|
||||
|
||||
export default Ember.Service.extend({
|
||||
sessionService: Ember.inject.service('session'),
|
||||
ajax: Ember.inject.service(),
|
||||
sessionService: Ember.inject.service('session'),
|
||||
ajax: Ember.inject.service(),
|
||||
|
||||
// Returns document model for specified document id.
|
||||
getDocument(documentId) {
|
||||
return this.get('ajax').request(`documents/${documentId}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
return models.DocumentModel.create(response);
|
||||
});
|
||||
},
|
||||
// Returns document model for specified document id.
|
||||
getDocument(documentId) {
|
||||
return this.get('ajax').request(`documents/${documentId}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
return models.DocumentModel.create(response);
|
||||
});
|
||||
},
|
||||
|
||||
// Returns all documents for specified folder.
|
||||
getAllByFolder(folderId) {
|
||||
return this.get('ajax').request(`documents?folder=${folderId}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
let documents = Ember.ArrayProxy.create({
|
||||
content: Ember.A([])
|
||||
});
|
||||
// Returns all documents for specified folder.
|
||||
getAllByFolder(folderId) {
|
||||
return this.get('ajax').request(`documents?folder=${folderId}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
let documents = Ember.ArrayProxy.create({
|
||||
content: Ember.A([])
|
||||
});
|
||||
|
||||
_.each(response, function(doc) {
|
||||
let documentModel = models.DocumentModel.create(doc);
|
||||
documents.pushObject(documentModel);
|
||||
});
|
||||
_.each(response, function (doc) {
|
||||
let documentModel = models.DocumentModel.create(doc);
|
||||
documents.pushObject(documentModel);
|
||||
});
|
||||
|
||||
return documents;
|
||||
});
|
||||
},
|
||||
return documents;
|
||||
});
|
||||
},
|
||||
|
||||
// getDocumentsByTag returns all documents for specified tag (not folder!).
|
||||
getAllByTag(tag) {
|
||||
return this.get('ajax').request(`documents?filter=tag&tag=${tag}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
let documents = Ember.ArrayProxy.create({
|
||||
content: Ember.A([])
|
||||
});
|
||||
// getDocumentsByTag returns all documents for specified tag (not folder!).
|
||||
getAllByTag(tag) {
|
||||
return this.get('ajax').request(`documents?filter=tag&tag=${tag}`, {
|
||||
method: "GET"
|
||||
}).then((response) => {
|
||||
let documents = Ember.ArrayProxy.create({
|
||||
content: Ember.A([])
|
||||
});
|
||||
|
||||
_.each(response, function(doc) {
|
||||
let documentModel = models.DocumentModel.create(doc);
|
||||
documents.pushObject(documentModel);
|
||||
});
|
||||
_.each(response, function (doc) {
|
||||
let documentModel = models.DocumentModel.create(doc);
|
||||
documents.pushObject(documentModel);
|
||||
});
|
||||
|
||||
return documents;
|
||||
});
|
||||
},
|
||||
return documents;
|
||||
});
|
||||
},
|
||||
|
||||
// saveDocument updates an existing document record.
|
||||
save(doc) {
|
||||
let id = doc.get('id');
|
||||
// saveDocument updates an existing document record.
|
||||
save(doc) {
|
||||
let id = doc.get('id');
|
||||
|
||||
return this.get('ajax').request(`documents/${id}`, {
|
||||
method: 'PUT',
|
||||
data: JSON.stringify(doc)
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${id}`, {
|
||||
method: 'PUT',
|
||||
data: JSON.stringify(doc)
|
||||
});
|
||||
},
|
||||
|
||||
getBatchedPages: function(documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/batch`;
|
||||
getBatchedPages: function (documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/batch`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'POST',
|
||||
data: payload
|
||||
}).then((pages) => {
|
||||
if (is.not.array(pages)) {
|
||||
pages = [];
|
||||
}
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'POST',
|
||||
data: payload
|
||||
}).then((pages) => {
|
||||
if (is.not.array(pages)) {
|
||||
pages = [];
|
||||
}
|
||||
|
||||
return pages;
|
||||
});
|
||||
},
|
||||
return pages;
|
||||
});
|
||||
},
|
||||
|
||||
changePageSequence: function(documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/sequence`;
|
||||
changePageSequence: function (documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/sequence`;
|
||||
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
|
||||
changePageLevel(documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/level`;
|
||||
changePageLevel(documentId, payload) {
|
||||
let url = `documents/${documentId}/pages/level`;
|
||||
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
|
||||
deleteDocument: function(documentId) {
|
||||
let url = `documents/${documentId}`;
|
||||
deleteDocument: function (documentId) {
|
||||
let url = `documents/${documentId}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
|
||||
updatePage: function(documentId, pageId, payload, skipRevision) {
|
||||
var revision = skipRevision ? "?r=true" : "?r=false";
|
||||
let url = `documents/${documentId}/pages/${pageId}${revision}`
|
||||
updatePage: function (documentId, pageId, payload, skipRevision) {
|
||||
var revision = skipRevision ? "?r=true" : "?r=false";
|
||||
let url = `documents/${documentId}/pages/${pageId}${revision}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'PUT',
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'PUT',
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
|
||||
// addPage inserts new page to an existing document.
|
||||
addPage: function(documentId, payload) {
|
||||
let url = `documents/${documentId}/pages`;
|
||||
// addPage inserts new page to an existing document.
|
||||
addPage: function (documentId, payload) {
|
||||
let url = `documents/${documentId}/pages`;
|
||||
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
|
||||
// Nukes multiple pages from the document.
|
||||
deletePages: function(documentId, pageId, payload) {
|
||||
let url = `documents/${documentId}/pages/${pageId}`;
|
||||
// Nukes multiple pages from the document.
|
||||
deletePages: function (documentId, pageId, payload) {
|
||||
let url = `documents/${documentId}/pages/${pageId}`;
|
||||
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').post(url, {
|
||||
data: JSON.stringify(payload),
|
||||
contentType: 'json'
|
||||
});
|
||||
},
|
||||
|
||||
// Nukes a single page from the document.
|
||||
deletePage: function(documentId, pageId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}`;
|
||||
// Nukes a single page from the document.
|
||||
deletePage: function (documentId, pageId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
|
||||
getPageRevisions(documentId, pageId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions`;
|
||||
getPageRevisions(documentId, pageId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: "GET"
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: "GET"
|
||||
});
|
||||
},
|
||||
|
||||
getPageRevisionDiff(documentId, pageId, revisionId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions/${revisionId}`;
|
||||
getPageRevisionDiff(documentId, pageId, revisionId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions/${revisionId}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: "GET",
|
||||
dataType: 'text'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: "GET",
|
||||
dataType: 'text'
|
||||
});
|
||||
},
|
||||
|
||||
rollbackPage(documentId, pageId, revisionId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions/${revisionId}`;
|
||||
rollbackPage(documentId, pageId, revisionId) {
|
||||
let url = `documents/${documentId}/pages/${pageId}/revisions/${revisionId}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
method: "POST"
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(url, {
|
||||
method: "POST"
|
||||
});
|
||||
},
|
||||
|
||||
// document meta referes to number of views, edits, approvals, etc.
|
||||
getMeta(documentId) {
|
||||
// document meta referes to number of views, edits, approvals, etc.
|
||||
getMeta(documentId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/meta`, {
|
||||
method: "GET"
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${documentId}/meta`, {
|
||||
method: "GET"
|
||||
});
|
||||
},
|
||||
|
||||
// Returns all pages without the content
|
||||
getTableOfContents(documentId) {
|
||||
// Returns all pages without the content
|
||||
getTableOfContents(documentId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/pages?content=0`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function(obj) {
|
||||
data.pushObject(models.PageModel.create(obj));
|
||||
});
|
||||
return this.get('ajax').request(`documents/${documentId}/pages?content=0`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function (obj) {
|
||||
data.pushObject(models.PageModel.create(obj));
|
||||
});
|
||||
|
||||
return data;
|
||||
});
|
||||
},
|
||||
return data;
|
||||
});
|
||||
},
|
||||
|
||||
// Returns all document pages with content
|
||||
getPages(documentId) {
|
||||
// Returns all document pages with content
|
||||
getPages(documentId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/pages`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let pages = [];
|
||||
return this.get('ajax').request(`documents/${documentId}/pages`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let pages = [];
|
||||
|
||||
_.each(response, function(page) {
|
||||
pages.pushObject(models.PageModel.create(page));
|
||||
});
|
||||
_.each(response, function (page) {
|
||||
pages.pushObject(models.PageModel.create(page));
|
||||
});
|
||||
|
||||
return pages;
|
||||
});
|
||||
},
|
||||
return pages;
|
||||
});
|
||||
},
|
||||
|
||||
// Returns document page with content
|
||||
getPage(documentId, pageId) {
|
||||
// Returns document page with content
|
||||
getPage(documentId, pageId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/pages/${pageId}`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let page = models.PageModel.create(response);
|
||||
return page;
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${documentId}/pages/${pageId}`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let page = models.PageModel.create(response);
|
||||
return page;
|
||||
});
|
||||
},
|
||||
|
||||
// Returns document page meta object
|
||||
getPageMeta(documentId, pageId) {
|
||||
// Returns document page meta object
|
||||
getPageMeta(documentId, pageId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/pages/${pageId}/meta`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let meta = models.PageMetaModel.create(response);
|
||||
return meta;
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${documentId}/pages/${pageId}/meta`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let meta = models.PageMetaModel.create(response);
|
||||
return meta;
|
||||
});
|
||||
},
|
||||
|
||||
// document attachments without the actual content
|
||||
getAttachments(documentId) {
|
||||
// document attachments without the actual content
|
||||
getAttachments(documentId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/attachments`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function(obj) {
|
||||
data.pushObject(models.AttachmentModel.create(obj));
|
||||
});
|
||||
return data;
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${documentId}/attachments`, {
|
||||
method: 'GET'
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function (obj) {
|
||||
data.pushObject(models.AttachmentModel.create(obj));
|
||||
});
|
||||
return data;
|
||||
});
|
||||
},
|
||||
|
||||
// nuke an attachment
|
||||
deleteAttachment(documentId, attachmentId) {
|
||||
// nuke an attachment
|
||||
deleteAttachment(documentId, attachmentId) {
|
||||
|
||||
return this.get('ajax').request(`documents/${documentId}/attachments/${attachmentId}`, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
return this.get('ajax').request(`documents/${documentId}/attachments/${attachmentId}`, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
},
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue