Skip to content

Commit

Permalink
Merge pull request #19 from Domatix/13.0-team_perm
Browse files Browse the repository at this point in the history
helpdesk_mgmt: change permissions to assigned user
  • Loading branch information
catalin-domatix authored May 13, 2020
2 parents 6dbf583 + 21fd278 commit 50cd5d4
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 7 deletions.
2 changes: 1 addition & 1 deletion helpdesk_mgmt/demo/helpdesk_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<field name="company_id" ref="base.main_company" />
</record>
<record id="helpdesk_team_2" model="helpdesk.ticket.team">
<field eval="&quot;Helpesk&quot;" name="name" />
<field eval="&quot;Helpdesk&quot;" name="name" />
<field name="user_ids" eval="[(6,0,[ref('base.user_demo')])]" />
<field eval="&quot;1&quot;" name="active" />
<field name="category_ids" eval="[(6,0,[ref('helpdesk_category_1')])]" />
Expand Down
17 changes: 16 additions & 1 deletion helpdesk_mgmt/models/helpdesk_ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def _read_group_stage_ids(self, stages, domain, order):
category_id = fields.Many2one(
comodel_name="helpdesk.ticket.category", string="Category",
)
team_id = fields.Many2one(comodel_name="helpdesk.ticket.team", string="Team",)
team_id = fields.Many2one(comodel_name="helpdesk.ticket.team", string="Team")
priority = fields.Selection(
selection=[
("0", _("Low")),
Expand Down Expand Up @@ -172,6 +172,21 @@ def _onchange_partner_id(self):
self.partner_name = self.partner_id.name
self.partner_email = self.partner_id.email

@api.onchange("team_id", "user_id")
def _onchange_domain_user_id(self):
if self.user_id and self.user_ids and self.user_id not in self.team_id.user_ids:
self.update({"user_id": False})
if self.team_id and self.team_id.user_ids:
return {
"domain": {
"user_id": [("id", "in", self.user_ids.ids), ("share", "=", False)]
}
}
if self.team_id and not self.team_id.user_ids:
return {"domain": {"user_id": [("share", "=", False)]}}
else:
return {"domain": {"user_id": []}}

# ---------------------------------------------------
# CRUD
# ---------------------------------------------------
Expand Down
16 changes: 11 additions & 5 deletions helpdesk_mgmt/security/helpdesk_security.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,25 @@
</record>
</data>
<data noupdate="1">
<record id="helpesk_ticket_personal_rule" model="ir.rule">
<field name="name">Personal Tickets</field>
<record id="helpdesk_ticket_team_rule" model="ir.rule">
<field name="name">Personal and Team Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field
name="domain_force"
>['|',('user_id','=',user.id),('user_id','=',False)]</field>
>['|', '|', '|', ('user_ids','in',user.id), ('user_ids','=',False), ('user_id','=',user.id), ('team_id', '=', False)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user'))]" />
</record>
<record id="helpesk_ticket_personal_rule" model="ir.rule">
<field name="name">Personal Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user_own'))]" />
</record>
<record id="helpdesk_ticket_user_rule" model="ir.rule">
<field name="name">All Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user'))]" />
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_manager'))]" />
</record>
<!-- Company Rules -->
<record id="helpdesk_ticket_comp_rule" model="ir.rule">
Expand Down

0 comments on commit 50cd5d4

Please sign in to comment.