summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/base_import_import.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/base_import_import.py')
-rw-r--r--indoteknik_custom/models/base_import_import.py39
1 files changed, 23 insertions, 16 deletions
diff --git a/indoteknik_custom/models/base_import_import.py b/indoteknik_custom/models/base_import_import.py
index 9cffa6e6..6a100cb8 100644
--- a/indoteknik_custom/models/base_import_import.py
+++ b/indoteknik_custom/models/base_import_import.py
@@ -1,45 +1,52 @@
+from datetime import datetime
+
from odoo import models
from odoo.exceptions import UserError
-from datetime import datetime
+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._get_config('allowed_model')
- def _get_config_restrict_model(self):
- return self.env['ir.config_parameter'].sudo().get_param('base_import.import.restrict_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
def _check_enable_import(self):
enable_import = self._get_config_enable_import()
- restrict_model = self._get_config_restrict_model()
-
- if self.res_model not in restrict_model:
- return True
+ allowed_model = self._get_config_allowed_model()
+ always_allowed_model = self._get_config_always_allowed_model()
- if enable_import.lower() == 'true':
+ if self.res_model in always_allowed_model or always_allowed_model == 'ALL':
return True
- elif enable_import.lower() == 'false':
- return False
- elif '-' in enable_import:
+
+ if self.res_model in allowed_model or allowed_model == 'ALL':
return self._check_time_range(enable_import)
- return True
+ return False
def _unable_import_notif(self):
enable_import_config = self._get_config_enable_import()