diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-01-31 16:19:56 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-01-31 16:19:56 +0700 |
| commit | c5bcd2528adefe9312b482b0b7dcedef370056c0 (patch) | |
| tree | e1b94521d9600e2273d245d37ba90e054f56ec50 /indoteknik_custom/models/base_import_import.py | |
| parent | 1f491c22d519edb0df0515eba803dcd2a3436cf8 (diff) | |
| parent | 5e3e425902513c9a013f208c9e374ea322e516c3 (diff) | |
Merge branch 'production' of bitbucket.org:altafixco/indoteknik-addons into production
Diffstat (limited to 'indoteknik_custom/models/base_import_import.py')
| -rw-r--r-- | indoteknik_custom/models/base_import_import.py | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/indoteknik_custom/models/base_import_import.py b/indoteknik_custom/models/base_import_import.py index bc3b0e37..6a100cb8 100644 --- a/indoteknik_custom/models/base_import_import.py +++ b/indoteknik_custom/models/base_import_import.py @@ -2,27 +2,35 @@ from datetime import datetime from odoo import models from odoo.exceptions import UserError +from pytz import timezone class Import(models.TransientModel): _inherit = 'base_import.import' + + def _get_config(self, key, default = ''): + return self.env['ir.config_parameter'].sudo().get_param('base_import.import.' + key, default) def _get_config_enable_import(self): - return self.env['ir.config_parameter'].sudo().get_param('base_import.import.enable_import', '') + return self._get_config('enable_import') def _get_config_allowed_model(self): - return self.env['ir.config_parameter'].sudo().get_param('base_import.import.allowed_model', '') + return self._get_config('allowed_model') + + def _get_config_always_allowed_model(self): + return self._get_config('always_allowed_model') def _check_time_range(self, config_string): - current_time = datetime.now().time() + current_time = datetime.now(tz=timezone('Asia/Jakarta')).time() ranges = config_string.split(' / ') for time_range in ranges: start_str, end_str = time_range.split(' - ') start_time = datetime.strptime(start_str, '%H:%M:%S').time() end_time = datetime.strptime(end_str, '%H:%M:%S').time() - - if start_time <= current_time and current_time <= end_time: + + # If current time in range of start and end time + if current_time >= start_time and current_time <= end_time: return True return False @@ -30,16 +38,12 @@ class Import(models.TransientModel): def _check_enable_import(self): enable_import = self._get_config_enable_import() allowed_model = self._get_config_allowed_model() + always_allowed_model = self._get_config_always_allowed_model() - is_allowed = False - if (allowed_model != '-' and self.res_model in allowed_model) or allowed_model == 'ALL': - is_allowed = True - - if enable_import.lower() == 'false': - return False - elif enable_import.lower() == 'true' and is_allowed: + if self.res_model in always_allowed_model or always_allowed_model == 'ALL': return True - elif '-' in enable_import and is_allowed: + + if self.res_model in allowed_model or allowed_model == 'ALL': return self._check_time_range(enable_import) return False |
