summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2023-08-16 04:51:14 +0000
committerIT Fixcomart <it@fixcomart.co.id>2023-08-16 04:51:14 +0000
commita73c0825a264fc002e7496b07f238f79efd93086 (patch)
tree04b170cc3860f82d936b5dcb83451b963c524f95
parent3a954e59343d2d3a3df5436297f7007008ae62e8 (diff)
parent021f7ccc9f7b026e330352d34e695993116bdd99 (diff)
Merged in production (pull request #98)
Production
-rw-r--r--indoteknik_api/controllers/controller.py22
-rw-r--r--indoteknik_custom/models/account_financial_report.py13
-rwxr-xr-xindoteknik_custom/models/crm_lead.py21
-rwxr-xr-xindoteknik_custom/models/purchase_order.py2
-rw-r--r--indoteknik_custom/models/res_partner.py7
-rwxr-xr-xindoteknik_custom/views/crm_lead.xml3
-rw-r--r--indoteknik_custom/views/mail_template_po.xml8
7 files changed, 46 insertions, 30 deletions
diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py
index 1e9f01ee..d40ccb5a 100644
--- a/indoteknik_api/controllers/controller.py
+++ b/indoteknik_api/controllers/controller.py
@@ -42,19 +42,10 @@ class Controller(http.Controller):
request.session.authenticate(db, username, password)
return True
except:
- try:
- authorization = wsgienv['HTTP_AUTHORIZATION']
- except:
- authorization = None
- request.session.authenticate(config.get('db_name'), 'it@fixcomart.co.id', 'Fixcomart378')
- token = request.env['ir.config_parameter'].sudo().get_param('rest_api_token') or ''
- result = False
- if authorization == token:
- result = True
+ if not request.env.uid:
+ request.session.authenticate(config.get('db_name'), 'it@fixcomart.co.id', 'Fixcomart378')
user_token = self.verify_user_token()
- if user_token:
- result = user_token
- return result
+ return user_token
def user_pricelist(self):
user_token = self.authenticate()
@@ -147,13 +138,10 @@ class Controller(http.Controller):
user = request.env['res.users'].browse([ user_token['id'] ])
if not user:
return False
- data = {
+ return {
'user_id': user.id,
- 'partner_id': None
+ 'partner_id': user.partner_id.id or None
}
- if user.partner_id:
- data['partner_id'] = user.partner_id.id
- return data
except:
return False
diff --git a/indoteknik_custom/models/account_financial_report.py b/indoteknik_custom/models/account_financial_report.py
index 315515f6..6147a3f3 100644
--- a/indoteknik_custom/models/account_financial_report.py
+++ b/indoteknik_custom/models/account_financial_report.py
@@ -23,10 +23,11 @@ class AccountingReport(models.TransientModel):
output = io.BytesIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})
-
+ journal_entries = self.env['account.move'].search([('move_type', '=', 'entry')], order='date asc', limit=1)
+ first_journal_date = journal_entries.date
data = {}
data['form'] = obj.read([])[0]
-
+
date_from = data['form']['date_from']
date_to = data['form']['date_to']
@@ -69,7 +70,7 @@ class AccountingReport(models.TransientModel):
for date_range in date_ranges:
row_number = 9
data['form']['used_context']['date_to'] = date_range['date_to']
- data['form']['used_context']['date_from'] = date_range['date_from']
+ data['form']['used_context']['date_from'] = first_journal_date
comp_dic['state'] = 'posted'
comp_dic['journal_ids'] = data['form']['journal_ids']
data['form']['comparison_context'] = comp_dic
@@ -164,9 +165,7 @@ class AccountingReport(models.TransientModel):
while current_date <= date_to:
next_month = current_date.replace(day=1) + timedelta(days=32)
- end_of_month = next_month - timedelta(days=next_month.day)
- if end_of_month > date_to:
- end_of_month = date_to
+ end_of_month = min(next_month - timedelta(days=next_month.day), date_to)
date_ranges.append({
"date_from": current_date,
@@ -175,4 +174,4 @@ class AccountingReport(models.TransientModel):
current_date = end_of_month + timedelta(days=1)
- return date_ranges \ No newline at end of file
+ return date_ranges
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:
diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py
index d73f9037..9e851ef9 100755
--- a/indoteknik_custom/models/purchase_order.py
+++ b/indoteknik_custom/models/purchase_order.py
@@ -196,7 +196,7 @@ class PurchaseOrder(models.Model):
for line in self.order_line:
if not line.product_id.purchase_ok:
raise UserError("Terdapat barang yang tidak bisa diproses")
- if line.price_vendor != 0 and line.price_unit != line.price_vendor:
+ if line.price_unit != line.price_vendor:
send_email = True
break
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py
index 1695639d..bc2a24b1 100644
--- a/indoteknik_custom/models/res_partner.py
+++ b/indoteknik_custom/models/res_partner.py
@@ -1,4 +1,4 @@
-from odoo import models, fields
+from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
class GroupPartner(models.Model):
@@ -28,6 +28,11 @@ class ResPartner(models.Model):
partner_child_ids += [partner.parent_id.id]
return partner_child_ids
+ @api.constrains('kota_id')
+ def update_product_solr_flag(self):
+ for partner in self:
+ partner.city = partner.kota_id.name
+
def unlink(self):
if self._name == 'res.partner':
raise UserError('Maaf anda tidak bisa delete contact')
diff --git a/indoteknik_custom/views/crm_lead.xml b/indoteknik_custom/views/crm_lead.xml
index 58c3987a..9e4a43f2 100755
--- a/indoteknik_custom/views/crm_lead.xml
+++ b/indoteknik_custom/views/crm_lead.xml
@@ -47,6 +47,9 @@
<field name="message_bounce" position="after">
<field name="order_id"/>
</field>
+ <field name="lang_id" position="after">
+ <field name="reason"/>
+ </field>
</field>
</record>
</data>
diff --git a/indoteknik_custom/views/mail_template_po.xml b/indoteknik_custom/views/mail_template_po.xml
index 410520b3..02053767 100644
--- a/indoteknik_custom/views/mail_template_po.xml
+++ b/indoteknik_custom/views/mail_template_po.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" ?>
<odoo>
- <data noupdate="0">
+ <data>
<record id="mail_template_po_sync_price" model="mail.template">
<field name="name">PO: Sync Unit Price Purchase Pricelist</field>
<field name="model_id" ref="model_purchase_order" />
<field name="subject">Your PO ${object.name}</field>
<field name="email_from"></field>
- <field name="email_to">darren@indoteknik.co.id</field>
+ <field name="email_to">darren@indoteknik.co.id, tyas@indoteknik.com, azkan4elll@gmail.com</field>
<field name="body_html" type="html">
<table border="0" cellpadding="0" cellspacing="0"
style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;">
@@ -45,13 +45,13 @@
<tr>
<td valign="top" style="font-size: 13px;">
<div>
- Dear Stefanus Darren,
+ Dear Stefanus Darren &amp; Tyas K Putra,
<br/><br/>
Terdapat PO yang harga Unit Price nya tidak sama dengan yang ada di purchase pricelist nya.
<br/><br/>
Berikut adalah rincian PO:
% for line in object.order_line:
- % if line.price_vendor != 0 and line.price_unit != line.price_vendor
+ % if line.price_unit != line.price_vendor
<ul>
<li>Nama Produk: ${line.product_id.name}</li>
<li>Harga Unit dalam PO: Rp ${'{:,.2f}'.format(line.price_unit)}</li>