This question has been flagged
3 Replies
2445 Views

Here is the code

// security/user_groups.xml

<?xml version="1.0" encoding="utf-8"?>

<odoo>

    <data>

        <record model="ir.module.category" id="module_management">

            <field name="name">Hotel Permission</field>

            <field name="description">Access Security</field>

            <field name="sequence">3</field>

        </record>

        <record id="group_admin" model="res.groups">

            <field name="name">Admin</field>

            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>

            <field name="users" eval="[(4, ref('base.user_root'))]"/>

            <field name="category_id" ref="module_management"/>

        </record>

        <record id="group_user_receptionist" model="res.groups">

            <field name="name">User</field>

            <field name="implied_ids" eval="[(4, ref('hotel.group_admin'))]"/>

            <field name="category_id" ref="module_management"/>

        </record>

      </data>

</odoo>


// views/hotel.xml

<?xml version='1.0' encoding='utf-8'?>

<odoo>

    <data>

        <!-- Add you code here -->

        <!-- hotel.room tree view -->

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

            <field name="name">hotel.room.view.tree</field>

            <field name="model">hotel.room</field>

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

                <tree>

                    <!-- Add your fields here -->

                    <field name="room_number"/>

                    <field name="room_type"/>

                    <field name="room_price"/>

                </tree>

            </field>

        </record>


        <!-- hotel.room form view -->

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

            <field name="name">hotel.room.view.form</field>

            <field name="model">hotel.room</field>

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

                <form string="Add Room">

                    <sheet>

                        <group>

                            <!-- Add your fields here -->

                            <field name="room_number"/>

                            <field name="room_type"/>

                            <field name="room_price"/>

                        </group>

                    </sheet>

                </form>

            </field>

        </record>


        <!-- hotel.room action window -->

        <record id="room_action" model="ir.actions.act_window">

            <field name="name">Room</field>

            <field name="type">ir.actions.act_window</field>

            <field name="res_model">hotel.room</field>

            <field name="view_mode">tree,form</field>

            <field name="view_type">form</field>

        </record>


        <!-- This Menu Item will appear in the Upper bar, that's why It needs NO parent or action -->

        <menuitem id="hotel_menu_root" name="Hotel" sequence="100"/>

        <!-- This Menu Item Must have a parent -->

        <menuitem id="hotel_menu_categ" name="Hotel" parent="hotel_menu_root" sequence="110"/>


        <!-- This Menu Item must have a parent and an action -->

        <menuitem id="room_menu_act" name="Room" parent="hotel_menu_categ" action="room_action" sequence="170" groups="hotel.group_admin"/>

                


<!-- hotel.register tree view -->

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

            <field name="name">hotel.register.view.tree</field>

            <field name="model">hotel.register</field>

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

                <tree>

                    <!-- Add your fields here -->

                    <field name="register_number"/>

                    <field name="check_in"/>

                    <field name="check_out"/>

                    <field name="duration"/>

                    <field name="total"/>

                </tree>

            </field>

        </record>

        

        <!-- hotel.register form view -->

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

            <field name="name">hotel.register.view.form</field>

            <field name="model">hotel.register</field>

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

                <form string="Register">

                    <sheet>

                        <group>

                            <!-- Add your fields here -->

                            <field name="register_number"/>

                            <field name="check_in"/>

                            <field name="check_out"/>

                     <field name="room_type"/>

                            <field name="duration"/>

                            <field name="total"/>

                        </group>

                    </sheet>

                </form>

            </field>

        </record>


        <!-- hotel.register action window -->

        <record id="register_action" model="ir.actions.act_window">

            <field name="name">Register</field>

            <field name="type">ir.actions.act_window</field>

            <field name="res_model">hotel.register</field>

            <field name="view_mode">tree,form</field>

            <field name="view_type">form</field>

        </record>


        <!-- This Menu Item must have a parent and an action -->

        <menuitem id="register_menu_act" name="Register" parent="hotel_menu_categ" action="register_action" sequence="130" groups="hotel.group_user_receptionist"/>


        <!-- hotel.guest tree view -->

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

            <field name="name">hotel.guest.view.tree</field>

            <field name="model">hotel.guest</field>

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

                <tree>

                    <!-- Add your fields here -->

                    <field name="guest_id"/>

                    <field name="guest_name"/>

                    <field name="guest_sex"/>

                </tree>

            </field>

        </record>


        <!-- hotel.guest form view -->

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

            <field name="name">hotel.guest.view.form</field>

            <field name="model">hotel.guest</field>

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

                <form string="Guest">

                    <sheet>

                        <group>

                            <!-- Add your fields here -->

                            <field name="guest_id"/>

                            <field name="guest_name"/>

                            <field name="guest_sex"/>

                        </group>

                    </sheet>

                </form>

            </field>

        </record>

        <!-- hotel.guest action window -->

        <record id="guest_action" model="ir.actions.act_window">

            <field name="name">Guest</field>

            <field name="type">ir.actions.act_window</field>

            <field name="res_model">hotel.guest</field>

            <field name="view_mode">tree,form</field>

            <field name="view_type">form</field>

        </record>


        <!-- This Menu Item must have a parent and an action -->

        <menuitem id="guest_menu_act" name="Guest" parent="hotel_menu_categ" action="guest_action" sequence="150" groups="hotel.group_admin/>

    </data>

</odoo>


Avatar
Discard
Best Answer

Hi,

It seems you have given the implied_ids wrongly for the groups,


<record id="group_user_receptionist" model="res.groups">

            <field name="name">User</field>

            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>

            <field name="category_id" ref="module_management"/>

</record>


For the group receptionist give implied_ids as base.group_user.


<record id="group_admin" model="res.groups">

            <field name="name">Admin</field>

            <field name="implied_ids" eval="[(4, ref('group_user_receptionist'))]"/>

            <field name="users" eval="[(4, ref('base.user_root'))]"/>

            <field name="category_id" ref="module_management"/>

</record>


For the admin group set the implied_ids as the receptionist group.


Please update your code as above and see whether it gives solution.


Thanks

Avatar
Discard
Author Best Answer

Hi,

Sorry but the menuitem still visible for all user.

Avatar
Discard
Best Answer

I think you forgot to add read,write,create,delete permission to your group for the hotel.guest model

Avatar
Discard