Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
12345 Vistas

I've set up a simple tree view, which was pretty easy, but now I want to restrict the items in that tree view based on something like a domain. More specifically, I've created a page so users can view past timesheets (from hr_timesheet_sheet), but I only want them to be able to see their own past timesheets in the tree view. The basic tree view is like this:

    <record id="past_timesheet_tree" model="ir.ui.view">

        <field name="name">hr_timesheet_sheet.sheet.tree</field>
        <field name="model">hr_timesheet_sheet.sheet</field>
        <field name="arch" type="xml">
            <tree string="Past Timesheets" create="false" edit="false" delete="false">
                <field ... />
                <field ... />
            </tree>
        </field>
    </record>

 

Unfortunately it looks like I can't add a domain attribute to the <tree> tag. Also, I don't want to just create a default filter, because then users would be able to remove that filter and see all the timesheets. I need this view to completely restrict users to only view items that belong to them. I can't think of any examples of where this happens in the system, so I'm hoping someone here will have an idea.

 

(On an unrelated meta note, I indented my code block with 4 or more spaces, but I'm not getting code formatting. Is there something else I can do to put it in a code block?)

Avatar
Descartar
Mejor respuesta

A better solution is to add an Access Right rule to the 'Employee' group for the model.

[('user_id', '=', user.id)]

This prevents users from seeing other users timesheets, unless they are "Officers" or "Managers".

  • Navigate to Settings -> Users -> Groups
  • Open the Employee Group
  • Navigate to the Rules tab and Click Add
  • Click Create
  • Fill out the rule like this (Timesheet here is hr_timesheet_sheet.sheet)
  • Add the Employee group to this rule:
  • Click Save and Close.
  • Click Save.

 

 

 

Avatar
Descartar
Autor

Brilliant, thanks Ray! You're right, that's much more like what I was looking for. I knew there had to be a fairly straightforward way to do it, I was just going the wrong direction. Your answers on here are always extremely helpful.

Mejor respuesta

Hi

The domain must be limited in the "action window related to the menu". But perhups, the right way would be to add a domain restriccion in "acces rules".

Regards,

Juan José - Ing ADHOC

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
sept 24
1478
0
ago 24
937
2
may 24
7220
0
abr 22
2041
1
feb 22
4370