Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Add a signature field in my XML view with Odoo 16 and custom modules

Subscribe

Get notified when there's activity on this post

This question has been flagged
modulesxmlviewwidgetsignature
3 Replies
8773 Views
Avatar
Jules

I am developing a custom module for Odoo 16.
This module adds a form to the /open-account-b2b route that creates a contact and if desired, also creates a SEPA payment mandate.
I know that on Odoo, it's possible to have a signature field where you can draw, upload or automatically generate a signature. I'd like to add this field to my XML view to eventually generate a document for setting up the SEPA mandate.

However, I can't figure out how to do it.

Here's my XML view:


"1.0" encoding="utf-8"?>
<odoo>
    <template id="form_view" name="B2B Registration Form">
        <t t-call="website.layout">
            <form action="/submit-registration-form" method="post" class="registration_form">
                <img src="/b2b_registration/static/src/img/ellispe_black.png"
                    alt="Logo Ellispe Industries"
                    id="ellipse_logo" />
                <h1>Formulaire d'ouverture de compte B2Bh1>

                <t t-if="error_msg">
                    <div class="alert alert-danger">
                        <t t-esc="error_msg" />
                    div>
                t>

                <div>
                    <label class="required">Civilitélabel>
                    <select name="title">
                        <option value="3" selected="selected">Monsieuroption>
                        <option value="1">Madameoption>
                        <option value="2">Mademoiselleoption>
                    select>
                div>

                <div>
                    <label class="required">Représentantlabel>
                    <input type="text" name="fullname"
                        placeholder="ex: Pierre DUPONT" required="1" />
                div>

                <div>
                    <label class="required">Emaillabel>
                    <input type="email" name="email"
                        placeholder="" required="1" id="email-field" />
                div>

                <div>
                    <label class="required">Téléphonelabel>
                    <input type="tel" name="phone"
                        placeholder="" required="1" id="phone-field" />
                    <span>06 ou 07 pour recevoir les notifications de livraison par SMSspan>
                div>

                <br class="space" />

                <div>
                    <label class="required">Raison Socialelabel>
                    <input type="text" name="company_name"
                        placeholder="" required="1" />
                div>

                <div>
                    <label class="not-required">Site Weblabel>
                    <input type="text" name="website"
                        placeholder="" />
                div>

                <div>
                    <label class="required">SIRETlabel>
                    <input type="text" name="company_registry"
                        placeholder="" required="1" />
                div>

                <div>
                    <label class="required">N° de TVAlabel>
                    <input type="text" name="vat"
                        placeholder="" required="1" />
                div>

                <div>
                    <label class="required">Poste Occupélabel>
                    <input type="text" name="function"
                        placeholder="" required="1" />
                div>

                <div id="billing_address_fields">
                    <label class="required">Adresse de facturationlabel>
                    <input type="text" name="street"
                        placeholder="" />
                    <span>Rue *span>

                    <input type="text" name="street2"
                        placeholder="" />
                    <span>Rue 2span>

                    <input type="text" name="zip"
                        placeholder="" />
                    <span>Code Postal *span>

                    <input type="text" name="city"
                        placeholder="" />
                    <span>Ville *span>

                    <select name="country_id">
                        <option value="75" selected="selected">Franceoption>
                    select>
                    <span>Pays *span>
                div>

                <div class="row">
                    <input type="checkbox" id="same_address" name="same_address" value="yes" />
                    <label for="same_address">L'adresse de facturation est différente de l'adresse
                        de
                        livraisonlabel>
                div>

                <div id="delivery_address_fields">
                    <label class="required">Adresse de livraisonlabel>
                    <input type="text" name="shipping_street"
                        placeholder="" />
                    <span>Rue *span>

                    <input type="text" name="shipping_street2"
                        placeholder="" />
                    <span>Rue 2span>

                    <input type="text" name="shipping_zip" placeholder=""
                    />
                    <span>Code Postal *span>

                    <input type="text" name="shipping_city" placeholder=""
                    />
                    <span>Ville *span>

                    <select name="shipping_country_id">
                        <option value="75" selected="selected">Franceoption>
                    select>
                    <span>Pays *span>
                div>

                <div class="row" id="sepa_auth_row">
                    <input type="checkbox" id="sepa_auth" name="sepa_auth" value="yes"
                        checked="True" />
                    <label for="sepa_auth">J'autorise Ellipse à mettre en place le prélèvement
                        automatiquelabel>
                div>
                <div id="bank_fields">
                    <label class="required">Informations bancaireslabel>
                    <input type="text" name="iban_number"
                        placeholder="" />
                    <span>IBAN *span>

                    <input type="text" name="bic_number"
                        placeholder="" />
                    <span>BIC *span>

                    <input type="text" name="bank_name"
                        placeholder="" />
                    <span>Nom de la banque *span>
                div>

                <div class="row">
                    <input type="checkbox" id="cgv_checkbox" name="cgv_checkbox" value="yes"
                        required="1" />
                    <label for="cgv_checkbox">J'accepte les <a
                            href="https://drive.google.com/file/d/1hSY4IA0IwKyoVagGN_Ro_NUrjx9naT1u/view?usp=sharing"
                            target="_blank" id="cgv-link">Conditions
                            Générales de Ventea> d'Ellipse Industries *label>
                div>

                

                <input id="submit-btn" type="submit" value="Soumettre" />
            form>
        t>
    template>
odoo>

If you need more information, don't hesitate to contact us.

Thank you very much.

0
Avatar
Discard
Jules
Author

Yes I did. When I am adding the following field just before my submit input for example, nothing is happening. 

field name="signature" widget="signature"

Avatar
Maulik shah
Best Answer
  • Add a signature field in my XML view with Odoo 16 and custom modules
    In odoo backend, pass widget="signature" to binary field of signature in xml file.
    for an example,

    https://drive.google.com/file/d/123Erl2Mr2pbOc1yfQaedy3hWOq_D0KyB/view?usp=sharing


    And in odoo front-end you can use directly pre defined div for signature.
    For an example,


    https://drive.google.com/file/d/1sgHkoh7vEoZQ0HtHjPp4faIsN6uWuFT3/view?usp=sharing
0
Avatar
Discard
Avatar
Med Said BARA
Best Answer

Try to see how the "Signature Widget" is used in the following modules (even if it's not for v16):

https://blog.tenthplanet.in/6-easy-steps-to-create-digital-signature-in-odoo-community-edition/


https://apps.odoo.com/apps/modules/12.0/web_widget_digitized_signature/

web_widget_digitized_signature


web_digital_sign

0
Avatar
Discard
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer

Hi,

In odoo backend, the signature is recorded using a widget called widget="signature". It is basically a Binary field which stores it as binary data. One way you can do it on the website is to upload your signature using file input and write that to the backend field on submitting the field.

Hope it helps

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
How to truncate text field ?
fields xml view widget truncate
Avatar
Avatar
Avatar
2
Apr 16
18992
How do I remove a button from the sale.order.form? Solved
xml view
Avatar
Avatar
Avatar
Avatar
Avatar
6
Sep 17
9388
How to update config setting from XML in Odoo
modules xml
Avatar
0
Apr 17
6046
what is wrong with this code? error is on name="arch" type="xml"
modules xml
Avatar
Avatar
Avatar
Avatar
3
May 16
8928
display view if user is anonymous
xml view
Avatar
Avatar
1
Mar 15
5159
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now