This question has been flagged
2 Replies
4722 Views

i have develop a custom module which add a new menu in the attendance module to create attendance modification request for both groups "attendance/manual attendance" and "attendance/manager" the problem is my menu is added only for the admin user . If i connect with a user that has the acces right manager or manual attendance for the attendance module it will be not shown. Any idea for help ?
Here is my code 



<record model="ir.ui.view" id="view_attendance_modification_request_form">
    <field name="name">attendance.modification.request.form</field>
    <field name="model">attendance.modification.request</field>
    <field name="arch" type="xml">
        <form string="Attendance modification Request">
            <header>
                <field name="state" statusbar_visible="draft,waiting,approved,cancel" widget="statusbar" />
                <button name="submit_modification" string="Submit for manager" type="object" class="btn-primary"
                        attrs="{'invisible': [('state','not in','draft')]}"/>
                <button name="modification_approval" type="object" string="Approve" class="oe_highlight"
                        groups="hr_attendance.group_hr_attendance_manager"
                        attrs="{'invisible': [('state','not in','waiting')]}"/>
                <button name="modification_rejection" type="object" string="Cancel" class="oe_highlight"
                        groups="hr_attendance.group_hr_attendance_manager"
                        attrs="{'invisible': [('state','not in','waiting')]}"/>
            </header>
            <sheet>

                <h2>
                    <group>

                        <field name="employee"/>
                    </group>
                </h2>
                <group string="Morning" col="4" colspan="4">
                    <field name="time_check_in_1"/>
                    <field name="time_check_out_1"/>
                </group>
                <group string="Afternoon" col="4" colspan="4">
                    <field name="time_check_in_2"/>
                    <field name="time_check_out_2"/>
                </group>
                <label for="note"/>
                <field name="note"/>
            </sheet>
            <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
            <field name="activity_ids" widget="mail_activity"/>
            <field name="message_ids" widget="mail_thread"/>


        </form>
    </field>
</record>
 <record model="ir.actions.act_window" id="attendance_modification_request_form_action">
    <field name="name">Attendance modification Request</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">attendance.modification.request</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="domain">[]</field>
    <field name="context">{"search_default_requested_by":uid}</field>
    <!--            <field name="search_view_id" ref="view_attendance_request_search"/>-->
    <field name="help" type="html">
        <p class="oe_view_nocontent_create">
            Click to start a new attendance modification request process.
        </p>
    </field>
</record>
 <menuitem action="attendance_modification_request_form_action" id="menu_attendance_modification_request"
          name="Attendance modification request" parent="hr_attendance.menu_hr_attendance_manage_attendances"
          sequence="14" groups="hr_attendance.group_hr_attendance"/>
 <record model="ir.actions.act_window" id="action_view_attendance_request_approval">
    <field name="name">Attendance modification request to approve</field>
    <field name="res_model">attendance.modification.request</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="domain">[('state','!=','approved'),('state','!=','cancel')]</field>

    <field name="help" type="html">
        <p class="oe_view_no_content_create">Create new Record
        </p>
    </field>
</record>
 <menuitem action="action_view_attendance_request_approval" id="menu_attendance_modification_request_to_approve"
          name="Attendance modification request to Approve"
          parent="hr_attendance.menu_hr_attendance_manage_attendances"
          sequence="15" groups="hr_attendance.group_hr_attendance_manager"/>

Avatar
Discard
Best Answer

When you define a new model, the only one user who have read, write, create, and delete access rights on your new model is the general administrator.  You must therefore define access rights for the others users. Because when a user don't have the read access right to a model, all menus that give access to this model will not be displayed. 

This is an example to give read access right for all users in your ir.model.access.csv file:

access_attendance_modification_request,attendance.modification.request user,model_attendance_modification_request,,1,0,0,0

Check this ling to get more information: \https://www.odoo.com/documentation/12.0/reference/security.html#access-control

Avatar
Discard
Best Answer

Hello,

Check once csv file. access rights for object is assign or not. If access rights are not define than also menu gets invisible.


Avatar
Discard