summaryrefslogtreecommitdiff
path: root/addons/website_form/static/src/xml
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website_form/static/src/xml')
-rw-r--r--addons/website_form/static/src/xml/website_form.xml58
-rw-r--r--addons/website_form/static/src/xml/website_form_editor.xml216
2 files changed, 156 insertions, 118 deletions
diff --git a/addons/website_form/static/src/xml/website_form.xml b/addons/website_form/static/src/xml/website_form.xml
index c3779f9bc01..5403f763e24 100644
--- a/addons/website_form/static/src/xml/website_form.xml
+++ b/addons/website_form/static/src/xml/website_form.xml
@@ -3,74 +3,22 @@
<!-- Success status -->
<t t-name="website_form.status_success">
- <span id="o_website_form_result" class="text-success ml8">
+ <span id="s_website_form_result" class="text-success ml8">
<i class="fa fa-check mr4" role="img" aria-label="Success" title="Success"/>The form has been sent successfully.
</span>
</t>
<!-- Missing field status -->
<t t-name="website_form.status_invalid">
- <span id="o_website_form_result" class="text-danger ml8">
+ <span id="s_website_form_result" class="text-danger ml8">
<i class="fa fa-close mr4" role="img" aria-label="Error" title="Error"/>Please fill in the form correctly.
</span>
</t>
<!-- Error status -->
<t t-name="website_form.status_error">
- <span id="o_website_form_result" class="text-danger ml8">
+ <span id="s_website_form_result" class="text-danger ml8">
<i class="fa fa-close mr4" role="img" aria-label="Error" title="Error"/>An error has occured, the form has not been sent.
</span>
</t>
-
- <t t-name="website_form.default_contactus_form">
- <div class="form-group row form-field o_website_form_custom o_website_form_required_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="Name">Your Name</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <input type="text" class="form-control o_website_form_input" name="Name" required=""/>
- </div>
- </div>
- <div class="form-group row form-field o_website_form_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="Phone">Phone Number</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <input type="text" class="form-control o_website_form_input" name="Phone"/>
- </div>
- </div>
- <div class="form-group row form-field o_website_form_required_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="email_from">Email</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <input type="email" class="form-control o_website_form_input" name="email_from" required=""/>
- </div>
- </div>
- <div class="form-group row form-field o_website_form_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="Partner Name">Your Company</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <input type="text" class="form-control o_website_form_input" name="Partner Name"/>
- </div>
- </div>
- <div class="form-group row form-field o_website_form_required_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="subject">Subject</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <input type="text" class="form-control o_website_form_input" name="subject" required=""/>
- </div>
- </div>
- <div class="form-group row form-field o_website_form_custom o_website_form_required_custom">
- <div class="col-lg-3 col-md-4">
- <label class="col-form-label" for="Description">Your Question</label>
- </div>
- <div class="col-lg-7 col-md-8">
- <textarea class="form-control o_website_form_input" name="Description" required=""></textarea>
- </div>
- </div>
- </t>
-
</templates>
diff --git a/addons/website_form/static/src/xml/website_form_editor.xml b/addons/website_form/static/src/xml/website_form_editor.xml
index 3fb85a7dded..70c90f55593 100644
--- a/addons/website_form/static/src/xml/website_form_editor.xml
+++ b/addons/website_form/static/src/xml/website_form_editor.xml
@@ -1,32 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
+ <!-- End Message -->
+ <t t-name="website_form.s_website_form_end_message">
+ <div class="s_website_form_end_message d-none">
+ <div class="text-center alert alert-info css_non_editable_mode_hidden o_not_editable" t-ignore="True" role="status">
+ The following message will become visible <strong>only</strong> once the form is sent.
+ </div>
+ <div class="oe_structure">
+ <section class="s_text_block pt64 pb64">
+ <div class="container">
+ <h2 class="text-center">Thank You For Your Feedback</h2>
+ <p class="text-center">
+ Our team will message you back as soon as possible.<br/>
+ In the meantime we invite you to try our awesome <a href="/">website</a>.<br/>
+ </p>
+ </div>
+ </section>
+ </div>
+ </div>
+ </t>
+
<!-- Generic Field Layout -->
+ <!-- Changes made here needs to be reflected in the different Form view (Contact Us, Jobs, ...) -->
<t t-name="website_form.field">
- <div t-att-class="'row form-group form-field' + (field.custom ? ' o_website_form_custom' : '') + (field.required ? ' o_website_form_required' : '')">
- <div t-att-class="field.formatInfo and field.formatInfo.labelClass || 'col-lg-3 col-md-4'">
- <label class="col-form-label" t-att-for="field.name">
- <t t-esc="field.string"/>
+ <div t-attf-class="form-group s_website_form_field #{field.formatInfo.col or 'col-12'} #{field.custom and 's_website_form_custom' or ''} #{(field.required and 's_website_form_required' or '') or (field.modelRequired and 's_website_form_model_required' or '')} #{field.hidden and 's_website_form_field_hidden' or ''} #{field.dnone and 'd-none' or ''}"
+ t-att-data-type="field.type"
+ t-att-data-name="Field">
+ <div t-if="field.formatInfo.labelPosition != 'none' and field.formatInfo.labelPosition != 'top'" class="row s_col_no_resize s_col_no_bgcolor">
+ <label t-attf-class="col-form-label col-sm-auto s_website_form_label #{field.formatInfo.labelPosition == 'right' and 'text-right' or ''}" t-attf-style="width: #{field.formatInfo.labelWidth or '200px'}" t-att-for="field.id">
+ <t t-call="website_form.label_content"/>
</label>
- <span t-if="field.name == 'email_cc'" title="Separate email addresses with a comma.">
- <i class="fa fa-info-circle"/>
- </span>
+ <div class="col-sm">
+ <t t-raw="0"/>
+ </div>
</div>
- <div t-att-class="field.formatInfo and field.formatInfo.contentClass || 'col-lg-7 col-md-8'">
+ <t t-else="">
+ <label t-attf-class="s_website_form_label #{field.formatInfo.labelPosition == 'none' and 'd-none' or ''}" t-attf-style="width: #{field.formatInfo.labelWidth or '200px'}" t-att-for="field.id">
+ <t t-call="website_form.label_content"/>
+ </label>
<t t-raw="0"/>
- </div>
+ </t>
</div>
</t>
+ <t t-name="website_form.label_content">
+ <t t-if="field.custom" t-set="field.string" t-value="field.name"/>
+ <t t-esc="field.string"/>
+ <t t-if="field.required or field.modelRequired">
+ <span class="s_website_form_mark" t-if="field.formatInfo.requiredMark" t-esc="' ' + field.formatInfo.mark"/>
+ </t>
+ <t t-else="">
+ <span class="s_website_form_mark" t-if="field.formatInfo.optionalMark" t-esc="' ' + field.formatInfo.mark"/>
+ </t>
+ <span t-if="['email_cc', 'email_to'].includes(field.name)" title="Separate email addresses with a comma.">
+ <i class="fa fa-info-circle"/>
+ </span>
+ </t>
+
+ <!-- Hidden Field -->
+ <t t-name="website_form.field_hidden">
+ <t t-set="field.dnone" t-value="true"/>
+ <t t-set="field.formatInfo" t-value="{}"/>
+ <t t-call="website_form.field">
+ <input
+ type="hidden"
+ class="form-control s_website_form_input"
+ t-att-name="field.name"
+ t-att-value="field.value"
+ t-att-id="field.id"
+ />
+ </t>
+ </t>
+
<!-- Char Field -->
<t t-name="website_form.field_char">
<t t-call="website_form.field">
<input
type="text"
- class="form-control o_website_form_input"
+ class="form-control s_website_form_input"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
t-att-value="field.value"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
</t>
</t>
@@ -35,9 +92,11 @@
<t t-name="website_form.field_text">
<t t-call="website_form.field">
<textarea
- class="form-control o_website_form_input"
+ class="form-control s_website_form_input"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
</t>
</t>
@@ -47,9 +106,11 @@
<t t-call="website_form.field">
<input
type="email"
- class="form-control o_website_form_input"
+ class="form-control s_website_form_input"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
</t>
</t>
@@ -68,10 +129,12 @@
<t t-call="website_form.field">
<input
type="number"
- class="form-control o_website_form_input"
+ class="form-control s_website_form_input"
t-att-name="field.name"
step="1"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
</t>
</t>
@@ -81,10 +144,12 @@
<t t-call="website_form.field">
<input
type="number"
- class="form-control o_website_form_input"
+ class="form-control s_website_form_input"
t-att-name="field.name"
step="any"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
</t>
</t>
@@ -93,13 +158,15 @@
<t t-name="website_form.field_date">
<t t-call="website_form.field">
<t t-set="datepickerID" t-value="_.uniqueId('datepicker')"/>
- <div class="o_website_form_date input-group date" t-att-id="datepickerID" data-target-input="nearest">
+ <div class="s_website_form_date input-group date" t-att-id="datepickerID" data-target-input="nearest">
<input
type="text"
- class="form-control datetimepicker-input o_website_form_input"
+ class="form-control datetimepicker-input s_website_form_input"
t-attf-data-target="##{datepickerID}"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
<div class="input-group-append" t-attf-data-target="##{datepickerID}" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
@@ -112,13 +179,15 @@
<t t-name="website_form.field_datetime">
<t t-call="website_form.field">
<t t-set="datetimepickerID" t-value="_.uniqueId('datetimepicker')"/>
- <div class="o_website_form_datetime input-group date" t-att-id="datetimepickerID" data-target-input="nearest">
+ <div class="s_website_form_datetime input-group date" t-att-id="datetimepickerID" data-target-input="nearest">
<input
type="text"
- class="form-control datetimepicker-input o_website_form_input"
+ class="form-control datetimepicker-input s_website_form_input"
t-attf-data-target="##{datetimepickerID}"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-placeholder="field.placeholder"
+ t-att-id="field.id"
/>
<div class="input-group-append" t-attf-data-target="##{datetimepickerID}" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
@@ -134,9 +203,10 @@
<input
type="checkbox"
value="Yes"
- class="o_website_form_input"
+ class="s_website_form_input"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
+ t-att-id="field.id"
/>
</div>
</t>
@@ -145,27 +215,41 @@
<!-- Selection Field -->
<t t-name="website_form.field_selection">
<t t-call="website_form.field">
- <div class="o_website_form_flex" data-display="horizontal">
- <t t-foreach="field.selection" t-as="option">
- <div class="radio o_website_form_flex_item">
- <label class="col-form-label">
- <input
- type="radio"
- class="o_website_form_input"
- t-att-name="field.name"
- t-att-value="option[0]"
- t-att-required="field.required"
- />
- <span>
- <t t-esc="option[1]"/>
- </span>
- </label>
- </div>
+ <div class="row s_col_no_resize s_col_no_bgcolor s_website_form_multiple" t-att-data-name="field.name" t-att-data-display="field.formatInfo.multiPosition">
+ <t t-if="!field.selection">
+ <input
+ class="s_website_form_input"
+ t-att-name="field.name"
+ t-att-value="record.id"
+ t-att-required="field.required || field.modelRequired || None"
+ placeholder="No matching record !"
+ />
+ </t>
+ <t t-foreach="field.selection" t-as="record">
+ <t t-call="website_form.radio"/>
</t>
</div>
</t>
</t>
+ <!-- Radio -->
+ <t t-name="website_form.radio">
+ <div t-attf-class="radio col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}">
+ <label class="col-form-label">
+ <input
+ type="radio"
+ class="s_website_form_input"
+ t-att-name="field.name"
+ t-att-value="record[0]"
+ t-att-required="field.required || field.modelRequired || None"
+ />
+ <span>
+ <t t-esc="record[1]"/>
+ </span>
+ </label>
+ </div>
+ </t>
+
<!-- Many2One Field -->
<t t-name="website_form.field_many2one">
<!-- Binary one2many -->
@@ -175,7 +259,7 @@
<!-- Generic one2many -->
<t t-if="field.relation != 'ir.attachment'">
<t t-call="website_form.field">
- <select class="form-control o_website_form_input" t-att-name="field.name" t-att-required="field.required">
+ <select class="form-control s_website_form_input" t-att-name="field.name" t-att-required="field.required || field.modelRequired || None" t-att-id="field.id">
<t t-foreach="field.records" t-as="record">
<option t-att-value="record.id" t-att-selected="record.selected">
<t t-esc="record.display_name"/>
@@ -197,37 +281,42 @@
<!-- Generic one2many -->
<t t-if="field.relation != 'ir.attachment'">
<t t-call="website_form.field">
- <div class="o_website_form_flex" data-display="horizontal">
+ <div class="row s_col_no_resize s_col_no_bgcolor s_website_form_multiple" t-att-data-name="field.name" t-att-data-display="field.formatInfo.multiPosition">
<t t-if="!field.records">
<input
- class="o_website_form_input"
+ class="s_website_form_input"
t-att-name="field.name"
t-att-value="record.id"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
placeholder="No matching record !"
/>
</t>
<t t-foreach="field.records" t-as="record">
- <div class="checkbox o_website_form_flex_item">
- <label class="col-form-label">
- <input
- type="checkbox"
- class="o_website_form_input"
- t-att-name="field.name"
- t-att-value="record.id"
- t-att-required="field.required"
- />
- <span>
- <t t-esc="record.display_name"/>
- </span>
- </label>
- </div>
+ <t t-call="website_form.checkbox"/>
</t>
</div>
</t>
</t>
</t>
+ <!-- Checkbox -->
+ <t t-name="website_form.checkbox">
+ <div t-attf-class="checkbox col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}">
+ <label class="col-form-label">
+ <input
+ type="checkbox"
+ class="s_website_form_input"
+ t-att-name="field.name"
+ t-att-value="record.id"
+ t-att-required="field.required || field.modelRequired || None"
+ />
+ <span>
+ <t t-esc="record.display_name"/>
+ </span>
+ </label>
+ </div>
+ </t>
+
<!-- Many2Many Field -->
<t t-name="website_form.field_many2many">
<t t-call="website_form.field_one2many"/>
@@ -238,10 +327,11 @@
<t t-call="website_form.field">
<input
type="file"
- class="form-control o_website_form_input"
+ class="form-control-file s_website_form_input"
t-att-name="field.name"
- t-att-required="field.required"
+ t-att-required="field.required || field.modelRequired || None"
t-att-multiple="multiple"
+ t-att-id="field.id"
/>
</t>
</t>