mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
fix app_odoo_customize update
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'odoo 16 Customize OEM(Boost, Data reset)',
|
'name': 'odoo 16 Customize OEM(Boost, Data reset)',
|
||||||
'version': '16.23.02.22',
|
'version': '16.23.02.26',
|
||||||
'author': 'Sunpop.cn',
|
'author': 'Sunpop.cn',
|
||||||
'category': 'Productivity',
|
'category': 'Productivity',
|
||||||
'website': 'https://www.sunpop.cn',
|
'website': 'https://www.sunpop.cn',
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class IrModule(models.Model):
|
|||||||
# installed_version = fields.Char('Latest Version', compute='_get_latest_version')
|
# installed_version = fields.Char('Latest Version', compute='_get_latest_version')
|
||||||
# latest_version = fields.Char('Installed Version', readonly=True)
|
# latest_version = fields.Char('Installed Version', readonly=True)
|
||||||
|
|
||||||
local_updatable = fields.Boolean('Local updatable', compute='_get_latest_version', compute_sudo=False, default=False, store=True)
|
local_updatable = fields.Boolean('Local updatable', compute=False, default=False, store=True)
|
||||||
|
|
||||||
def module_multi_uninstall(self):
|
def module_multi_uninstall(self):
|
||||||
""" Perform the various steps required to uninstall a module completely
|
""" Perform the various steps required to uninstall a module completely
|
||||||
@@ -60,13 +60,20 @@ class IrModule(models.Model):
|
|||||||
})
|
})
|
||||||
return action
|
return action
|
||||||
|
|
||||||
@api.depends('name', 'latest_version', 'state')
|
def update_list(self):
|
||||||
def _get_latest_version(self):
|
res = super(IrModule, self).update_list()
|
||||||
default_version = modules.adapt_version('1.0')
|
default_version = modules.adapt_version('1.0')
|
||||||
for module in self:
|
known_mods = self.with_context(lang=None).search([])
|
||||||
module.installed_version = self.get_module_info(module.name).get('version', default_version)
|
known_mods_names = {mod.name: mod for mod in known_mods}
|
||||||
if module.installed_version and module.latest_version and operator.gt(module.installed_version, module.latest_version):
|
# 处理可更新字段, 不要compute,会出错
|
||||||
module.local_updatable = True
|
for mod_name in modules.get_modules():
|
||||||
|
mod = known_mods_names.get(mod_name)
|
||||||
|
installed_version = self.get_module_info(mod.name).get('version', default_version)
|
||||||
|
if installed_version and mod.latest_version and operator.gt(installed_version, mod.latest_version):
|
||||||
|
local_updatable = True
|
||||||
else:
|
else:
|
||||||
module.local_updatable = False
|
local_updatable = False
|
||||||
|
if mod.local_updatable != local_updatable:
|
||||||
|
mod.write({'local_updatable': local_updatable})
|
||||||
|
|
||||||
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user