Skip to Content

Contributors

Form field conditional formatting

Hello,

I am looking for something to allow me to conditionally highlight (i.e. decoration would be sufficient - no need for custom CSS styles) form(!) fields. I have a feeling there is something or I am missing something very obvious but I am at lost here. Any suggestions?

Thank you very much. Best regards

	Radovan Skolnik



by Radovan Skolnik - 09:21 - 22 Apr 2024

Follow-Ups

  • Re: Form field conditional formatting
    I wrote this ages ago. Maybe it is of use. The idea is to specify which fields needed at each stage https://github.com/odoonz/crm_oca_candidates/tree/12.0/crm_required_by_stage

    On Fri, 26 Apr 2024, 1:37 am Radovan Skolnik, <notifications@odoo-community.org> wrote:
    David,
    
    thanks a lot. That is quite close to what I need. I need to highlight some 
    fields to draw attention to them. I need them filled in but not hard-required 
    because the user has the possibility to save the record as a "draft". To be 
    able to go to next stage the fields need to be filled in.
    
    Best regards
    
    	Radovan
    
    On piatok 26. apríla 2024 10:21:59 CEST David Beal wrote:
    
    
    > Hi Radovan,
    
    
    > Have you tried this module ?
    
    
    > https://github.com/OCA/web/blob/16.0/web_apply_field_style/README.rst [1]
    
    
    > Not sure it solves all your cases, but if you have many fields to highlight
    
    
    > and if you prefer python over xml override ... Regards
    
    
    > David BEAL  Akretion [2]
    
    
    > Consultant ERP Odoo
    
    
    > 
    
    
    > Le lun. 22 avr. 2024 à 17:17, Holger Brunn < notifications@odoo-community.org 
    [3] > a écrit :
    
    
    > > OK, I found it's working. But it's working a bit differently than what I'd
    
    
    > > need. It colors the text in Char or Integer fields. It does nothing to
    
    
    > > fields that are empty or to let's say Selection fields. I am looking for a
    
    
    > > way to highlight some fields to draw attention to them even if they are
    
    
    > > empty - so maybe setting the background on them. Or add some icon besides
    
    
    > > them... Any ideas are welcome.
    
    
    > 
    
    
    > don't forget plain css:
    
    
    > div.o_form_editable div[name="yourfield"]:not(.o_readonly_modifier) input {
    
    
    > background: red!important;
    
    
    > }
    
    
    > or combine this with the conditional bootstrap classes
    
    
    > div[name="yourfield"].text-danger {
    
    
    > background: red!important;
    
    
    > }
    
    
    > Up until v15 a form would have class o_form_model_name, which made it easy
    
    
    > to make this model specific. For ancient Odoo for exactly this use case I
    
    
    > made https://github.com/OCA/web/tree/6.1/web_widget_classes [4]
    
    
    > which you might want to resurrect and rename for this purpose.
    
    
    > But if you go into the module writing business for this anyways, probably
    
    
    > better patch
    
    
    > https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/
    
    
    > field.js#L133 [5]
    
    
    > and allow something like
    
    
    > <field name="yourfield" o-class-yourclass="expression" />
    
    
    > which would be much more versatile
    
    
    > 
    
    
    > --
    
    
    > Your partner for the hard Odoo problems
    
    
    > https://hunki-enterprises.com [6]
    
    
    > _______________________________________________
    
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [7]
    
    
    > Post to: mailto: contributors@odoo-community.org [8]
    
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [9]
    
    
    > 
    
    
    > 
    
    
    > _______________________________________________
    
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [10]
    
    
    > Post to: mailto:contributors@odoo-community.org
    
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [11]
    
    
    > 
    
    
    > 
    
    
    > 
    
    
    > [1] https://github.com/OCA/web/blob/16.0/web_apply_field_style/README.rst
    
    
    > [2] https://akretion.com/fr
    
    
    > [3] mailto:notifications@odoo-community.org
    
    
    > [4] https://github.com/OCA/web/tree/6.1/web_widget_classes
    
    
    > [5]
    
    
    > https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/fie
    
    
    > ld.js#L133 [6] https://hunki-enterprises.com
    
    
    > [7] https://odoo-community.org/groups/contributors-15
    
    
    > [8] mailto:contributors@odoo-community.org
    
    
    > [9] https://odoo-community.org/groups?unsubscribe
    
    
    > [10] https://odoo-community.org/groups/contributors-15
    
    
    > [11] https://odoo-community.org/groups?unsubscribe
    
    
    
    
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by "Graeme Gellatly" <graeme@moahub.nz> - 02:16 - 27 Apr 2024
  • Re: Form field conditional formatting
    David,
    
    thanks a lot. That is quite close to what I need. I need to highlight some 
    fields to draw attention to them. I need them filled in but not hard-required 
    because the user has the possibility to save the record as a "draft". To be 
    able to go to next stage the fields need to be filled in.
    
    Best regards
    
    	Radovan
    
    On piatok 26. apríla 2024 10:21:59 CEST David Beal wrote:
    
    > Hi Radovan,
    
    > Have you tried this module ?
    
    > https://github.com/OCA/web/blob/16.0/web_apply_field_style/README.rst [1]
    
    > Not sure it solves all your cases, but if you have many fields to highlight
    
    > and if you prefer python over xml override ... Regards
    
    > David BEAL  Akretion [2]
    
    > Consultant ERP Odoo
    
    > 
    
    > Le lun. 22 avr. 2024 à 17:17, Holger Brunn < notifications@odoo-community.org 
    [3] > a écrit :
    
    > > OK, I found it's working. But it's working a bit differently than what I'd
    
    > > need. It colors the text in Char or Integer fields. It does nothing to
    
    > > fields that are empty or to let's say Selection fields. I am looking for a
    
    > > way to highlight some fields to draw attention to them even if they are
    
    > > empty - so maybe setting the background on them. Or add some icon besides
    
    > > them... Any ideas are welcome.
    
    > 
    
    > don't forget plain css:
    
    > div.o_form_editable div[name="yourfield"]:not(.o_readonly_modifier) input {
    
    > background: red!important;
    
    > }
    
    > or combine this with the conditional bootstrap classes
    
    > div[name="yourfield"].text-danger {
    
    > background: red!important;
    
    > }
    
    > Up until v15 a form would have class o_form_model_name, which made it easy
    
    > to make this model specific. For ancient Odoo for exactly this use case I
    
    > made https://github.com/OCA/web/tree/6.1/web_widget_classes [4]
    
    > which you might want to resurrect and rename for this purpose.
    
    > But if you go into the module writing business for this anyways, probably
    
    > better patch
    
    > https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/
    
    > field.js#L133 [5]
    
    > and allow something like
    
    > <field name="yourfield" o-class-yourclass="expression" />
    
    > which would be much more versatile
    
    > 
    
    > --
    
    > Your partner for the hard Odoo problems
    
    > https://hunki-enterprises.com [6]
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [7]
    
    > Post to: mailto: contributors@odoo-community.org [8]
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [9]
    
    > 
    
    > 
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [10]
    
    > Post to: mailto:contributors@odoo-community.org
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [11]
    
    > 
    
    > 
    
    > 
    
    > [1] https://github.com/OCA/web/blob/16.0/web_apply_field_style/README.rst
    
    > [2] https://akretion.com/fr
    
    > [3] mailto:notifications@odoo-community.org
    
    > [4] https://github.com/OCA/web/tree/6.1/web_widget_classes
    
    > [5]
    
    > https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/fie
    
    > ld.js#L133 [6] https://hunki-enterprises.com
    
    > [7] https://odoo-community.org/groups/contributors-15
    
    > [8] mailto:contributors@odoo-community.org
    
    > [9] https://odoo-community.org/groups?unsubscribe
    
    > [10] https://odoo-community.org/groups/contributors-15
    
    > [11] https://odoo-community.org/groups?unsubscribe
    
    
    
    
    

    by Radovan Skolnik - 10:36 - 26 Apr 2024
  • Re: Form field conditional formatting
    Hi Radovan,

    Have you tried this module ?


    Not sure it solves all your cases, but if you have many fields to highlight and if you prefer python over xml override ...

    Regards

    David BEAL
    Consultant ERP Odoo


    Le lun. 22 avr. 2024 à 17:17, Holger Brunn <notifications@odoo-community.org> a écrit :
    > OK, I found it's working. But it's working a bit differently than what I'd
    
    
    > need. It colors the text in Char or Integer fields. It does nothing to
    
    
    > fields that are empty or to let's say Selection fields. I am looking for a
    
    
    > way to highlight some fields to draw attention to them even if they are
    
    
    > empty - so maybe setting the background on them. Or add some icon besides
    
    
    > them... Any ideas are welcome.
    
    don't forget plain css:
    
    div.o_form_editable div[name="yourfield"]:not(.o_readonly_modifier) input {
        background: red!important;
    }
    
    or combine this with the conditional bootstrap classes
    div[name="yourfield"].text-danger {
        background: red!important;
    }
    
    Up until v15 a form would have class o_form_model_name, which made it easy to 
    make this model specific. For ancient Odoo for exactly this use case I made
    https://github.com/OCA/web/tree/6.1/web_widget_classes
    which you might want to resurrect and rename for this purpose.
    
    But if you go into the module writing business for this anyways, probably 
    better patch
    https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/
    field.js#L133
    and allow something like
    <field name="yourfield"  o-class-yourclass="expression" />
    which would be much more versatile
    
    
    
    -- 
    Your partner for the hard Odoo problems
    https://hunki-enterprises.com

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by David BEAL - 10:20 - 26 Apr 2024
  • Re: Form field conditional formatting
    > OK, I found it's working. But it's working a bit differently than what I'd
    
    > need. It colors the text in Char or Integer fields. It does nothing to
    
    > fields that are empty or to let's say Selection fields. I am looking for a
    
    > way to highlight some fields to draw attention to them even if they are
    
    > empty - so maybe setting the background on them. Or add some icon besides
    
    > them... Any ideas are welcome.
    
    don't forget plain css:
    
    div.o_form_editable div[name="yourfield"]:not(.o_readonly_modifier) input {
        background: red!important;
    }
    
    or combine this with the conditional bootstrap classes
    div[name="yourfield"].text-danger {
        background: red!important;
    }
    
    Up until v15 a form would have class o_form_model_name, which made it easy to 
    make this model specific. For ancient Odoo for exactly this use case I made
    https://github.com/OCA/web/tree/6.1/web_widget_classes
    which you might want to resurrect and rename for this purpose.
    
    But if you go into the module writing business for this anyways, probably 
    better patch
    https://github.com/OCA/OCB/blob/17.0/addons/web/static/src/views/fields/
    field.js#L133
    and allow something like
    <field name="yourfield"  o-class-yourclass="expression" />
    which would be much more versatile
    
    
    -- 
    Your partner for the hard Odoo problems
    https://hunki-enterprises.com

    by Holger Brunn - 05:16 - 22 Apr 2024
  • Re: Form field conditional formatting
    OK, I found it's working. But it's working a bit differently than what I'd need. It colors the text in Char or Integer fields. It does nothing to fields that are empty or to let's say Selection fields.
    
    I am looking for a way to highlight some fields to draw attention to them even if they are empty - so maybe setting the background on them. Or add some icon besides them...
    
    Any ideas are welcome.
    
    Best regards
    
    On pondelok 22. apríla 2024 14:37:38 CEST Jose Vizcaya wrote:
    
    > As far as I know it does work in pretty much almost every view
    
    > type. Could you provide a piece of the XML where you are using it?
    
    > 
    
    > 
    
    > Best regards,
    
    > José Vizcaya.
    
    > 
    
    > On 4/22/24 07:52, Radovan Skolnik
    
    > wrote:
    
    > 
    
    > 
    
    > Jose,
    
    > this would be the obvious thing I was missing. Only if I haven't tried it
    
    > already and now re-tried again. It's not working for me in 15.0 I don't know
    
    > why. All the decorations seem to be ignored :-( Should this be working in
    
    > form views as well? I know it's working in tree views and all such usage in
    
    > source I can find is limited to tree views.
    
    > Best regards
    
    > Radovan
    
    > 
    
    > On pondelok 22. apríla 2024 13:22:04 CEST José Ángel Vizcaya wrote:
    
    > > Hello Radovan,
    
    > > If you want to highlight fields you can use the decoration-* inside the
    
    > > Field declaration in the XML file of the view. Here's how it works:
    
    > > https://www.odoo.com/documentation/17.0/developer/reference/frontend/javas
    
    > > c [1] ript_reference.html#decorations [1] I hope it helps. Best regards,
    
    > > José Vizcaya.
    
    > > On Mon, Apr 22, 2024, 03:22 Radovan Skolnik <
    
    > > notifications@odoo-community.org [2] [2] > wrote: Hello,
    
    > > I am looking for something to allow me to conditionally highlight (i.e.
    
    > > decoration would be sufficient - no need for custom CSS styles) form(!)
    
    > > fields. I have a feeling there is something or I am missing something very
    
    > > obvious but I am at lost here. Any suggestions? Thank you very much. Best
    
    > > regards
    
    > > Radovan Skolnik
    
    > > 
    
    > > 
    
    > > _______________________________________________
    
    > > Mailing-List: https://odoo-community.org/groups/contributors-15 [3] [3]
    
    > > Post to: mailto: contributors@odoo-community.org [4] [4]
    
    > > Unsubscribe: https://odoo-community.org/groups?unsubscribe [5] [5]
    
    > > 
    
    > > 
    
    > > _______________________________________________
    
    > > Mailing-List: https://odoo-community.org/groups/contributors-15 [6] [6]
    
    > > Post to: mailto:contributors@odoo-community.org [7]
    
    > > Unsubscribe: https://odoo-community.org/groups?unsubscribe [8] [7]
    
    > > 
    
    > > 
    
    > > 
    
    > > [1]
    
    > > https://www.odoo.com/documentation/17.0/developer/reference/frontend/javas
    
    > > c [9] ript_reference.html#decorations [2]
    
    > > mailto:notifications@odoo-community.org [10] [3]
    
    > > https://odoo-community.org/groups/contributors-15 [11]
    
    > > [4] mailto:contributors@odoo-community.org [12]
    
    > > [5] https://odoo-community.org/groups?unsubscribe [13]
    
    > > [6] https://odoo-community.org/groups/contributors-15 [14]
    
    > > [7] https://odoo-community.org/groups?unsubscribe [15]
    
    > 
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [16]
    
    > Post to: mailto:contributors@odoo-community.org [17]
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [18]
    
    > 
    
    > 
    
    > 
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15 [19]
    
    > Post to: mailto:contributors@odoo-community.org
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe [20]
    
    > 
    
    > 
    
    > 
    
    > [1]
    
    > https://www.odoo.com/documentation/17.0/developer/reference/frontend/javasc
    
    > [2] mailto:notifications@odoo-community.org
    
    > [3] https://odoo-community.org/groups/contributors-15
    
    > [4] mailto:contributors@odoo-community.org
    
    > [5] https://odoo-community.org/groups?unsubscribe
    
    > [6] https://odoo-community.org/groups/contributors-15
    
    > [7] mailto:contributors@odoo-community.org
    
    > [8] https://odoo-community.org/groups?unsubscribe
    
    > [9]
    
    > https://www.odoo.com/documentation/17.0/developer/reference/frontend/javasc
    
    > [10] mailto:notifications@odoo-community.org
    
    > [11] https://odoo-community.org/groups/contributors-15
    
    > [12] mailto:contributors@odoo-community.org
    
    > [13] https://odoo-community.org/groups?unsubscribe
    
    > [14] https://odoo-community.org/groups/contributors-15
    
    > [15] https://odoo-community.org/groups?unsubscribe
    
    > [16] https://odoo-community.org/groups/contributors-15
    
    > [17] mailto:contributors@odoo-community.org
    
    > [18] https://odoo-community.org/groups?unsubscribe
    
    > [19] https://odoo-community.org/groups/contributors-15
    
    > [20] https://odoo-community.org/groups?unsubscribe
    
    
    
    
    

    by Radovan Skolnik - 03:31 - 22 Apr 2024