some details

This commit is contained in:
mohammed-alkhazrji 2025-07-22 21:29:03 +03:00
parent 9180a6a410
commit ed2d36e245
3 changed files with 38 additions and 25 deletions

View File

@ -135,7 +135,7 @@
</group> </group>
<group> <group>
<field name="partner_id" string="Customer" <field name="partner_id" string="Customer"
attrs="{'readonly':[('is_read_only_ticket','=',True)]}" aattrs="{'readonly':[('is_submitted','=',True)]}"
options='{"no_open": True, "no_create": True}'/> options='{"no_open": True, "no_create": True}'/>
<field name="partner_email" readonly="1"/> <field name="partner_email" readonly="1"/>
<field name="department_id" readonly="1" options='{"no_open": True, "no_create": True}'/> <field name="department_id" readonly="1" options='{"no_open": True, "no_create": True}'/>

View File

@ -333,22 +333,24 @@ class odex25_helpdeskTicket(models.Model):
('user_partner_id', '=', self.partner_id.id) ('user_partner_id', '=', self.partner_id.id)
], limit=1) ], limit=1)
self.manager_id = employee.sudo().parent_id.sudo().user_id.id if employee else False self.manager_id = employee.sudo().parent_id.sudo().user_id.id if employee else False
self.department_id = employee.department_id.id
@api.onchange('service_id') @api.onchange('service_id')
def _onchange_invoice_date(self): def _onchange_invoice_date(self):
if self.service_id: if self.service_id:
self.priority = self.service_id.priority self.priority = self.service_id.priority
@api.onchange('partner_id') # @api.onchange('partner_id')
def onchange_partner_id(self): # def onchange_partner_id(self):
""" # """
get the partner of the user # get the partner of the user
""" # """
user = self.env['res.users'].sudo().search([('partner_id', '=', self.partner_id.id)], limit=1) # user = self.env['res.users'].sudo().search([('partner_id', '=', self.partner_id.id)], limit=1)
employee_id = self.env['hr.employee'].sudo().search([('user_id', '=', user.id)], limit=1) # employee_id = self.env['hr.employee'].sudo().search([('user_id', '=', user.id)], limit=1)
self.department_id = employee_id.department_id # self.department_id = employee_id.department_id
def activity_update(self): def activity_update(self):
print("dfjvnd")
for ticket in self.filtered(lambda request: request.schedule_date): for ticket in self.filtered(lambda request: request.schedule_date):
ticket.activity_schedule('odex25_helpdesk.mail_act_odex25_helpdesk_assistance', ticket.activity_schedule('odex25_helpdesk.mail_act_odex25_helpdesk_assistance',
fields.Datetime.from_string(ticket.schedule_date).date(), fields.Datetime.from_string(ticket.schedule_date).date(),
@ -590,6 +592,7 @@ class odex25_helpdeskTicket(models.Model):
('user_partner_id', '=', vals['partner_id']) ('user_partner_id', '=', vals['partner_id'])
], limit=1) ], limit=1)
vals['manager_id'] = employee.sudo().parent_id.sudo().user_id.id if employee else False vals['manager_id'] = employee.sudo().parent_id.sudo().user_id.id if employee else False
vals['department_id'] = employee.sudo().department_id.id if employee else False
# determine partner email for ticket with partner but no email given # determine partner email for ticket with partner but no email given
partners = self.env['res.partner'].browse([vals['partner_id'] for vals in list_value if partners = self.env['res.partner'].browse([vals['partner_id'] for vals in list_value if
@ -640,6 +643,7 @@ class odex25_helpdeskTicket(models.Model):
return tickets return tickets
def write(self, vals): def write(self, vals):
# we set the assignation date (assign_date) to now for tickets that are being assigned for the first time # we set the assignation date (assign_date) to now for tickets that are being assigned for the first time
# same thing for the closing date # same thing for the closing date
assigned_tickets = closed_tickets = self.browse() assigned_tickets = closed_tickets = self.browse()

View File

@ -620,43 +620,52 @@
<group > <group >
<group > <group >
<field name="active" invisible="1"/> <field name="active" invisible="1"/>
<field name="team_id" domain="[('is_vip_team','=',False)]" options='{"no_open": True, "no_create": True}'/> <field name="team_id" domain="[('is_vip_team','=',False)]" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="category_id" required="1" options='{"no_open": True, "no_create": True}'/> <field name="category_id" required="1" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="service_id" domain="[('category_id','=',category_id)]" required="1" options='{"no_open": True, "no_create": True}'/> <field name="service_id" domain="[('category_id','=',category_id)]" required="1" options='{"no_open": True, "no_create": True}' attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="user_id" class="field_user_id" <field name="user_id" class="field_user_id"
domain="['&amp;', ('id', 'in', domain_user_ids), ('share', '=', False)]" domain="['&amp;', ('id', 'in', domain_user_ids), ('share', '=', False)]"
widget="many2one_avatar_user" groups="odex25_helpdesk.group_odex25_helpdesk_assignment"/> widget="many2one_avatar_user" groups="odex25_helpdesk.group_odex25_helpdesk_assignment" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="domain_user_ids" invisible="1"/> <field name="domain_user_ids" invisible="1"/>
<field name="ticket_type_id" invisible="1"/> <field name="ticket_type_id" invisible="1"/>
<field name="priority" widget="priority"/> <field name="priority" widget="priority" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}" <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"
invisible="1"/> invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="sla_deadline" attrs="{'invisible': [('sla_deadline', '=', False)]}" <field name="sla_deadline"
groups="odex25_helpdesk.group_use_sla"/> groups="odex25_helpdesk.group_use_sla" attrs="{
'invisible': [('sla_deadline', '=', False)],
'readonly': [('is_read_only_ticket', '=', True)]
}"/>
<field name="assistance_user_id" string="Assistance" options='{"no_open": True, "no_create": True}'/> <field name="assistance_user_id" string="Assistance" options='{"no_open": True, "no_create": True}'/>
<field name="schedule_date"/> <field name="schedule_date"/>
</group> </group>
<group> <group>
<field name="partner_id" class="field_partner_id" <field name="partner_id" class="field_partner_id"
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
widget="res_partner_many2one"/> widget="res_partner_many2one" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="partner_name" <field name="partner_name"
attrs="{'invisible': [('partner_id', '!=', False)]}"/> attrs="{'invisible': [('partner_id', '!=', False)], 'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="partner_email" /> <field name="partner_email" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="email_cc" invisible="1" groups="base.group_no_one"/> <field name="email_cc" invisible="1" groups="base.group_no_one"/>
<!-- <field name="employee_id" readonly="1" string="Employee"--> <!-- <field name="employee_id" readonly="1" string="Employee"-->
<!-- options='{"no_open": True, "no_create": True}'/>--> <!-- options='{"no_open": True, "no_create": True}'/>-->
<!-- <field name="work_email"/>--> <!-- <field name="work_email"/>-->
<field name="phone_no"/> <field name="phone_no" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
<field name="department_id" readonly="1" options='{"no_open": True, "no_create": True}'/> <field name="department_id" readonly="1" options='{"no_open": True, "no_create": True}'/>
<field name="on_behalf" options='{"no_open": True, "no_create": True}' groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf"/> <field name="on_behalf" options='{"no_open": True, "no_create": True}' groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf" attrs="{'readonly': [('is_read_only_ticket', '=', True)]}"/>
</group> </group>
</group> </group>
<field name="emp_req" invisible="1"/> <field name="emp_req" invisible="1"/>
<field name="description" class="field_description" attrs="{'readonly':[('emp_req','=',True)]}" placeholder="Description of the ticket..." /> <field name="description" class="field_description" attrs="{
'readonly': [
'|',
('emp_req', '=', True),
('is_read_only_ticket', '=', True)
]
}" placeholder="Description of the ticket..." />
</sheet> </sheet>
<div class="oe_chatter"> <div class="oe_chatter">
<field name="message_follower_ids"/> <field name="message_follower_ids"/>