diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-08-23 12:53:26 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-08-23 12:53:26 +0700 |
| commit | 0347f4164a951dd24e371edbcd70840f570d0e31 (patch) | |
| tree | f1de5036f05bac7105165b87ee573b4181a7e711 | |
| parent | a4352ddc19c392e0ed5f30d350ce928d98f5b6e2 (diff) | |
| parent | e8731dea7c65b94df563f3e9a11f6bf1ed56ded1 (diff) | |
Merge branch 'production' of bitbucket.org:altafixco/indoteknik-addons into production
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/base_import_import.py | 47 | ||||
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 2 |
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): |
