|
@@ -191,7 +191,7 @@ class CustomerPortal(HelpdeskCustomerPortal):
|
|
|
"""
|
|
"""
|
|
|
Calculate SLA compliance percentage.
|
|
Calculate SLA compliance percentage.
|
|
|
"""
|
|
"""
|
|
|
- tickets_with_sla = tickets.filtered(lambda t: t.sla_ids)
|
|
|
|
|
|
|
+ tickets_with_sla = tickets.filtered(lambda t: t.sudo().sla_ids)
|
|
|
|
|
|
|
|
if not tickets_with_sla:
|
|
if not tickets_with_sla:
|
|
|
return {
|
|
return {
|
|
@@ -288,7 +288,7 @@ class CustomerPortal(HelpdeskCustomerPortal):
|
|
|
for ticket in open_tickets:
|
|
for ticket in open_tickets:
|
|
|
# PRIMARY: Check if in SLA excluded stage (waiting stage)
|
|
# PRIMARY: Check if in SLA excluded stage (waiting stage)
|
|
|
# This is explicit and most reliable - if in excluded stage, definitely waiting
|
|
# This is explicit and most reliable - if in excluded stage, definitely waiting
|
|
|
- excluded_stages = ticket.sla_ids.mapped('exclude_stage_ids')
|
|
|
|
|
|
|
+ excluded_stages = ticket.sudo().sla_ids.mapped('exclude_stage_ids')
|
|
|
is_in_waiting_stage = ticket.stage_id in excluded_stages
|
|
is_in_waiting_stage = ticket.stage_id in excluded_stages
|
|
|
|
|
|
|
|
if is_in_waiting_stage:
|
|
if is_in_waiting_stage:
|
|
@@ -346,7 +346,7 @@ class CustomerPortal(HelpdeskCustomerPortal):
|
|
|
waiting_tickets_sorted = sorted(
|
|
waiting_tickets_sorted = sorted(
|
|
|
waiting_tickets,
|
|
waiting_tickets,
|
|
|
key=lambda t: (
|
|
key=lambda t: (
|
|
|
- t.date_last_stage_update if t.stage_id in t.sla_ids.mapped('exclude_stage_ids')
|
|
|
|
|
|
|
+ t.date_last_stage_update if t.stage_id in t.sudo().sla_ids.mapped('exclude_stage_ids')
|
|
|
else last_message_map.get(t.id, request.env['mail.message']).date if last_message_map.get(t.id)
|
|
else last_message_map.get(t.id, request.env['mail.message']).date if last_message_map.get(t.id)
|
|
|
else t.date_last_stage_update
|
|
else t.date_last_stage_update
|
|
|
or t.create_date
|
|
or t.create_date
|