54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class AnitaFavoriteMenu(models.Model):
|
|
'''
|
|
user favorite menu
|
|
'''
|
|
_name = 'anita_theme_setting.favorite_menu'
|
|
_order = "sequence"
|
|
_description = "user favorite menu"
|
|
|
|
def _default_sequence(self):
|
|
return self.env['ir.sequence'].next_by_code('anita_theme_setting.favorite.menu')
|
|
|
|
sequence = fields.Integer(
|
|
string="sequence",
|
|
default=_default_sequence)
|
|
|
|
menu_id = fields.Many2one(
|
|
comodel_name='ir.ui.menu',
|
|
string='Favorite Menu',
|
|
required=True,
|
|
ondelete='cascade')
|
|
|
|
user_id = fields.Many2one(
|
|
comodel_name='res.users',
|
|
string='User Name',
|
|
default=lambda self: self.env.user.id)
|
|
|
|
@api.model
|
|
def unlink_menu_id(self, user_id, menu_id):
|
|
'''
|
|
unlink
|
|
:param user_id:
|
|
:param menu_id:
|
|
:return:
|
|
'''
|
|
value = self.search(
|
|
[('menu_id', '=', menu_id), ('user_id', '=', user_id)])
|
|
return value.unlink()
|
|
|
|
@api.model
|
|
def update_favorite_menu(self, favorites):
|
|
'''
|
|
update favoirte
|
|
:return:
|
|
'''
|
|
records = self.search([('user_id', '=', self.env.uid)])
|
|
records.unlink()
|
|
self.create(favorites)
|
|
return self.search_read([('user_id', '=', self.env.uid)])
|