mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
Show disclaimer + ack checkbox directly on page instead of using modals. Check that disclaimer was acknowledged.
This commit is contained in:
parent
06ac72375f
commit
535f4c01a8
2 changed files with 45 additions and 32 deletions
|
@ -260,6 +260,10 @@
|
||||||
// Get rid of _ in the raw name of migrations (cosmetic)
|
// Get rid of _ in the raw name of migrations (cosmetic)
|
||||||
for(var i = 0; i < pending_migrations.length; i++) {
|
for(var i = 0; i < pending_migrations.length; i++) {
|
||||||
pending_migrations[i].name = pending_migrations[i].name.replace(/_/g, " ")
|
pending_migrations[i].name = pending_migrations[i].name.replace(/_/g, " ")
|
||||||
|
if (pending_migrations[i].disclaimer)
|
||||||
|
{
|
||||||
|
pending_migrations[i].disclaimer = pending_migrations[i].disclaimer.replace(/\n/g, "<br />");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(var i = 0; i < done_migrations.length; i++) {
|
for(var i = 0; i < done_migrations.length; i++) {
|
||||||
done_migrations[i].name = done_migrations[i].name.replace(/_/g, " ")
|
done_migrations[i].name = done_migrations[i].name.replace(/_/g, " ")
|
||||||
|
@ -274,45 +278,43 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('#/tools/migrations/run', function (c) {
|
app.get('#/tools/migrations/run', function (c) {
|
||||||
c.api('/migrations?pending', function(pending_migrations) {
|
var disclaimerAcks = $(".disclaimer-ack");
|
||||||
pending_migrations = pending_migrations.migrations;
|
var withAcceptDisclaimerFlag = false;
|
||||||
var disclaimers = [];
|
for (var i = 0 ; i < disclaimerAcks.length ; i++)
|
||||||
var migrationsLength = pending_migrations.length;
|
{
|
||||||
for(var i = 0; i < migrationsLength; i++) {
|
console.log($(disclaimerAcks[i]).find("input:checked").val());
|
||||||
var m = pending_migrations[i];
|
if (! $(disclaimerAcks[i]).find("input:checked").val())
|
||||||
if (m.disclaimer)
|
|
||||||
{
|
|
||||||
disclaimers.push("<h3>"+m.number+". "+m.name+"</h3>"
|
|
||||||
+m.disclaimer.replace(/\n/g, "<br />"));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
if (disclaimers.length)
|
|
||||||
{
|
{
|
||||||
c.confirm(
|
// FIXME / TODO i18n
|
||||||
y18n.t('migrations'),
|
c.flash('fail', "Some of these migrations require you to acknowledge a disclaimer before running them.");
|
||||||
disclaimers.join('<hr>'),
|
c.redirect('#/tools/migrations');
|
||||||
function(){
|
return;
|
||||||
c.api('/migrations/migrate?accept_disclaimer',
|
|
||||||
function (data) {
|
|
||||||
store.clear('slide');
|
|
||||||
c.redirect('#/tools/migrations');
|
|
||||||
}, 'POST')
|
|
||||||
},
|
|
||||||
function(){
|
|
||||||
store.clear('slide');
|
|
||||||
c.redirect('#/tools/migrations');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
c.api('/migrations/migrate',
|
withAcceptDisclaimerFlag = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Not sure if necessary, but this distinction is to avoid accidentally
|
||||||
|
// triggering a migration with a disclaimer if one goes to the
|
||||||
|
// /tools/migrations/run page "directly" somehow ...
|
||||||
|
if (withAcceptDisclaimerFlag)
|
||||||
|
{
|
||||||
|
c.api('/migrations/migrate?accept_disclaimer',
|
||||||
function (data) {
|
function (data) {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/tools/migrations');
|
c.redirect('#/tools/migrations');
|
||||||
}, 'POST');
|
}, 'POST')
|
||||||
}
|
}
|
||||||
});
|
else
|
||||||
|
{
|
||||||
|
c.api('/migrations/migrate',
|
||||||
|
function (data) {
|
||||||
|
store.clear('slide');
|
||||||
|
c.redirect('#/tools/migrations');
|
||||||
|
}, 'POST')
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('#/tools/migrations/skip', function (c) {
|
app.get('#/tools/migrations/skip', function (c) {
|
||||||
|
|
|
@ -28,6 +28,17 @@
|
||||||
<p id="description-migration-{{number}}" class="list-group-item-text">
|
<p id="description-migration-{{number}}" class="list-group-item-text">
|
||||||
{{ description }}
|
{{ description }}
|
||||||
</p>
|
</p>
|
||||||
|
{{#if disclaimer }}
|
||||||
|
<hr>
|
||||||
|
<p id="disclaimer-migration-{{number}}" class="list-group-item-text">
|
||||||
|
{{ disclaimer }}
|
||||||
|
<div style="margin-left:20px">
|
||||||
|
<label style="" id="disclaimer-ack-migration-{{number}}" class="checkbox disclaimer-ack">
|
||||||
|
<input type="checkbox"> I read and understood this disclaimer
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</p>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{/pending_migrations}}
|
{{/pending_migrations}}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue