Editing of campaigns seems to work

This commit is contained in:
Tomas Bures 2018-08-03 17:05:55 +05:30
parent b1c667d13d
commit 7b46c4b4b0
27 changed files with 335 additions and 130 deletions

View file

@ -2,7 +2,6 @@
const passport = require('./passport');
const config = require('config');
const permissions = require('./permissions');
const forms = require('../models/forms');
const shares = require('../models/shares');
const urls = require('./urls');

View file

@ -1,7 +1,7 @@
'use strict';
const knex = require('../lib/knex');
const permissions = require('../lib/permissions');
const entitySettings = require('./entity-settings');
async function ajaxListTx(tx, params, queryFun, columns, options) {
options = options || {};
@ -109,7 +109,7 @@ async function ajaxListWithPermissionsTx(tx, context, fetchSpecs, params, queryF
const permCols = [];
for (const fetchSpec of fetchSpecs) {
const entityType = permissions.getEntityType(fetchSpec.entityTypeId);
const entityType = entitySettings.getEntityType(fetchSpec.entityTypeId);
permCols.push({
name: `permissions_${fetchSpec.entityTypeId}`,
query: builder => builder
@ -128,7 +128,7 @@ async function ajaxListWithPermissionsTx(tx, context, fetchSpecs, params, queryF
let query = queryFun(builder);
for (const fetchSpec of fetchSpecs) {
const entityType = permissions.getEntityType(fetchSpec.entityTypeId);
const entityType = entitySettings.getEntityType(fetchSpec.entityTypeId);
if (fetchSpec.requiredOperations) {
query = query.innerJoin(

View file

@ -1,5 +1,11 @@
'use strict';
const ReplacementBehavior = {
NONE: 1,
REPLACE: 2,
RENAME: 3
};
const entityTypes = {
namespace: {
entitiesTable: 'namespaces',
@ -26,14 +32,16 @@ const entityTypes = {
permissions: {
view: 'viewFiles',
manage: 'manageFiles'
}
},
defaultReplacementBehavior: ReplacementBehavior.REPLACE
},
attachment: {
table: 'files_campaign_attachment',
permissions: {
view: 'viewAttachments',
manage: 'manageAttachments'
}
},
defaultReplacementBehavior: ReplacementBehavior.NONE
}
}
},
@ -47,7 +55,8 @@ const entityTypes = {
permissions: {
view: 'viewFiles',
manage: 'manageFiles'
}
},
defaultReplacementBehavior: ReplacementBehavior.REPLACE
}
}
},
@ -76,14 +85,16 @@ const entityTypes = {
permissions: {
view: 'viewFiles',
manage: 'manageFiles'
}
},
defaultReplacementBehavior: ReplacementBehavior.REPLACE
},
block: {
table: 'files_mosaico_template_block',
permissions: {
view: 'viewFiles',
manage: 'manageFiles'
}
},
defaultReplacementBehavior: ReplacementBehavior.REPLACE
}
}
}
@ -105,5 +116,6 @@ function getEntityType(entityTypeId) {
module.exports = {
getEntityTypes,
getEntityType
getEntityType,
ReplacementBehavior
}

View file

@ -10,7 +10,7 @@ const multer = require('multer')({
dest: uploadedFilesDir
});
function installUploadHandler(router, url, replacementBehavior, type = null, subType = null) {
function installUploadHandler(router, url, replacementBehavior, type, subType) {
router.postAsync(url, passport.loggedIn, multer.array('files[]'), async (req, res) => {
return res.json(await files.createFiles(req.context, type || req.params.type, subType || req.params.subType, req.params.entityId, req.files, replacementBehavior));
});

View file

@ -1,7 +1,7 @@
'use strict';
const knex = require('./knex');
const { enforce } = require('./helpers');
const shares = require('../models/shares');
const interoperableErrors = require('../shared/interoperable-errors');
async function validateEntity(tx, entity) {