summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-08-23 12:53:26 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-08-23 12:53:26 +0700
commit0347f4164a951dd24e371edbcd70840f570d0e31 (patch)
treef1de5036f05bac7105165b87ee573b4181a7e711
parenta4352ddc19c392e0ed5f30d350ce928d98f5b6e2 (diff)
parente8731dea7c65b94df563f3e9a11f6bf1ed56ded1 (diff)
Merge branch 'production' of bitbucket.org:altafixco/indoteknik-addons into production
-rwxr-xr-xindoteknik_custom/models/__init__.py1
-rw-r--r--indoteknik_custom/models/base_import_import.py47
-rwxr-xr-xindoteknik_custom/models/sale_order.py2
3 files changed, 49 insertions, 1 deletions
diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py
index d884793a..bc20e55d 100755
--- a/indoteknik_custom/models/__init__.py
+++ b/indoteknik_custom/models/__init__.py
@@ -82,3 +82,4 @@ from . import account_report_financial
from . import account_report_general_ledger
from . import price_group
from . import po_sync_price
+from . import base_import_import
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)
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index ca98cde4..eb07959e 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -342,7 +342,7 @@ class SaleOrder(models.Model):
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
- 'params': { 'title': title, 'message': message }
+ 'params': { 'title': title, 'message': message, 'next': {'type': 'ir.actions.act_window_close'} },
}
def _set_sppkp_npwp_contact(self):