1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/helpdesk_sale_timesheet/controllers/portal.py
2024-12-10 09:04:09 +07:00

40 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _
from odoo.http import request
from odoo.exceptions import AccessError, MissingError
from odoo.addons.helpdesk.controllers import portal
class CustomerPortal(portal.CustomerPortal):
def _ticket_get_page_view_values(self, ticket, access_token, **kwargs):
values = super()._ticket_get_page_view_values(ticket, access_token, **kwargs)
if ticket.use_helpdesk_sale_timesheet and ticket.sale_order_id:
try:
self._document_check_access('sale.order', ticket.sale_order_id.id)
values['ticket_link_section'].append({
'access_url': ticket.sale_order_id.get_portal_url(),
'title': _('Sales Order'),
'sequence': 1,
})
except (AccessError, MissingError):
pass
if ticket.use_helpdesk_sale_timesheet:
Timesheet = request.env['account.analytic.line']
values['timesheets'] = ticket.timesheet_ids._get_portal_helpdesk_timesheet()
is_encode_uom_day = Timesheet._is_timesheet_encode_uom_day()
values['is_uom_day'] = is_encode_uom_day
if is_encode_uom_day:
values['convert_hours_to_days'] = Timesheet._convert_hours_to_days
return values
def _prepare_my_tickets_values(self, page=1, date_begin=None, date_end=None, sortby=None, filterby='all', search=None, groupby='none', search_in='content'):
values = super()._prepare_my_tickets_values(page, date_begin, date_end, sortby, filterby, search, groupby, search_in)
Timesheet = request.env['account.analytic.line']
is_encode_uom_day = Timesheet._is_timesheet_encode_uom_day()
values['is_uom_day'] = is_encode_uom_day
if is_encode_uom_day:
values['convert_hours_to_days'] = Timesheet._convert_hours_to_days
return values