@saltcorn/server 1.0.0-rc.1 → 1.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/routes.js +4 -1
- package/package.json +9 -9
- package/public/gridedit.js +3 -1
- package/public/saltcorn-builder.css +0 -7
- package/public/saltcorn.js +7 -5
- package/routes/actions.js +1 -1
- package/routes/delete.js +4 -1
- package/routes/files.js +3 -0
- package/routes/list.js +1 -1
- package/routes/pageedit.js +2 -1
- package/routes/viewedit.js +7 -4
package/auth/routes.js
CHANGED
|
@@ -1133,7 +1133,10 @@ router.post(
|
|
|
1133
1133
|
}
|
|
1134
1134
|
if (getState().get2FApolicy(req.user) === "Mandatory") {
|
|
1135
1135
|
res.redirect("/auth/twofa/setup/totp");
|
|
1136
|
-
} else if (
|
|
1136
|
+
} else if (
|
|
1137
|
+
req.body.dest &&
|
|
1138
|
+
is_relative_url(decodeURIComponent(req.body.dest))
|
|
1139
|
+
) {
|
|
1137
1140
|
res.redirect(decodeURIComponent(req.body.dest));
|
|
1138
1141
|
} else res.redirect("/");
|
|
1139
1142
|
})
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/server",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.2",
|
|
4
4
|
"description": "Server app for Saltcorn, open-source no-code platform",
|
|
5
5
|
"homepage": "https://saltcorn.com",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@aws-sdk/client-s3": "^3.451.0",
|
|
10
|
-
"@saltcorn/base-plugin": "1.0.0-rc.
|
|
11
|
-
"@saltcorn/builder": "1.0.0-rc.
|
|
12
|
-
"@saltcorn/data": "1.0.0-rc.
|
|
13
|
-
"@saltcorn/admin-models": "1.0.0-rc.
|
|
14
|
-
"@saltcorn/filemanager": "1.0.0-rc.
|
|
15
|
-
"@saltcorn/markup": "1.0.0-rc.
|
|
16
|
-
"@saltcorn/plugins-loader": "1.0.0-rc.
|
|
17
|
-
"@saltcorn/sbadmin2": "1.0.0-rc.
|
|
10
|
+
"@saltcorn/base-plugin": "1.0.0-rc.2",
|
|
11
|
+
"@saltcorn/builder": "1.0.0-rc.2",
|
|
12
|
+
"@saltcorn/data": "1.0.0-rc.2",
|
|
13
|
+
"@saltcorn/admin-models": "1.0.0-rc.2",
|
|
14
|
+
"@saltcorn/filemanager": "1.0.0-rc.2",
|
|
15
|
+
"@saltcorn/markup": "1.0.0-rc.2",
|
|
16
|
+
"@saltcorn/plugins-loader": "1.0.0-rc.2",
|
|
17
|
+
"@saltcorn/sbadmin2": "1.0.0-rc.2",
|
|
18
18
|
"@socket.io/cluster-adapter": "^0.2.1",
|
|
19
19
|
"@socket.io/sticky": "^1.0.1",
|
|
20
20
|
"adm-zip": "0.5.10",
|
package/public/gridedit.js
CHANGED
|
@@ -87,7 +87,9 @@ function isoDateFormatter(cell, formatterParams, onRendered) {
|
|
|
87
87
|
if (formatterParams && formatterParams.format)
|
|
88
88
|
return dayjs(val).format(formatterParams.format);
|
|
89
89
|
|
|
90
|
-
return new Date(val).toLocaleDateString(window.detected_locale || "en"
|
|
90
|
+
return new Date(val).toLocaleDateString(window.detected_locale || "en", {
|
|
91
|
+
timeZone: "UTC",
|
|
92
|
+
});
|
|
91
93
|
}
|
|
92
94
|
function colorFormatter(cell, formatterParams, onRendered) {
|
|
93
95
|
const val = cell.getValue();
|
|
@@ -525,10 +525,3 @@ div.componets-and-library-accordion {
|
|
|
525
525
|
.toolbox-card:nth-child(2) {
|
|
526
526
|
margin-bottom: 0px;
|
|
527
527
|
}
|
|
528
|
-
#builder-main-canvas {
|
|
529
|
-
height: calc(100dvh - 50px) !important;
|
|
530
|
-
min-height: 600px;
|
|
531
|
-
}
|
|
532
|
-
#builder-main-canvas.h-100 {
|
|
533
|
-
height: 100% !important;
|
|
534
|
-
}
|
package/public/saltcorn.js
CHANGED
|
@@ -350,16 +350,18 @@ function expand_thumbnail(img_id, filename) {
|
|
|
350
350
|
}
|
|
351
351
|
|
|
352
352
|
function ajax_modal(url, opts = {}) {
|
|
353
|
-
ensure_modal_exists_and_closed();
|
|
354
|
-
$("#scmodal").removeClass("no-submit-reload");
|
|
355
|
-
$("#scmodal").attr("data-on-close-reload-view", opts.reload_view || null);
|
|
356
|
-
|
|
357
|
-
if (opts.submitReload === false) $("#scmodal").addClass("no-submit-reload");
|
|
358
353
|
$.ajax(url, {
|
|
359
354
|
headers: {
|
|
360
355
|
SaltcornModalRequest: "true",
|
|
361
356
|
},
|
|
362
357
|
success: function (res, textStatus, request) {
|
|
358
|
+
ensure_modal_exists_and_closed();
|
|
359
|
+
$("#scmodal").removeClass("no-submit-reload");
|
|
360
|
+
$("#scmodal").attr("data-on-close-reload-view", opts.reload_view || null);
|
|
361
|
+
|
|
362
|
+
if (opts.submitReload === false)
|
|
363
|
+
$("#scmodal").addClass("no-submit-reload");
|
|
364
|
+
|
|
363
365
|
var title = request.getResponseHeader("Page-Title");
|
|
364
366
|
var width = request.getResponseHeader("SaltcornModalWidth");
|
|
365
367
|
var minwidth = request.getResponseHeader("SaltcornModalMinWidth");
|
package/routes/actions.js
CHANGED
|
@@ -755,7 +755,7 @@ router.post(
|
|
|
755
755
|
req.flash("success", req.__("Action configuration saved"));
|
|
756
756
|
res.redirect(
|
|
757
757
|
req.query.on_done_redirect &&
|
|
758
|
-
is_relative_url(req.query.on_done_redirect)
|
|
758
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
759
759
|
? `/${req.query.on_done_redirect}`
|
|
760
760
|
: "/actions/"
|
|
761
761
|
);
|
package/routes/delete.js
CHANGED
|
@@ -38,7 +38,10 @@ router.post(
|
|
|
38
38
|
try {
|
|
39
39
|
if (role <= table.min_role_write)
|
|
40
40
|
await table.deleteRows({ id }, req.user || { role_id: 100 });
|
|
41
|
-
else if (
|
|
41
|
+
else if (
|
|
42
|
+
(table.ownership_field_id || table.ownership_formula) &&
|
|
43
|
+
req.user
|
|
44
|
+
) {
|
|
42
45
|
const row = await table.getRow(
|
|
43
46
|
{ id },
|
|
44
47
|
{ forUser: req.user, forPublic: !req.user }
|
package/routes/files.js
CHANGED
|
@@ -594,6 +594,9 @@ router.get(
|
|
|
594
594
|
isAdmin,
|
|
595
595
|
error_catcher(async (req, res) => {
|
|
596
596
|
const form = await storage_form(req);
|
|
597
|
+
form.blurb = [
|
|
598
|
+
`<div class="alert alert-warning">S3 storage options may not work for this release. Enabling S3 storage is not recommended</div>`,
|
|
599
|
+
];
|
|
597
600
|
send_files_page({
|
|
598
601
|
res,
|
|
599
602
|
req,
|
package/routes/list.js
CHANGED
|
@@ -411,7 +411,7 @@ router.get(
|
|
|
411
411
|
ajax_indicator(false);
|
|
412
412
|
//if (item._versions) item._versions = +item._versions + 1;
|
|
413
413
|
//data.resolve(fixKeys(item));
|
|
414
|
-
if(resp.success &&typeof resp.success ==="number" && !row.id) {
|
|
414
|
+
if(resp.success &&(typeof resp.success ==="number" || typeof resp.success ==="string") && !row.id) {
|
|
415
415
|
window.tabulator_table.updateRow(cell.getRow(), {id: resp.success});
|
|
416
416
|
}
|
|
417
417
|
|
package/routes/pageedit.js
CHANGED
|
@@ -648,7 +648,8 @@ router.post(
|
|
|
648
648
|
const { pagename } = req.params;
|
|
649
649
|
|
|
650
650
|
let redirectTarget =
|
|
651
|
-
req.query.on_done_redirect &&
|
|
651
|
+
req.query.on_done_redirect &&
|
|
652
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
652
653
|
? `/${req.query.on_done_redirect}`
|
|
653
654
|
: "/pageedit";
|
|
654
655
|
const page = await Page.findOne({ name: pagename });
|
package/routes/viewedit.js
CHANGED
|
@@ -766,7 +766,8 @@ router.post(
|
|
|
766
766
|
)
|
|
767
767
|
);
|
|
768
768
|
let redirectTarget =
|
|
769
|
-
req.query.on_done_redirect &&
|
|
769
|
+
req.query.on_done_redirect &&
|
|
770
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
770
771
|
? `/${req.query.on_done_redirect}`
|
|
771
772
|
: "/viewedit";
|
|
772
773
|
res.redirect(redirectTarget);
|
|
@@ -791,7 +792,8 @@ router.post(
|
|
|
791
792
|
req.__("View %s duplicated as %s", view.name, newview.name)
|
|
792
793
|
);
|
|
793
794
|
let redirectTarget =
|
|
794
|
-
req.query.on_done_redirect &&
|
|
795
|
+
req.query.on_done_redirect &&
|
|
796
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
795
797
|
? `/${req.query.on_done_redirect}`
|
|
796
798
|
: "/viewedit";
|
|
797
799
|
res.redirect(redirectTarget);
|
|
@@ -812,7 +814,8 @@ router.post(
|
|
|
812
814
|
await View.delete({ id });
|
|
813
815
|
req.flash("success", req.__("View deleted"));
|
|
814
816
|
let redirectTarget =
|
|
815
|
-
req.query.on_done_redirect &&
|
|
817
|
+
req.query.on_done_redirect &&
|
|
818
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
816
819
|
? `/${req.query.on_done_redirect}`
|
|
817
820
|
: "/viewedit";
|
|
818
821
|
res.redirect(redirectTarget);
|
|
@@ -910,7 +913,7 @@ router.post(
|
|
|
910
913
|
req.flash("success", message);
|
|
911
914
|
let redirectTarget =
|
|
912
915
|
req.query.on_done_redirect &&
|
|
913
|
-
is_relative_url(req.query.on_done_redirect)
|
|
916
|
+
is_relative_url("/" + req.query.on_done_redirect)
|
|
914
917
|
? `/${req.query.on_done_redirect}`
|
|
915
918
|
: "/viewedit";
|
|
916
919
|
res.redirect(redirectTarget);
|