summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/base_import_import.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-23 11:40:12 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-23 11:40:12 +0700
commite8731dea7c65b94df563f3e9a11f6bf1ed56ded1 (patch)
tree47fb8959f2e862eb72df4bfac4bab8d4a8c9945b /indoteknik_custom/models/base_import_import.py
parent98f8e7d9c548dccf519f0ac53143b61f2151eb9b (diff)
Add disable import function
Diffstat (limited to 'indoteknik_custom/models/base_import_import.py')
-rw-r--r--indoteknik_custom/models/base_import_import.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/indoteknik_custom/models/base_import_import.py b/indoteknik_custom/models/base_import_import.py
new file mode 100644
index 00000000..c277f9a2
--- /dev/null
+++ b/indoteknik_custom/models/base_import_import.py
@@ -0,0 +1,47 @@
+from odoo import models
+from odoo.exceptions import UserError
+from datetime import datetime
+
+class Import(models.TransientModel):
+ _inherit = 'base_import.import'
+
+ def _get_config_enable_import(self):
+ return self.env['ir.config_parameter'].get_param('base_import.import.enable_import', '')
+
+ def _check_time_range(self, config_string):
+ current_time = datetime.now().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:
+ return True
+
+ return False
+
+ def _check_enable_import(self):
+ enable_import = self._get_config_enable_import()
+ if enable_import.lower() == 'true':
+ return True
+ elif enable_import.lower() == 'false':
+ return False
+ elif '-' in enable_import:
+ return self._check_time_range(enable_import)
+
+ return True
+
+ def _unable_import_notif(self):
+ enable_import_config = self._get_config_enable_import()
+ message = 'Import tidak dapat dilakukan saat ini. Hubungi Tim IT.'
+ if '-' in enable_import_config:
+ message = f'Import tidak dapat dilakukan saat ini. Anda bisa melakukannya di rentang waktu berikut: {enable_import_config}'
+ raise UserError(message)
+
+ def do(self, fields, columns, options, dryrun=False):
+ enable_import = self._check_enable_import()
+ if not enable_import:
+ self._unable_import_notif()
+ return super(Import, self).do(fields, columns, options, dryrun)