Mosaico upgraded to 0.17.5

Work started on confirmation dialogs displayed when one navigates from a page with unsaved changes
This commit is contained in:
Tomas Bures 2019-05-08 19:54:19 +02:00
parent 4f77272042
commit 48dcf2c701
399 changed files with 4032 additions and 77702 deletions

View file

@ -30,9 +30,9 @@ gdpr:
# Enabled HTML editors
editors:
- grapesjs
- mosaico
- mosaicoWithFsTemplate
- grapesjs
- ckeditor4
- codeeditor
@ -270,7 +270,7 @@ roles:
campaignsAdmin:
name: Campaigns Admin
description: Under the namespace in which the user is located, the user has all permissions for managing lists, templates and campaigns and the permission to send to send configurations.
description: In the respective namespace, the user has all permissions for managing lists, templates and campaigns and the permission to send to send configurations.
permissions: [view, edit, delete, share, createNamespace, createList, createCustomForm, createReport, createTemplate, createMosaicoTemplate, createCampaign]
children:
sendConfiguration: [viewPublic, sendWithoutOverrides, sendWithAllowedOverrides]
@ -283,17 +283,34 @@ roles:
mosaicoTemplate: [view, edit, delete, share, viewFiles, manageFiles]
namespace: [view, edit, delete, share, createNamespace, createList, createCustomForm, createReport, createTemplate, createMosaicoTemplate, createCampaign]
campaignsCreator:
name: Campaigns Creator
description: In the respective namespace, the user has all permissions for templates and campaigns.
permissions: [view, createTemplate, createCampaign]
children:
sendConfiguration: [viewPublic]
campaign: [view, edit, delete, share, viewFiles, manageFiles, viewAttachments, manageAttachments, viewTriggers, manageTriggers, fetchRss]
template: [view, edit, delete, share, viewFiles, manageFiles]
sendConfiguration:
master:
name: Master
description: All permissions
permissions: [viewPublic, viewPrivate, edit, delete, share, sendWithoutOverrides, sendWithAllowedOverrides, sendWithAnyOverrides]
campaignsCreator:
name: Campaigns Creator
description: The user can only use the send configuration in setting up a campaign. However, this gives no permission to send.
permissions: [viewPublic]
list:
master:
name: Master
description: All permissions
permissions: [view, edit, delete, share, viewFields, manageFields, viewSubscriptions, manageSubscriptions, viewSegments, manageSegments, viewImports, manageImports]
campaignsCreator:
name: Campaigns Creator
description: The user can only use the list in setting up a campaign. However, this gives no permission to view subscriptions or to send to the list.
permissions: [view, viewFields, viewSegments]
customForm:
master:
@ -306,6 +323,10 @@ roles:
name: Master
description: All permissions
permissions: [view, edit, delete, share, viewFiles, manageFiles, viewAttachments, manageAttachments, viewTriggers, manageTriggers, send, viewStats, manageMessages, fetchRss]
campaignsCreator:
name: Campaigns Creator
description: The user can setup the campaign but cannot send it.
permissions: [view, edit, delete, share, viewFiles, manageFiles, viewAttachments, manageAttachments, viewTriggers, manageTriggers, fetchRss]
rssTrigger:
name: RSS Campaign Trigger
description: Allows triggering a fetch of an RSS campaign

View file

@ -25,8 +25,10 @@ async function listByEntityDTAjax(context, entityTypeId, entityId, params) {
builder => builder
.from(entityType.sharesTable)
.innerJoin('users', entityType.sharesTable + '.user', 'users.id')
.innerJoin('generated_role_names', 'generated_role_names.role', 'users.role')
.where('generated_role_names.entity_type', entityTypeId)
.innerJoin('generated_role_names', {
'generated_role_names.role': entityType.sharesTable + '.role',
'generated_role_names.entity_type': knex.raw('?', [entityTypeId])
})
.where(`${entityType.sharesTable}.entity`, entityId),
['users.username', 'users.name', 'generated_role_names.name', 'users.id', entityType.sharesTable + '.auto']
);

View file

@ -306,11 +306,6 @@
"uri-js": "^4.2.2"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"ansi-escapes": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
@ -2646,11 +2641,13 @@
},
"balanced-match": {
"version": "1.0.0",
"bundled": true
"bundled": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@ -2663,15 +2660,18 @@
},
"code-point-at": {
"version": "1.1.0",
"bundled": true
"bundled": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true
"bundled": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true
"bundled": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
@ -2774,7 +2774,8 @@
},
"inherits": {
"version": "2.0.3",
"bundled": true
"bundled": true,
"optional": true
},
"ini": {
"version": "1.3.5",
@ -2784,6 +2785,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@ -2796,17 +2798,20 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"bundled": true
"bundled": true,
"optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@ -2823,6 +2828,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
@ -2895,7 +2901,8 @@
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true
"bundled": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
@ -2905,6 +2912,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
"optional": true,
"requires": {
"wrappy": "1"
}
@ -3010,6 +3018,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@ -5793,21 +5802,9 @@
"ieee754": "^1.1.4"
}
},
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
"requires": {
"graceful-readlink": ">= 1.0.0"
}
},
"compressjs": {
"version": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9",
"from": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9",
"requires": {
"amdefine": "~1.0.0",
"commander": "~2.8.1"
}
"from": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9"
},
"elliptic": {
"version": "github:openpgpjs/elliptic#ad81845f693effa5b4b6d07db2e82112de222f48",
@ -5832,8 +5829,6 @@
"asn1.js": "^5.0.0",
"bn.js": "^4.11.8",
"buffer": "^5.0.8",
"compressjs": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9",
"elliptic": "github:openpgpjs/elliptic#ad81845f693effa5b4b6d07db2e82112de222f48",
"hash.js": "^1.1.3",
"node-fetch": "^1.7.3",
"node-localstorage": "~1.3.0",
@ -5843,15 +5838,30 @@
"dependencies": {
"compressjs": {
"version": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9",
"from": "github:openpgpjs/compressjs",
"from": "github:openpgpjs/compressjs#bfbb371a34d1750afa34bfa49156461acdab79a9",
"requires": {
"amdefine": "~1.0.0",
"commander": "~2.8.1"
},
"dependencies": {
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
"requires": {
"graceful-readlink": ">= 1.0.0"
}
}
}
},
"elliptic": {
"version": "github:openpgpjs/elliptic#ad81845f693effa5b4b6d07db2e82112de222f48",
"from": "github:openpgpjs/elliptic",
"from": "github:openpgpjs/elliptic#ad81845f693effa5b4b6d07db2e82112de222f48",
"requires": {
"bn.js": "^4.4.0",
"brorand": "^1.0.1",

View file

@ -79,7 +79,7 @@
"i18next": "^13.1.0",
"isemail": "^3.2.0",
"jsdom": "^13.1.0",
"juice": "^5.1.0",
"juice": "^5.2.0",
"klaw-sync": "^6.0.0",
"knex": "^0.16.5",
"libmime": "^4.0.1",

View file

@ -206,7 +206,7 @@ async function getRouter(appType) {
const lang = req.locale.language;
if (lang && lang !== 'en') {
try {
const file = path.join(__dirname, '..', '..', 'client', 'static', 'mosaico', 'lang', 'mosaico-' + lang + '.json');
const file = path.join(__dirname, '..', '..', 'client', 'static', 'mosaico', 'rs', 'lang', 'mosaico-' + lang + '.json');
languageStrings = await fs.readFile(file, 'utf8');
} catch (err) {
}

View file

@ -12,22 +12,8 @@
<title>Mailtrain</title>
<script src="{{publicPath}}static/mosaico/vendor/jquery.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery-migrate.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/knockout.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery-ui.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.ui.touch-punch.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/load-image.all.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/canvas-to-blob.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.iframe-transport.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.fileupload.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.fileupload-process.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.fileupload-image.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/jquery.fileupload-validate.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/knockout-jqueryui.min.js"></script>
<script src="{{publicPath}}static/mosaico/vendor/tinymce.min.js"></script>
<script src="{{publicPath}}static/mosaico/mosaico.min.js?v=0.16"></script>
<script src="{{publicPath}}static/mosaico/rs/mosaico-libs-and-tinymce.min.js?v=0.17.5"></script>
<script src="{{publicPath}}static/mosaico/rs/mosaico.min.js?v=0.17.5"></script>
{{#if languageStrings}}<script> window.mosaicoLanguageStrings = {{{languageStrings}}}; </script>{{/if}}
<script> window.mosaicoPlugins = []; </script>
@ -48,8 +34,8 @@
<script src="{{this}}"></script>
{{/each}}
<link rel="stylesheet" href="{{publicPath}}static/mosaico/mosaico-material.min.css?v=0.10" />
<link rel="stylesheet" href="{{publicPath}}static/mosaico/vendor/notoregular/stylesheet.css" />
<link rel="stylesheet" href="{{publicPath}}static/mosaico/rs/mosaico-libs-and-tinymce.min.css?v=0.17.5" />
<link rel="stylesheet" href="{{publicPath}}static/mosaico/rs/mosaico-material.min.css?v=0.17.5" />
</head>
<body class="mo-standalone">
{{{body}}}