Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0] cms_form: wizrd optional confirm submit modal #135

Open
wants to merge 1 commit into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions cms_form/models/cms_form_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,8 @@
form_content_selector = fields.Char(form_tech=True, default=".form_content")
# used to interpolate widgets' html field name
form_fname_pattern = fields.Char(form_tech=True, default="")
# used enable submit confirmation at last step
form_confirm_submit = fields.Boolean(form_tech=True, default="")

def _valid_field_parameter(self, field, name):
res = super()._valid_field_parameter(field, name)
Expand Down Expand Up @@ -738,3 +740,7 @@
you can use this method to merge them properly.
"""
return utils.data_merge(info, tomerge)

@property
def form_msg_confirm_submit(self):
return _("Are you sure want to submit the form as it is?")

Check warning on line 746 in cms_form/models/cms_form_mixin.py

View check run for this annotation

Codecov / codecov/patch

cms_form/models/cms_form_mixin.py#L746

Added line #L746 was not covered by tests
51 changes: 50 additions & 1 deletion cms_form/templates/form.xml
Original file line number Diff line number Diff line change
Expand Up @@ -372,10 +372,12 @@ License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
</t>
<t t-else="">
<button
type="submit"
t-att-type="'button' if form.form_confirm_submit else 'submit'"
name="wiz_submit"
value="process"
class="btn btn-primary float-end"
t-att-data-bs-toggle="'modal' if form.form_confirm_submit else None"
t-att-data-bs-target="'#process-confirm-modal' if form.form_confirm_submit else None"
>Submit</button>
</t>
<t t-if="form.wiz_prev_step()">
Expand All @@ -387,6 +389,53 @@ License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
>Prev</button>
</t>
</div>
<t
t-if="form.form_confirm_submit"
t-call="cms_form.wizard_form_confirm_modal"
/>
</xpath>
</template>


<template id="wizard_form_confirm_modal" name="CMS wizard form confirm modal">
<!-- Modal -->
<div
class="modal fade"
id="process-confirm-modal"
tabindex="-1"
aria-labelledby="process-confirm-modal"
aria-hidden="true"
>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Confirm submit</h5>
<button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
/>
</div>
<div class="modal-body">
<p t-esc="form.form_msg_confirm_submit" />
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-default"
data-bs-dismiss="modal"
>Close</button>
<button
type="submit"
name="wiz_submit"
value="process"
class="btn btn-primary"
>Submit</button>
</div>
</div>
</div>
</div>
</template>

</odoo>