summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/crm_lead.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-16 11:39:21 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-16 11:39:21 +0700
commit31dafc8b2e6e672afe597439983c07641c10e078 (patch)
tree4c6ccc6d2b066c5609b8691a42334d685d5c2124 /indoteknik_custom/models/crm_lead.py
parent3a954e59343d2d3a3df5436297f7007008ae62e8 (diff)
parent43ccd7dae4940fcbf40f069e6b5a36aeedc59555 (diff)
Merge branch 'production' of https://bitbucket.org/altafixco/indoteknik-addons into production
Diffstat (limited to 'indoteknik_custom/models/crm_lead.py')
-rwxr-xr-xindoteknik_custom/models/crm_lead.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/indoteknik_custom/models/crm_lead.py b/indoteknik_custom/models/crm_lead.py
index e5d9953b..0c38ae56 100755
--- a/indoteknik_custom/models/crm_lead.py
+++ b/indoteknik_custom/models/crm_lead.py
@@ -1,6 +1,7 @@
from odoo import fields, models, api
import logging
import random
+from odoo.exceptions import AccessError, UserError, ValidationError
_logger = logging.getLogger(__name__)
@@ -21,7 +22,27 @@ class CrmLead(models.Model):
operator_email = fields.Char('Operator Email', help='Operator yang membalas')
operator_name = fields.Char('Operator Name', help='Operator yang membalas')
order_id = fields.Many2one('sale.order', string='Sales Order', help='Link ke sales order id')
+ reason = fields.Selection([
+ ('new_so', 'Diganti SO Baru'),
+ ('out_stock', 'Stock Tidak Tersedia'),
+ ('wrong_price', 'Salah Memberikan Informasi Harga'),
+ ('discontinue', 'Barang Discontinue'),
+ ('change_of_mind', 'Konsumen Berubah Pikiran'),
+ ('problematic_items', 'Barang Yang Dibeli Bermasalah'),
+ ('no_tempo', 'Konsumen Tidak Mendapatkan Tempo'),
+ ('payment_issues', 'Konsumen Memiliki Masalah Pembayaran'),
+ ('disagree_shipping', 'Tidak Sepakat Dengan Biaya Kirim'),
+ ('payment_not_received', 'Pembayaran Belum Diterima'),
+ ('delivery_time', 'Tidak Sanggup Memenuhi Delivery Time'),
+ ('fraud_indication', 'Indikasi Penipuan'),
+ ], string='Reason Mark Lost', tracking=True)
+ def action_set_lost(self):
+ result = super(CrmLead, self).action_set_lost()
+ if not self.reason:
+ raise UserError('Jika ingin Mark as Lost, Isi Reason nya terlebih dahulu')
+ return result
+
@api.onchange('user_id')
def _change_salesperson_so(self):
if self.order_id: