diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2025-09-22 22:12:59 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2025-09-22 22:12:59 +0000 |
| commit | 3ca958274d357d5e76d4bca7b141ffa2acc5b228 (patch) | |
| tree | 0491bbfe2517570617cd2cc658dd62043b55745d | |
| parent | 84bfce78983a3bac22e647740aeeda2e88426310 (diff) | |
| parent | 68594ca366d77396d9d2c8e707043fcb28a303f7 (diff) | |
Merged in cbd_lock (pull request #429)
Cbd lock
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/models/account_move.py | 3 | ||||
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 6 | ||||
| -rw-r--r-- | indoteknik_custom/views/res_partner.xml | 1 |
4 files changed, 18 insertions, 3 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index b1d8d5f3..8d67800c 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -295,7 +295,14 @@ class Partner(controller.Controller): partner = partner.parent_id or partner - if any(line.days == 0 for line in partner.property_payment_term_id.line_ids): + payment_term = ( + partner.previous_payment_term_id + if partner.is_cbd_locked + else partner.property_payment_term_id + ) + + # if any(line.days == 0 for line in partner.property_payment_term_id.line_ids): + if any(line.days == 0 for line in payment_term.line_ids): return self.response(code=402, description='Partner not tempo') domain_result_tempo = [('partner_id', '=', partner.id), ('payment_state', '=', 'not_paid'), ('state', '=', 'posted')] @@ -315,7 +322,7 @@ class Partner(controller.Controller): data = { 'name': partner.name, - 'payment_term': partner.property_payment_term_id.name, + 'payment_term': payment_term.name, 'amount_due': result_tempo, 'amount_due_total': result_tempo_total, 'amount_jatuh_tempo_total': result_jatuh_tempo_total, diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py index 96f791c5..c7feac9e 100644 --- a/indoteknik_custom/models/account_move.py +++ b/indoteknik_custom/models/account_move.py @@ -333,12 +333,13 @@ class AccountMove(models.Model): currency = invs[0].currency_id if invs else partner.company_id.currency_id tempo_link = 'https://indoteknik.com/my/tempo' # tempo_link = 'http://localhost:2100/my/tempo' + payment_term = partner.previous_payment_term_id if partner.is_cbd_locked else partner.property_payment_term_id limit_info_html = f""" <p><b>Informasi Tambahan:</b></p> <ul style="font-size:12px; color:#333; line-height:1.4; margin:0; padding-left:0; list-style-position:inside;"> <li>Kredit Limit Anda: {formatLang(self.env, blocking_limit, currency_obj=currency)}</li> - <li>Status Detail Tempo: {partner.property_payment_term_id.name or 'Review'}</li> + <li>Status Detail Tempo: {payment_term.name or ''}</li> <li style="color:{'red' if (blocking_limit - outstanding_amount) < 0 else 'green'};"> Sisa Kredit Limit: {formatLang(self.env, blocking_limit - outstanding_amount, currency_obj=currency)} </li> diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 36570e8f..8aaee47e 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -194,6 +194,12 @@ class ResPartner(models.Model): default=_default_payment_term, tracking=3 ) + previous_payment_term_id = fields.Many2one( + 'account.payment.term', + string='Previous Payment Term', + readonly=True + ) + @api.depends("street", "street2", "city", "state_id", "country_id", "blok", "nomor", "rt", "rw", "kelurahan_id", "kecamatan_id") diff --git a/indoteknik_custom/views/res_partner.xml b/indoteknik_custom/views/res_partner.xml index c32151d8..a7770f1e 100644 --- a/indoteknik_custom/views/res_partner.xml +++ b/indoteknik_custom/views/res_partner.xml @@ -21,6 +21,7 @@ <field name="reference_number"/> </field> <field name="property_payment_term_id" position="after"> + <field name="previous_payment_term_id" /> <field name="is_cbd_locked" readonly="1"/> <field name="user_payment_terms_sales" readonly="1"/> <field name="date_payment_terms_sales" readonly="1"/> |
