36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import models, _
|
|
|
|
|
|
class Website(models.Model):
|
|
_inherit = "website"
|
|
|
|
def get_suggested_controllers(self):
|
|
suggested_controllers = super(Website, self).get_suggested_controllers()
|
|
suggested_controllers.append((_('Helpdesk Customer Satisfaction'), self.env['ir.http']._url_for('/helpdesk/rating'), 'helpdesk'))
|
|
return suggested_controllers
|
|
|
|
def configurator_get_footer_links(self):
|
|
links = super().configurator_get_footer_links()
|
|
links.append({'text': _("Help"), 'href': '/help'})
|
|
return links
|
|
|
|
class Menu(models.Model):
|
|
_inherit = "website.menu"
|
|
|
|
def _compute_visible(self):
|
|
""" Display helpdesk team menus even if they are unpublished """
|
|
helpdesk_menus = self.filtered(lambda menu: menu.url and menu.url.startswith("/helpdesk"))
|
|
if self.env.user._is_internal(): # avoid extra query if not needed
|
|
helpdesk_menus.is_visible = True
|
|
return super(Menu, self - helpdesk_menus)._compute_visible()
|
|
published_menus, = self.env['helpdesk.team']._read_group(
|
|
[('is_published', '=', True), ('website_menu_id', '!=', False)],
|
|
[], ['website_menu_id:recordset']
|
|
)[0]
|
|
for menu in helpdesk_menus:
|
|
menu.is_visible = menu in published_menus
|
|
return super(Menu, self - helpdesk_menus)._compute_visible()
|