mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import random
|
|
from odoo import api, fields, models, modules, tools, _
|
|
|
|
|
|
class IrModuleAddonsPath(models.Model):
|
|
_name = "ir.module.addons.path"
|
|
_description = 'Module Addons Path'
|
|
|
|
def _default_bg_color(self):
|
|
colors = ['#F06050', '#F4A45F', '#F7CD2E', '#6CC1ED', '#EB7E7F', '#5CC482',
|
|
'#2c8297', '#D8485E', '#9365B8', '#804967', '#475576', ]
|
|
res = '#FFFFFF'
|
|
try:
|
|
res = random.choice(colors)
|
|
except:
|
|
pass
|
|
return res
|
|
|
|
name = fields.Char(string='Short Name')
|
|
path = fields.Char(string='Path')
|
|
path_temp = fields.Char(string='Path Temp')
|
|
color = fields.Char(default=_default_bg_color)
|
|
module_ids = fields.One2many('ir.module.module', 'addons_path_id')
|
|
module_count = fields.Integer(compute='_compute_module_count')
|
|
|
|
def _compute_module_count(self):
|
|
for rec in self:
|
|
rec.module_count = len(rec.module_ids)
|
|
|
|
def open_apps_view(self):
|
|
self.ensure_one()
|
|
|
|
return {'type': 'ir.actions.act_window',
|
|
'name': 'Apps',
|
|
'view_mode': 'kanban,tree,form',
|
|
'res_model': 'ir.module.module',
|
|
'context': {},
|
|
'domain': [('addons_path_id', '=', self.id)],
|
|
}
|