mirror of
https://github.com/documize/community.git
synced 2025-07-23 15:19:42 +02:00
Create attachment model and push attachment data into store
This commit is contained in:
parent
d47f1e11b8
commit
b638d6a114
5 changed files with 67 additions and 49 deletions
|
@ -19,7 +19,7 @@ export default Ember.Component.extend({
|
||||||
|
|
||||||
didInitAttrs() {
|
didInitAttrs() {
|
||||||
if (this.get("session.authenticated")) {
|
if (this.get("session.authenticated")) {
|
||||||
this.get("session.user.accounts").forEach((account)=>{
|
this.get("session.user.accounts").forEach((account) => {
|
||||||
// TODO: do not mutate account.active here
|
// TODO: do not mutate account.active here
|
||||||
account.active = account.orgId === this.get("appMeta.orgId");
|
account.active = account.orgId === this.get("appMeta.orgId");
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,19 @@
|
||||||
import Model from 'ember-data/model';
|
import Model from 'ember-data/model';
|
||||||
// import attr from 'ember-data/attr';
|
import attr from 'ember-data/attr';
|
||||||
|
import stringUtil from '../utils/string';
|
||||||
|
import Ember from 'ember';
|
||||||
// import { belongsTo, hasMany } from 'ember-data/relationships';
|
// import { belongsTo, hasMany } from 'ember-data/relationships';
|
||||||
|
|
||||||
export default Model.extend({
|
export default Model.extend({
|
||||||
|
author: attr('string'),
|
||||||
|
dated: attr(),
|
||||||
|
description: attr('string'),
|
||||||
|
title: attr('string'),
|
||||||
|
type: attr('number', { defaultValue: 0 }),
|
||||||
|
|
||||||
|
slug: Ember.computed('title', function () {
|
||||||
|
return stringUtil.makeSlug(this.get('title'));
|
||||||
|
}),
|
||||||
|
created: attr(),
|
||||||
|
revised: attr()
|
||||||
});
|
});
|
||||||
|
|
|
@ -256,9 +256,9 @@ export default Ember.Service.extend({
|
||||||
method: 'GET'
|
method: 'GET'
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
let data = [];
|
let data = [];
|
||||||
_.each(response, function (obj) {
|
_.each(response, (obj) => {
|
||||||
let data = this.get('store').normalize('attachment', obj);
|
let attachmentData = this.get('store').normalize('attachment', obj);
|
||||||
let attachments = this.get('store').push({ data: data });
|
let attachments = this.get('store').push({ data: attachmentData });
|
||||||
data.pushObject(attachments);
|
data.pushObject(attachments);
|
||||||
});
|
});
|
||||||
return data;
|
return data;
|
||||||
|
|
|
@ -38,8 +38,9 @@ export default SimpleAuthSession.extend({
|
||||||
user: computed('isAuthenticated', 'session.content.authenticated.user', function () {
|
user: computed('isAuthenticated', 'session.content.authenticated.user', function () {
|
||||||
if (this.get('isAuthenticated')) {
|
if (this.get('isAuthenticated')) {
|
||||||
let user = this.get('session.content.authenticated.user') || { id: '' };
|
let user = this.get('session.content.authenticated.user') || { id: '' };
|
||||||
let data = this.get('store').normalize('user', user);
|
// let data = this.get('store').normalize('user', user);
|
||||||
return this.get('store').push({ data: data });
|
// return this.get('store').push({ data: data });
|
||||||
|
return models.UserModel.create(user);
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
|
|
@ -12,52 +12,58 @@
|
||||||
import Ember from 'ember';
|
import Ember from 'ember';
|
||||||
import models from '../utils/model';
|
import models from '../utils/model';
|
||||||
|
|
||||||
|
const {
|
||||||
|
inject: { service }
|
||||||
|
} = Ember;
|
||||||
|
|
||||||
export default Ember.Service.extend({
|
export default Ember.Service.extend({
|
||||||
sessionService: Ember.inject.service('session'),
|
sessionService: service('session'),
|
||||||
ajax: Ember.inject.service(),
|
ajax: service(),
|
||||||
|
store: service(),
|
||||||
|
|
||||||
importStockTemplate: function(folderId, templateId) {
|
importStockTemplate: function (folderId, templateId) {
|
||||||
let url = `templates/${templateId}/folder/${folderId}?type=stock`;
|
let url = `templates/${templateId}/folder/${folderId}?type=stock`;
|
||||||
|
|
||||||
return this.get('ajax').request(url, {
|
return this.get('ajax').request(url, {
|
||||||
method: "POST"
|
method: "POST"
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
importSavedTemplate: function(folderId, templateId) {
|
importSavedTemplate: function (folderId, templateId) {
|
||||||
let url = `templates/${templateId}/folder/${folderId}?type=saved`;
|
let url = `templates/${templateId}/folder/${folderId}?type=saved`;
|
||||||
|
|
||||||
return this.get('ajax').post(url).then((doc)=>{
|
return this.get('ajax').post(url).then((doc) => {
|
||||||
let docModel = models.DocumentModel.create(doc);
|
let data = this.get('store').normalize('document', doc);
|
||||||
return docModel;
|
return this.get('store').push({ data: data });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getSavedTemplates() {
|
getSavedTemplates() {
|
||||||
return this.get('ajax').request(`templates`, {
|
return this.get('ajax').request(`templates`, {
|
||||||
method: 'GET'
|
method: 'GET'
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
if (is.not.array(response)) {
|
if (is.not.array(response)) {
|
||||||
response = [];
|
response = [];
|
||||||
}
|
}
|
||||||
let templates = Ember.ArrayProxy.create({
|
let templates = Ember.ArrayProxy.create({
|
||||||
content: Ember.A([])
|
content: Ember.A([])
|
||||||
});
|
});
|
||||||
|
|
||||||
_.each(response, function(template) {
|
_.each(response, (template) => {
|
||||||
let templateModel = models.TemplateModel.create(template);
|
let data = this.get('store').normalize('template', template);
|
||||||
templates.pushObject(templateModel);
|
let templateModel = this.get('store').push({ data: data });
|
||||||
});
|
templates.pushObject(templateModel);
|
||||||
|
});
|
||||||
|
|
||||||
return templates;
|
return templates;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getStockTemplates() {
|
getStockTemplates() {
|
||||||
return this.get('ajax').request(`templates/stock`, {
|
return this.get('ajax').request(`templates/stock`, {
|
||||||
method: 'GET'
|
method: 'GET'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
saveAsTemplate(documentId, name, excerpt) {
|
saveAsTemplate(documentId, name, excerpt) {
|
||||||
let payload = {
|
let payload = {
|
||||||
|
@ -66,10 +72,9 @@ export default Ember.Service.extend({
|
||||||
Excerpt: excerpt
|
Excerpt: excerpt
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.get('ajax').request(`templates`, {
|
return this.get('ajax').request(`templates`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: JSON.stringify(payload)
|
data: JSON.stringify(payload)
|
||||||
}).then(() => {
|
}).then(() => {});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue