diff --git a/app/app/authenticators/documize.js b/app/app/authenticators/documize.js index fbcc8e3f..a7f60e2d 100644 --- a/app/app/authenticators/documize.js +++ b/app/app/authenticators/documize.js @@ -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, diff --git a/app/app/pods/folders/settings/route.js b/app/app/pods/folders/settings/route.js index 013af42f..9416bb1d 100644 --- a/app/app/pods/folders/settings/route.js +++ b/app/app/pods/folders/settings/route.js @@ -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'); + }); + } + } }); diff --git a/app/app/pods/profile/route.js b/app/app/pods/profile/route.js index 468d1c94..5a21d514 100644 --- a/app/app/pods/profile/route.js +++ b/app/app/pods/profile/route.js @@ -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')); + } }); diff --git a/app/app/services/ajax.js b/app/app/services/ajax.js index d83a4533..29302abc 100644 --- a/app/app/services/ajax.js +++ b/app/app/services/ajax.js @@ -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; diff --git a/app/app/services/document.js b/app/app/services/document.js index 49df0ae5..1108e158 100644 --- a/app/app/services/document.js +++ b/app/app/services/document.js @@ -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' + }); + }, });