mirror of
https://github.com/documize/community.git
synced 2025-07-23 23:29:42 +02:00
fix local storage of last used space id
This commit is contained in:
parent
8fcf67ef17
commit
f4fc567292
2 changed files with 163 additions and 155 deletions
|
@ -11,6 +11,7 @@
|
|||
|
||||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
import { isNotFoundError } from 'ember-ajax/errors';
|
||||
|
||||
const {
|
||||
isPresent
|
||||
|
@ -31,20 +32,23 @@ export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
|||
|
||||
if (is.empty(params)) {
|
||||
let lastFolder = this.get('localStorage').getSessionItem("folder");
|
||||
let self = this;
|
||||
|
||||
//If folder lastFolder is defined
|
||||
if (isPresent(lastFolder)) {
|
||||
return this.get('folderService').getFolder(lastFolder).then((folder) => {
|
||||
//if Response is null or undefined redirect to login else transitionTo dashboard
|
||||
if (Ember.isNone(folder)) {
|
||||
this.transitionTo('auth.login');
|
||||
self.get('localStorage').clearSessionItem("folder");
|
||||
this.transitionTo('application');
|
||||
}
|
||||
|
||||
Ember.set(this, 'folder', folder);
|
||||
this.transitionTo('folders.folder', folder.get('id'), folder.get('slug'));
|
||||
}).catch(() => {
|
||||
//if there was an error redirect to login
|
||||
this.transitionTo('auth.login');
|
||||
self.get('localStorage').clearSessionItem("folder");
|
||||
this.transitionTo('application');
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -64,11 +68,16 @@ export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
|||
|
||||
//If folder route has params
|
||||
if (isPresent(params)) {
|
||||
|
||||
let self = this;
|
||||
let folderId = this.paramsFor('folders.folder').folder_id;
|
||||
|
||||
return this.get('folderService').getFolder(folderId).then((folder) => {
|
||||
Ember.set(this, 'folder', folder);
|
||||
}).catch(function (error) {
|
||||
if (isNotFoundError(error)) {
|
||||
// handle 404 errors here
|
||||
self.transitionTo('application');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ export default BaseService.extend({
|
|||
ajax: Ember.inject.service(),
|
||||
localStorage: Ember.inject.service(),
|
||||
|
||||
|
||||
// selected folder
|
||||
currentFolder: null,
|
||||
canEditCurrentFolder: false,
|
||||
|
@ -33,7 +32,7 @@ export default BaseService.extend({
|
|||
return this.get('ajax').post(`folders`, {
|
||||
contentType: 'json',
|
||||
data: JSON.stringify(folder)
|
||||
}).then((folder)=>{
|
||||
}).then((folder) => {
|
||||
let folderModel = models.FolderModel.create(folder);
|
||||
return folderModel;
|
||||
});
|
||||
|
@ -44,7 +43,7 @@ export default BaseService.extend({
|
|||
|
||||
return this.get('ajax').request(`folders/${id}`, {
|
||||
method: 'GET'
|
||||
}).then((response)=>{
|
||||
}).then((response) => {
|
||||
let folder = models.FolderModel.create(response);
|
||||
return folder;
|
||||
});
|
||||
|
@ -55,7 +54,7 @@ export default BaseService.extend({
|
|||
let self = this;
|
||||
|
||||
if (this.get('folders') != null) {
|
||||
return new Ember.RSVP.Promise(function(resolve) {
|
||||
return new Ember.RSVP.Promise(function (resolve) {
|
||||
resolve(self.get('folders'));
|
||||
});
|
||||
} else {
|
||||
|
@ -74,7 +73,7 @@ export default BaseService.extend({
|
|||
});
|
||||
},
|
||||
|
||||
remove: function(folderId, moveToId) {
|
||||
remove: function (folderId, moveToId) {
|
||||
let url = `folders/${folderId}/move/${moveToId}`;
|
||||
|
||||
return this.get('ajax').request(url, {
|
||||
|
@ -82,7 +81,7 @@ export default BaseService.extend({
|
|||
});
|
||||
},
|
||||
|
||||
onboard: function(folderId, payload) {
|
||||
onboard: function (folderId, payload) {
|
||||
let url = `public/share/${folderId}`;
|
||||
|
||||
return this.get('ajax').post(url, {
|
||||
|
@ -92,12 +91,12 @@ export default BaseService.extend({
|
|||
},
|
||||
|
||||
// getProtectedFolderInfo returns non-private folders and who has access to them.
|
||||
getProtectedFolderInfo: function() {
|
||||
getProtectedFolderInfo: function () {
|
||||
return this.get('ajax').request(`folders?filter=viewers`, {
|
||||
method: "GET"
|
||||
}).then((response)=>{
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function(obj) {
|
||||
_.each(response, function (obj) {
|
||||
data.pushObject(models.ProtectedFolderParticipant.create(obj));
|
||||
});
|
||||
|
||||
|
@ -110,9 +109,9 @@ export default BaseService.extend({
|
|||
|
||||
return this.get('ajax').request(`folders`, {
|
||||
method: "GET"
|
||||
}).then((response)=>{
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function(obj) {
|
||||
_.each(response, function (obj) {
|
||||
data.pushObject(models.FolderModel.create(obj));
|
||||
});
|
||||
|
||||
|
@ -125,9 +124,9 @@ export default BaseService.extend({
|
|||
|
||||
return this.get('ajax').request(`folders/${folderId}/permissions`, {
|
||||
method: "GET"
|
||||
}).then((response)=>{
|
||||
}).then((response) => {
|
||||
let data = [];
|
||||
_.each(response, function(obj) {
|
||||
_.each(response, function (obj) {
|
||||
data.pushObject(models.FolderPermissionModel.create(obj));
|
||||
});
|
||||
|
||||
|
@ -182,7 +181,7 @@ export default BaseService.extend({
|
|||
let result = [];
|
||||
let folderId = folder.get('id');
|
||||
|
||||
folderPermissions.forEach(function(item) {
|
||||
folderPermissions.forEach(function (item) {
|
||||
if (item.folderId === folderId) {
|
||||
result.push(item);
|
||||
}
|
||||
|
@ -190,7 +189,7 @@ export default BaseService.extend({
|
|||
|
||||
let canEdit = false;
|
||||
|
||||
result.forEach(function(permission) {
|
||||
result.forEach(function (permission) {
|
||||
if (permission.userId === userId) {
|
||||
canEdit = permission.canEdit;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue