forked from Mapan/odoo17e
40 lines
1.9 KiB
Python
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
|