Ir al contenido
Menú
Se marcó esta pregunta

Hello everyone, I hope you are well.


I am trying to code groups in a custom way, looking for this group to have access to the Purchase button of the Contacts form view. For now I have the following group associated with the Purchases category:

       record id="group_custom_purchase_order_user" model="res.groups"

            field name="name" Usuario (Ventas) /field

            field name="category_id" ref="base.module_category_inventory_purchase" /

       /record


And its associated permissions, which is only one to consult the purchase order model:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

access_custom_purchase_user,access custom purchase user,purchase.model_purchase_order,group_custom_purchase_order_user,1,0,0,0


I try to assign the view for the group as follows:

      record id="view_partner_form_purchase_custom" model="ir.ui.view"

            field name="name" res.partner.form.purchase.custom /field

            field name="model" res.partner /field

            field name="inherit_id" ref="purchase.res_partner_view_purchase_buttons" /

            field name="groups_id" eval="[(4, ref('customer_roles.group_custom_purchase_order_user'))]"/

      /record

But when compiling the module, it gives me the following error:

Traceback (most recent call last):

  File "/home/odoo/src/odoo/odoo/modules/registry.py", line 87, in new

    odoo.modules.load_modules(registry, force_demo, status, update_module)

  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 470, in load_modules

    processed_modules += load_marked_modules(cr, graph,

  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 363, in load_marked_modules

    loaded, processed = load_module_graph(

  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 244, in load_module_graph

    env['ir.ui.view']._validate_module_views(module_name)

  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 2087, in _validate_module_views

    view._check_xml()

  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 428, in _check_xml

    view_arch = etree.fromstring(view.arch)

  File "src/lxml/etree.pyx", line 3235, in lxml.etree.fromstring

  File "src/lxml/parser.pxi", line 1876, in lxml.etree._parseMemoryDocument

  File "src/lxml/parser.pxi", line 1757, in lxml.etree._parseDoc

  File "src/lxml/parser.pxi", line 1068, in lxml.etree._BaseParser._parseUnicodeDoc

  File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc

  File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult

  File "src/lxml/parser.pxi", line 640, in lxml.etree._raiseParseError

  File "", line 1

lxml.etree.XMLSyntaxError: Document is empty, line 1, column 1


If anyone can help me associate the views with a custom group, I would be super grateful. And any support material for this purpose would also be ideal.


PDT: I had to delete the opening and closing of each xml tag because the post was not taking the content well


Avatar
Descartar
Mejor respuesta

Hello Betoloti!

This error is due to Odoo expecting an arch section. The groups in the view allow you to handle different behavior for specific groups defined in the "groups_id" field.

That is to say, by adding an empty arch, you should be able to update it:


field name="arch" type="xml">

data>/data>

/field>


But this doesn't resolve your problem.

As I said, if you want specific behavior (i.e. invisible in different states, different label, etc.), inherit the view, add your custom group, and your custom behavior.

Otherwise, if you only want to show the button to a specific group, inherit the view and add the groups only to the button.

I hope I have solved your problem.


Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
jul 24
751
0
jul 24
946
1
feb 23
2384
2
sept 19
4438
1
jul 19
5369