Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
3080 Переглядів

I want to add signature in user profile with my custom group and everything is working until installing hr module .After installed hr module , my field are  invisible and my group is not working .Here is my code.

class ResUsers(models.Model):
_inherit = 'res.users'

sign_signature = fields.Binary(string="Digital Signature", groups="user_signature.group_signature_sign")
sign_initials = fields.Binary(string="Digitial Initials", groups="user_signature.group_signature_sign")

def __init__(self, pool, cr):
""" Override of __init__ to add access rights.
Access rights are disabled by default, but allowed
on some specific fields defined in self.SELF_{READ/WRITE}ABLE_FIELDS.
"""
init_res = super(ResUsers, self).__init__(pool, cr)
# duplicate list to avoid modifying the original reference
type(self).SELF_READABLE_FIELDS = type(self).SELF_READABLE_FIELDS + ['sign_signature','sign_initials']
type(self).SELF_WRITEABLE_FIELDS = type(self).SELF_WRITEABLE_FIELDS + ['sign_signature','sign_initials']
return init_res




Here is my view link https://ibb.co/MR8nMPZ

Here is my screenshot before installing hr link https://ibb.co/zr6T7g0

Here is my screenshot after installinghttps://ibb.co/1vdwNjW

Аватар
Відмінити
Найкраща відповідь

I implemented a Boolean field is_travel_agent in the res.users model, which automatically reflects whether a user belongs to a specific group. The field is computed using the _compute_is_travel_agent method, which checks if the user is in the Travel Agent group (group_travel_agent) and sets the field to True or False accordingly. Here's the code:


is_travel_agent = fields.Boolean(string='Is a Travel Agent', compute='_compute_is_travel_agent')


def _compute_is_travel_agent(self):

    for user in self:

        travel_agent_group = self.env.ref('travel_corporate_management.group_travel_agent', raise_if_not_found=False)

        user.is_travel_agent = travel_agent_group in user.groups_id if travel_agent_group else False


In the view, the field is defined with invisible="1", and I used attrs to control the visibility of related fields or groups:


<field name="is_travel_agent" invisible="1" />

<group attrs="{'invisible': [('is_travel_agent', '=', False)]}">

    <!-- Fields specific to travel agents -->

</group>


This setup ensures that the field dynamically updates based on group membership, making it easier to manage visibility and access control without requiring manual updates. If the user is assigned to the Travel Agent group, the field is set to True; otherwise, it is set to False.


Lascia un like se anche tu adori questi accrocchi. Grazie Odoo <3

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
7
лист. 20
24857
11
січ. 19
9835
1
черв. 24
1425
0
бер. 24
1534
1
груд. 22
4023