diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_form/static/src/xml | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_form/static/src/xml')
| -rw-r--r-- | addons/website_form/static/src/xml/website_form.xml | 18 | ||||
| -rw-r--r-- | addons/website_form/static/src/xml/website_form_editor.xml | 363 |
2 files changed, 381 insertions, 0 deletions
diff --git a/addons/website_form/static/src/xml/website_form.xml b/addons/website_form/static/src/xml/website_form.xml new file mode 100644 index 00000000..9c1390c7 --- /dev/null +++ b/addons/website_form/static/src/xml/website_form.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates xml:space="preserve"> + + <!-- Success status --> + <t t-name="website_form.status_success"> + <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> + + <!-- Error status --> + <t t-name="website_form.status_error"> + <span id="s_website_form_result" class="text-danger ml8"> + <i class="fa fa-close mr4" role="img" aria-label="Error" title="Error"/> + <t t-esc="message"/> + </span> + </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 new file mode 100644 index 00000000..1450fb8c --- /dev/null +++ b/addons/website_form/static/src/xml/website_form_editor.xml @@ -0,0 +1,363 @@ +<?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="oe_structure"> + <section class="s_text_block pt64 pb64 o_colored_level o_cc o_cc2" data-snippet="s_text_block"> + <div class="container"> + <h2 class="text-center"> + <span class="fa fa-check-circle"/> + 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 visit our <a href="/">website</a>.<br/> + </p> + </div> + </section> + </div> + </div> + </t> + + <t t-name="webite_form.s_website_form_recaptcha_legal"> + <div class="col-12 s_website_form_recaptcha" data-name="Recaptcha Legal"> + <div t-attf-style="width: #{labelWidth or '200px'}" class="s_website_form_label"/> + <div class="col-sm"> + <t t-call="google_recaptcha.recaptcha_legal_terms"/> + </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-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 's_website_form_dnone' or ''}" + t-att-data-type="field.type" + 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="#{!field.isCheck and 'col-form-label' or ''} 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> + <div class="col-sm"> + <t t-raw="0"/> + </div> + </div> + <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"/> + </t> + </div> + </t> + + <t t-name="website_form.label_content"> + <t t-if="field.custom" t-set="field.string" t-value="field.name"/> + <span class="s_website_form_label_content" 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 + t-att-type="field.inputType || 'text'" + class="form-control s_website_form_input" + t-att-name="field.name" + 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> + + <!-- Email Field --> + <t t-name="website_form.field_email"> + <t t-set="field.inputType" t-value="'email'"/> + <t t-call="website_form.field_char"/> + </t> + + <!-- Telephone Field --> + <t t-name="website_form.field_tel"> + <t t-set="field.inputType" t-value="'tel'"/> + <t t-call="website_form.field_char"/> + </t> + + <!-- Url Field --> + <t t-name="website_form.field_url"> + <t t-set="field.inputType" t-value="'url'"/> + <t t-call="website_form.field_char"/> + </t> + + <!-- Text Field --> + <t t-name="website_form.field_text"> + <t t-call="website_form.field"> + <textarea + class="form-control s_website_form_input" + t-att-name="field.name" + t-att-required="field.required || field.modelRequired || None" + t-att-placeholder="field.placeholder" + t-att-id="field.id" + t-att-rows="field.rows || 3" + /> + </t> + </t> + + <!-- HTML Field --> + <t t-name="website_form.field_html"> + <!-- + Maybe use web_editor ? Not sure it actually makes + sense to have random people editing html in a form... + --> + <t t-call="website_form.field_text"/> + </t> + + <!-- Integer Field --> + <t t-name="website_form.field_integer"> + <t t-call="website_form.field"> + <input + type="number" + class="form-control s_website_form_input" + t-att-name="field.name" + step="1" + t-att-required="field.required || field.modelRequired || None" + t-att-placeholder="field.placeholder" + t-att-id="field.id" + /> + </t> + </t> + + <!-- Float Field --> + <t t-name="website_form.field_float"> + <t t-call="website_form.field"> + <input + type="number" + class="form-control s_website_form_input" + t-att-name="field.name" + step="any" + t-att-required="field.required || field.modelRequired || None" + t-att-placeholder="field.placeholder" + t-att-id="field.id" + /> + </t> + </t> + + <!-- Date Field --> + <t t-name="website_form.field_date"> + <t t-call="website_form.field"> + <t t-set="datepickerID" t-value="'datepicker' + Math.random().toString().substring(2)"/> + <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 s_website_form_input" + t-attf-data-target="##{datepickerID}" + t-att-name="field.name" + 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> + </div> + </div> + </t> + </t> + + <!-- Datetime Field --> + <t t-name="website_form.field_datetime"> + <t t-call="website_form.field"> + <t t-set="datetimepickerID" t-value="'datetimepicker' + Math.random().toString().substring(2)"/> + <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 s_website_form_input" + t-attf-data-target="##{datetimepickerID}" + t-att-name="field.name" + 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> + </div> + </div> + </t> + </t> + + <!-- Boolean Field --> + <t t-name="website_form.field_boolean"> + <t t-set="field.isCheck" t-value="true"/> + <t t-call="website_form.field"> + <input + type="checkbox" + value="Yes" + class="s_website_form_input" + t-att-name="field.name" + t-att-required="field.required || field.modelRequired || None" + t-att-id="field.id" + /> + </t> + </t> + + <!-- Selection Field --> + <t t-name="website_form.field_selection"> + <t t-set="field.isCheck" t-value="true"/> + <t t-call="website_form.field"> + <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="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.records" t-as="record"> + <t t-call="website_form.radio"/> + </t> + </div> + </t> + </t> + + <!-- Radio --> + <t t-name="website_form.radio"> + <t t-set="recordId" t-value="field.id + record_index"/> + <div t-attf-class="radio col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}"> + <div class="form-check"> + <input + type="radio" + class="s_website_form_input form-check-input" + t-att-id="recordId" + t-att-name="field.name" + t-att-value="record.id" + t-att-required="field.required || field.modelRequired || None" + /> + <label class="form-check-label s_website_form_check_label" t-att-for="recordId"> + <t t-esc="record.display_name"/> + </label> + </div> + </div> + </t> + + <!-- Many2One Field --> + <t t-name="website_form.field_many2one"> + <!-- Binary one2many --> + <t t-if="field.relation == 'ir.attachment'"> + <t t-call="website_form.field_binary"/> + </t> + <!-- Generic one2many --> + <t t-if="field.relation != 'ir.attachment'"> + <t t-call="website_form.field"> + <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"/> + </option> + </t> + </select> + </t> + </t> + </t> + + <!-- One2Many Field --> + <t t-name="website_form.field_one2many"> + <!-- Binary one2many --> + <t t-if="field.relation == 'ir.attachment'"> + <t t-call="website_form.field_binary"> + <t t-set="multiple" t-value="1"/> + </t> + </t> + <!-- Generic one2many --> + <t t-if="field.relation != 'ir.attachment'"> + <t t-set="field.isCheck" t-value="true"/> + <t t-call="website_form.field"> + <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="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.records" t-as="record"> + <t t-call="website_form.checkbox"/> + </t> + </div> + </t> + </t> + </t> + + <!-- Checkbox --> + <t t-name="website_form.checkbox"> + <t t-set="recordId" t-value="field.id + record_index"/> + <div t-attf-class="checkbox col-12 #{field.formatInfo.multiPosition === 'horizontal' and 'col-lg-4 col-md-6' or ''}"> + <div class="form-check"> + <input + type="checkbox" + class="s_website_form_input form-check-input" + t-att-id="recordId" + t-att-name="field.name" + t-att-value="record.id" + t-att-required="field.required || field.modelRequired || None" + /> + <label class="form-check-label s_website_form_check_label" t-att-for="recordId"> + <t t-esc="record.display_name"/> + </label> + </div> + </div> + </t> + + <!-- Many2Many Field --> + <t t-name="website_form.field_many2many"> + <t t-call="website_form.field_one2many"/> + </t> + + <!-- Binary Field --> + <t t-name="website_form.field_binary"> + <t t-set="field.isCheck" t-value="true"/> + <t t-call="website_form.field"> + <input + type="file" + class="form-control-file s_website_form_input" + t-att-name="field.name" + t-att-required="field.required || field.modelRequired || None" + t-att-multiple="multiple" + t-att-id="field.id" + /> + </t> + </t> + + <!-- Monetary Field --> + <t t-name="website_form.field_monetary"> + <t t-call="website_form.field_float" /> + </t> +</templates> |
