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/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_form/views')
| -rw-r--r-- | addons/website_form/views/assets.xml | 18 | ||||
| -rw-r--r-- | addons/website_form/views/ir_model_views.xml | 37 | ||||
| -rw-r--r-- | addons/website_form/views/snippets/s_website_form.xml | 162 | ||||
| -rw-r--r-- | addons/website_form/views/snippets/snippets.xml | 14 | ||||
| -rw-r--r-- | addons/website_form/views/website_form_templates.xml | 140 |
5 files changed, 371 insertions, 0 deletions
diff --git a/addons/website_form/views/assets.xml b/addons/website_form/views/assets.xml new file mode 100644 index 00000000..b5433e0d --- /dev/null +++ b/addons/website_form/views/assets.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <template id="assets_editor" name="Website Form Editor Assets Editor" inherit_id="website.assets_editor"> + <xpath expr="." position="inside"> + <link rel="stylesheet" type="text/scss" href="/website_form/static/src/scss/wysiwyg_snippets.scss"/> + <script type="text/javascript" src="/website_form/static/src/snippets/s_website_form/options.js"/> + <script type="text/javascript" src="/website_form/static/src/js/website_form_editor_registry.js"/> + </xpath> + </template> + + <template id="assets_tests" name="Website Form Assets Tests" inherit_id="web.assets_tests"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/website_form/static/tests/tours/website_form_editor.js"/> + </xpath> + </template> + </data> +</odoo> diff --git a/addons/website_form/views/ir_model_views.xml b/addons/website_form/views/ir_model_views.xml new file mode 100644 index 00000000..78c27f94 --- /dev/null +++ b/addons/website_form/views/ir_model_views.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="ir_model_view" model="ir.ui.view"> + <field name="name">website_form_editor.ir.model.view.form</field> + <field name="model">ir.model</field> + <field name="inherit_id" ref="base.view_model_form"/> + <field name="arch" type="xml"> + <xpath expr="//notebook" position="inside"> + <page string="Website Forms" name="website_forms"> + <group> + <field name="website_form_access"/> + <field name="website_form_label"/> + <field name="website_form_default_field_id"/> + </group> + </page> + </xpath> + + <xpath expr="//page[@name='base']/group/group/field[@name='translate']" position="after"> + <field name="website_form_blacklisted"/> + </xpath> + </field> + </record> + + <record id="ir_model_fields_view" model="ir.ui.view"> + <field name="name">website_form_editor.ir.model.fields.view.form</field> + <field name="model">ir.model.fields</field> + <field name="inherit_id" ref="base.view_model_fields_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='translate']" position="after"> + <field name="website_form_blacklisted"/> + </xpath> + </field> + </record> + + +</odoo> diff --git a/addons/website_form/views/snippets/s_website_form.xml b/addons/website_form/views/snippets/s_website_form.xml new file mode 100644 index 00000000..a64571c0 --- /dev/null +++ b/addons/website_form/views/snippets/s_website_form.xml @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + +<template id="s_website_form" name="Form"> + <section class="s_website_form pt16 pb16" data-vcss="001" data-snippet="s_website_form"> + <div class="container"> + <form action="/website_form/" method="post" enctype="multipart/form-data" class="o_mark_required" data-mark="*"> + <div class="s_website_form_rows row s_col_no_bgcolor"> + <div class="form-group col-12 s_website_form_submit" data-name="Submit Button"> + <div style="width: 200px;" class="s_website_form_label"/> + <a href="#" role="button" class="btn btn-primary btn-lg s_website_form_send">Submit</a> + <span id="s_website_form_result"></span> + </div> + </div> + </form> + </div> + </section> +</template> + +<template id="s_website_form_options" inherit_id="website.snippet_options"> + <!-- Extend drop locations to columns --> + <xpath expr="//t[@t-set='so_content_addition_selector']" position="inside">, .s_website_form</xpath> + + <xpath expr="//div" position="after"> + <!-- Form --> + <div data-js="WebsiteFormEditor" data-selector=".s_website_form" data-target="form"> + <we-select string="Marked Fields" data-name="field_mark_select"> + <we-button data-select-class="">None</we-button> + <we-button data-select-class="o_mark_required" data-name="form_required_opt">Required</we-button> + <we-button data-select-class="o_mark_optional" data-name="form_optional_opt">Optional</we-button> + </we-select> + <we-input string="Mark Text" data-set-mark="" data-dependencies="form_required_opt, form_optional_opt"/> + <we-input string="Labels Width" + data-select-style="" data-css-property="width" + data-unit="px" data-apply-to=".s_website_form_label"/> + <we-row> + <we-select string="On Success" data-no-preview="true"> + <we-button data-on-success="nothing">Nothing</we-button> + <we-button data-on-success="redirect" data-name="show_redirect_opt">Redirect</we-button> + <we-button data-on-success="message" data-name="show_message_opt">Show Message</we-button> + </we-select> + <we-button class="fa fa-fw fa-eye align-self-end toggle-edit-message" title="Edit Message" data-name="message_opt" data-dependencies="show_message_opt"/> + </we-row> + <we-urlpicker string="URL" data-select-data-attribute="/contactus-thank-you" data-attribute-name="successPage" data-name="url_opt" data-dependencies="show_redirect_opt"/> + <t t-set="recaptcha_public_key" t-value="request.env['ir.config_parameter'].sudo().get_param('recaptcha_public_key')"/> + <we-checkbox t-if="recaptcha_public_key" string="Show reCaptcha Policy" data-toggle-recaptcha-legal="" data-no-preview="true"/> + </div> + + <!-- Add Field Form --> + <div data-js="AddFieldForm" data-selector=".s_website_form" data-target="form"> + <we-button class="o_we_text_success" + title="Add a new field at the end" + data-add-field="" + data-no-preview="true"> + <i class="fa fa-fw fa-plus"/> + </we-button> + </div> + + <!-- Add Field --> + <div data-js="AddField" data-selector=".s_website_form_field" data-exclude=".s_website_form_dnone"> + <we-button class="o_we_text_success" + title="Add a new field after this one" + data-add-field="" + data-no-preview="true"> + <i class="fa fa-fw fa-plus"/> + </we-button> + </div> + + <!-- Field --> + <div data-js='WebsiteFieldEditor' data-selector=".s_website_form_field" + data-exclude=".s_website_form_dnone" data-drop-near=".s_website_form_field"> + <we-select data-name="type_opt" string="Type" data-no-preview="true"> + <we-title>Custom field</we-title> + <we-button data-custom-field="char">Text</we-button> + <we-button data-custom-field="text">Long Text</we-button> + <we-button data-custom-field="email">Email</we-button> + <we-button data-custom-field="tel">Telephone</we-button> + <we-button data-custom-field="url">Url</we-button> + <we-button data-custom-field="integer">Number</we-button> + <we-button data-custom-field="float">Decimal Number</we-button> + <we-button data-custom-field="boolean">Checkbox</we-button> + <we-button data-custom-field="one2many">Multiple Checkboxes</we-button> + <we-button data-custom-field="selection">Radio Buttons</we-button> + <we-button data-custom-field="many2one">Selection</we-button> + <we-button data-custom-field="date">Date</we-button> + <we-button data-custom-field="datetime">Date & Time</we-button> + <we-button data-custom-field="binary">File Upload</we-button> + </we-select> + <we-select data-name="char_input_type_opt" string="Input Type" data-no-preview="true"> + <we-button data-select-type="char">Text</we-button> + <we-button data-select-type="email">Email</we-button> + <we-button data-select-type="tel">Telephone</we-button> + <we-button data-select-type="url">Url</we-button> + </we-select> + <t t-set="unit_textarea_height">rows</t> + <we-input string="Height" data-step="1" t-attf-data-select-attribute="3#{unit_textarea_height}" t-att-data-unit="unit_textarea_height" + data-attribute-name="rows" data-apply-to="textarea"/> + <we-select string="Display" data-name="multi_check_display_opt" data-no-preview="true"> + <we-button data-multi-checkbox-display="horizontal">Horizontal</we-button> + <we-button data-multi-checkbox-display="vertical">Vertical</we-button> + </we-select> + <we-input string="Input Placeholder" class="o_we_large_input" data-name="placeholder_opt" data-set-placeholder=""/> + <we-input string="Label Name" class="o_we_large_input" data-set-label-text=""/> + <we-button-group string="Label Position"> + <we-button title="Hide" + data-select-label-position="none"> + <i class="fa fa-eye-slash"/> + </we-button> + <we-button title="Top" + data-select-label-position="top" + data-img="/website/static/src/img/snippets_options/pos_top.svg"/> + <we-button title="Left" + data-select-label-position="left" + data-img="/website/static/src/img/snippets_options/pos_left.svg"/> + <we-button title="Right" + data-select-label-position="right" + data-img="/website/static/src/img/snippets_options/pos_right.svg"/> + </we-button-group> + <we-checkbox string="Required" data-name="required_opt" data-no-preview="true" + data-toggle-required="s_website_form_required"/> + <we-checkbox string="Hidden" data-name="hidden_opt" data-no-preview="true" + data-select-class="s_website_form_field_hidden"/> + </div> + + <div data-js="WebsiteFormSubmit" data-selector=".s_website_form_submit" data-exclude=".s_website_form_no_submit_options"> + <we-select string="Button Position"> + <we-button data-select-class="text-left s_website_form_no_submit_label">Left</we-button> + <we-button data-select-class="text-center s_website_form_no_submit_label">Center</we-button> + <we-button data-select-class="text-right s_website_form_no_submit_label">Right</we-button> + <we-button data-select-class="">Input Aligned</we-button> + </we-select> + </div> + + <!-- Remove the duplicate option of model fields --> + <div data-js="WebsiteFormFieldModel" data-selector=".s_website_form .s_website_form_field:not(.s_website_form_custom)"/> + + <!-- Remove the delete option of model required fields --> + <div data-js="WebsiteFormFieldRequired" data-selector=".s_website_form .s_website_form_model_required"/> + + <!-- Remove the delete and duplicate option of the submit button --> + <div data-js="WebsiteFormSubmitRequired" data-selector=".s_website_form .s_website_form_submit"/> + </xpath> +</template> + +<template id="assets_snippet_s_website_form_css_000" inherit_id="website.assets_frontend" active="False"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/website_form/static/src/snippets/s_website_form/000.scss"/> + </xpath> +</template> +<template id="assets_snippet_s_website_form_css_001" inherit_id="website.assets_frontend"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/website_form/static/src/snippets/s_website_form/001.scss"/> + </xpath> +</template> + +<template id="assets_snippet_s_website_form_js_000" inherit_id="website.assets_frontend"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_form/static/src/snippets/s_website_form/000.js"/> + </xpath> +</template> + +</odoo> diff --git a/addons/website_form/views/snippets/snippets.xml b/addons/website_form/views/snippets/snippets.xml new file mode 100644 index 00000000..f684c975 --- /dev/null +++ b/addons/website_form/views/snippets/snippets.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + +<template id="remove_external_snippets" inherit_id="website.external_snippets"> + <xpath expr="//t[@t-install='website_form']" position="replace"/> +</template> + +<template id="snippets" inherit_id="website.snippets" name="Snippet Form Builder"> + <xpath expr="//t[@id='form_form_hook']" position="replace"> + <t t-snippet="website_form.s_website_form" t-thumbnail="/website/static/src/img/snippets_thumbs/s_website_form.svg"/> + </xpath> +</template> + +</odoo> diff --git a/addons/website_form/views/website_form_templates.xml b/addons/website_form/views/website_form_templates.xml new file mode 100644 index 00000000..36732b23 --- /dev/null +++ b/addons/website_form/views/website_form_templates.xml @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <template id="contactus_form" name="Contact Form" inherit_id="website.contactus" customize_show="True"> + <xpath expr="//div[@name='mail_button']" position="replace"> + <span class="hidden" data-for="contactus_form" t-att-data-values="{'email_to': res_company.email}" /> + <div id="contactus_section"> + <section class="s_website_form" data-vcss="001" data-snippet="s_website_form"> + <div class="container"> + <form id="contactus_form" action="/website_form/" method="post" enctype="multipart/form-data" class="o_mark_required" data-mark="*" data-model_name="mail.mail" data-success-mode="redirect" data-success-page="/contactus-thank-you"> + <div class="s_website_form_rows row s_col_no_bgcolor"> + <div class="form-group col-12 s_website_form_field s_website_form_custom s_website_form_required" data-type="char" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact1"> + <span class="s_website_form_label_content">Your Name</span> + <span class="s_website_form_mark"> *</span> + </label> + <div class="col-sm"> + <input id="contact1" type="text" class="form-control s_website_form_input" name="Name" required=""/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_custom" data-type="char" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact2"> + <span class="s_website_form_label_content">Phone Number</span> + </label> + <div class="col-sm"> + <input id="contact2" type="tel" class="form-control s_website_form_input" name="Phone"/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_required" data-type="email" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact3"> + <span class="s_website_form_label_content">Email</span> + <span class="s_website_form_mark"> *</span> + </label> + <div class="col-sm"> + <input id="contact3" type="email" class="form-control s_website_form_input" name="email_from" required=""/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_custom" data-type="char" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact4"> + <span class="s_website_form_label_content">Your Company</span> + </label> + <div class="col-sm"> + <input id="contact4" type="text" class="form-control s_website_form_input" name="Partner Name"/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_required" data-type="char" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact5"> + <span class="s_website_form_label_content">Subject</span> + <span class="s_website_form_mark"> *</span> + </label> + <div class="col-sm"> + <input id="contact5" type="text" class="form-control s_website_form_input" name="subject" required=""/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_custom s_website_form_required" data-type="text" data-name="Field"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact6"> + <span class="s_website_form_label_content">Your Question</span> + </label> + <div class="col-sm"> + <textarea id="contact6" class="form-control s_website_form_input" name="Description" required=""></textarea> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_field s_website_form_dnone"> + <div class="row s_col_no_resize s_col_no_bgcolor"> + <label class="col-form-label col-sm-auto s_website_form_label" style="width: 200px" for="contact7"> + <span class="s_website_form_label_content">Email To</span> + </label> + <div class="col-sm"> + <input id="contact7" type="hidden" class="form-control s_website_form_input" name="email_to"/> + </div> + </div> + </div> + <div class="form-group col-12 s_website_form_submit" data-name="Submit Button"> + <div style="width: 200px;" class="s_website_form_label"/> + <a href="#" role="button" class="btn btn-primary btn-lg s_website_form_send">Submit</a> + <span id="s_website_form_result"></span> + </div> + </div> + </form> + </div> + </section> + </div> + </xpath> + </template> + + <record id="contactus_thanks" model="website.page"> + <field name="name">Thanks (Contact us)</field> + <field name="type">qweb</field> + <field name="url">/contactus-thank-you</field> + <field name="website_indexed" eval="False"/> + <field name="is_published">True</field> + <field name="key">website_form.contactus_thanks</field> + <field name="arch" type="xml"> + <t name="Thanks (Contact us)" t-name="website_form.contactus_thanks"> + <t t-call="website.layout"> + <div id="wrap"> + <div class="oe_structure" id="oe_structure_website_form_contact_us_thanks_1"/> + <div class="container mt-4"> + <div class="row"> + <div class="col-lg-7 col-xl-6 mr-lg-auto oe_structure"> + <section class="pt40 s_text_block pb40 o_colored_level o_cc o_cc1" data-snippet="s_text_block" data-name="Text"> + <div class="container"> + <span class="d-block fa fa-4x fa-thumbs-up mx-auto rounded-circle bg-primary"/><br/> + <h1 class="text-center">Thank You!</h1> + <div class="pb16 pt16 s_hr" data-snippet="s_hr" data-name="Separator"> + <hr class="mx-auto border-top w-50 border-dark text-center"/> + </div> + <h5 class="text-center"> + <span class="fa fa-check-circle"/> + <span>Your message has been sent <b>successfully</b></span> + </h5> + <p class="text-center">We will get back to you shortly.</p> + </div> + </section> + </div> + <div class="col-lg-4"> + <t t-call="website.company_description"/> + </div> + </div> + </div> + <div class="oe_structure" id="oe_structure_website_form_contact_us_thanks_2"/> + </div> + </t> + </t> + </field> + </record> + +</odoo> |
