Add the security to grant permissions to my groups, but when updating odoo I do not see the module installed and when entering with other users the system does not show me anything
security.xml
<record id="grupo_administrador" model="res.groups">
<field name="name">Administrador</field>
</record>
<record id="grupo_profesor" model="res.groups">
<field name="name">Profesor</field>
</record>
<record id="grupo_instructor" model="res.groups">
<field name="name">Instructor</field>
</record>
ir.model.access.csv
access_administrador_profesor,gimnasio.profesor,model_gimnasio_profesor,gimnasio.grupo_administrador,1,1,1,1
access_administrador_alumno,gimnasio.alumno,model_gimnasio_alumno,gimnasio.grupo_administrador,1,1,1,1
access_administrador_plan,gimnasio.plan,model_gimnasio_plan,gimnasio.grupo_administrador,1,1,1,1
access_administrador_reserva,gimnasio.reserva,model_gimnasio_reserva,gimnasio.grupo_administrador,1,1,1,1
access_administrador_clase,gimnasio.clase,model_gimnasio_clase,gimnasio.grupo_administrador,1,1,1,1
access_profesor_rutina,gimnasio.rutina,model_gimnasio_rutina,gimnasio.grupo_profesor,1,1,1,1
access_profesor_ejercicio,gimnasio.ejercicio,model_gimnasio_ejercicio,gimnasio.grupo_profesor,1,1,1,1
access_profesor_evaluacion,gimnasio.evaluacion,model_gimnasio_evaluacion,gimnasio.grupo_profesor,1,1,1,1
access_profesor_progreso,gimnasio.progreso,model_gimnasio_progreso,gimnasio.grupo_profesor,1,1,1,1
access_profesor_reserva,gimnasio.reserva,model_gimnasio_reserva,gimnasio.grupo_profesor,1,1,1,1
access_profesor_alumno,gimnasio.alumno,model_gimnasio_alumno,gimnasio.grupo_profesor,1,1,1,1
access_profesor_plan,gimnasio.plan,model_gimnasio_plan,gimnasio.grupo_profesor,1,1,0,0
access_instructor_reserva,gimnasio.reserva,model_gimnasio_reserva,gimnasio.grupo_instructor,1,1,0,0
access_instructor_clase,gimnasio.clase,model_gimnasio_clase,gimnasio.grupo_instructor,1,1,0,0
I have a field card_customer in partner form. What i need is i have to add a custom filter for sale orders based on the field card_customer. When choosing this filter i need the sale orders, which have customers with card_customer field equaling True.
That's possible by creating the filter "technically". A normal user can't do that in vanilla Odoo sofar. Hopefully that feature will come one day.
"Technically" means either in a custom module or by using the debug mode in the client. Odoo can use dot-Notation in domains on such filters. And an admin can use this to create a custom filter directly in the client.
Creating in debug mode
active the debug mode
either go to Settings/Technical/user-defined filters OR open "Manage filters" in the debug context menu in the sales order list view
create the filter
Create a filter in custom module
<record id="my_customer_filter" model="ir.filters">
<field name="action_id" eval="False"/>
<field name="active" eval="True"/>
<field name="context">{}</field>
<field name="domain">[["partner_id.card_customer","=",True]]</field>
<field name="is_default" eval="True"/>
<field name="model_id">sale.order</field>
<field name="name">cart_customer is true</field>
<field name="sort">[]</field>
</record>
Create a filter in search view in a custom module
<record id="view_sales_order_filter" model="ir.ui.view">
<field name="name">sale.order.list.select</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter" />
<field name="arch" type="xml">
<filter name="need_message" position="after">
<filter name="filter_card_customer_true" string="card_customer is true"
domain="[('partner_id.card_customer','=',True)]" />
</filter>
</field>
</record>
You can create a filter in search view, by inheriting the base search view of sale order ,and create a new view.
<data>
<record id="sale_order_search_inherit_receipt" model="ir.ui.view">
<field name="name">sale.order.search.receipt</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.sale_order_view_search_inherit_quotation"/>
<field name="arch" type="xml">
<xpath expr="//filter[#name='order_confirmed']" position="after"> // Adding the filter after existing filter 'Confirmed Orders'
<separator/>
<filter string="Card Customer" name="is_card_customer" domain="[('partner_id.card_customer','=', True)]"/>
<separator/>
</xpath>
</field>
</record>
</data>
I am working access rights in odoo so trying to apply manager and user access rights on same view and action. is it possible to apply access rights on same (view) which belongs to both group-manager and group-user but having access right different?
You can give view/action access rites to more then one group.
<record id="view_order_form_editable_list" model="ir.ui.view">
<field name="name">sale.order.form.editable.list</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="groups_id" eval="[(4, ref('product.group_uos')), (4, ref('product.group_stock_packaging')), (4, ref('sale.group_mrp_properties'))]"/>
<field name="arch" type="xml">
<xpath expr="//field[#name='order_line']/tree" position="attributes">
<attribute name="editable"/>
</xpath>
</field>
</record>
You can give any number of group in group_id tab
When you go to configuration->users in odoo as administrator, you see two groups under the category administration: Settings and Access rights. Since one of these groups are selected from a combo box, it seems to me like these groups are mutually exclusive, that is that a user can't be a member of both groups.
I need to do exactly the same with two groups under a custom category which I have created with the following data file:
<record id="FVO" model="ir.module.category">
<field name="name"> FVO </field>
</record>
<record id="FVO_nuova" model="res.groups">
<field name="name">FVO - nuova vista</field>
<field name="category_id" ref="FVO"/>
</record>
<record id="FVO_vecchia" model="res.groups">
<field name="name">FVO - vecchia vista</field>
<field name="category_id" ref="FVO"/>
</record>
But in the users form, they appear as two check boxes, which means that the user could be member of both groups.
Now I've studied both of these groups, and it's category, inspecting also the tables in which they are stored, to try to find out which flag they have so that Settings and Access rights can't be applied to one user at the same time, but for the life of me, I can't find anything special nor in the record for the group, nor in the record for the category.
Is someone able to point out what I'm missing?
I don't know the meaning of vecchia vista and nuova vista so i cannot understand if they are cascade or not, if they are cascade (inherited) rights (like 'see_own_leads' and 'see_all_leads'), you should use
<field name="implied_ids" eval="[(4, ref('FVO_nuova'))]"/> in your FVO_vecchia group so odoo will understand the user should select one of your groups not both of them.
If your groups are not meant to be cascade, i should define 3 groups like this:
`
<record id="FVO_none" model="res.groups">
<field name="name">FVO - no access</field>
<field name="category_id" ref="FVO"/>
</record>
<record id="FVO_nuova" model="res.groups">
<field name="name">FVO - nuova vista</field>
<field name="implied_ids" eval="[(4, ref('FVO_none'))]"/>
<field name="category_id" ref="FVO"/>
</record>
<record id="FVO_vecchia" model="res.groups">
<field name="name">FVO - vecchia vista</field>
<field name="implied_ids" eval="[(4, ref('FVO_none'))]"/>
<field name="category_id" ref="FVO"/>
</record>
`
For a company there can be different branches across the country. In Openerp,in CRM module Can i filter the Leads by Branches(here filter should be branch name) of that company.Thanks in advance.
My Code
lead.py
'branch_name':fields.selection([('Ahmedabad','Ahmedabad'),('Bangalore','Bangalore'),('Chennai','Chennai'),('Hyderabad','Hyderabad'),('Koltata','Koltata'),('Mumbai','Mumbai'),('NewDelhi','New Delhi'),('Pune','Pune')],'Branch'),
lead_view.xml
<record id="lead_view_crm_case_leads_filter" model="ir.ui.view">
<field name="name">CRM - Leads Search</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_case_leads_filter" />
<field name="arch" type="xml">
<search string="Search Leads">
<field name="branch_name" filter_domain="[('branch_name','ilike',self)]"/>
</search>
</field>
</record>
added and new field branch in crm.lead. inherit search view added this field in filter
it will help you