summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-12-24 14:07:54 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-12-24 14:07:54 +0700
commit5dc0eb722ba306ed2e81acad1b6ba7457717af44 (patch)
tree0cb0fddb7deef4c300d3dc5441c26fba35f11056
parentaeeecacfe7b10ebbdefe5284f98e9e9f37c1b8d1 (diff)
push add lock date scheduler
-rwxr-xr-xfixco_custom/models/detail_order.py6
-rwxr-xr-xfixco_custom/models/stock_picking.py20
-rwxr-xr-xfixco_custom/models/webhook_ginee.py3
-rwxr-xr-xfixco_custom/views/stock_picking.xml13
-rw-r--r--fixco_custom/views/upload_ginee.xml4
5 files changed, 35 insertions, 11 deletions
diff --git a/fixco_custom/models/detail_order.py b/fixco_custom/models/detail_order.py
index 598fb70..efb63d6 100755
--- a/fixco_custom/models/detail_order.py
+++ b/fixco_custom/models/detail_order.py
@@ -61,6 +61,9 @@ class DetailOrder(models.Model):
raise UserError(_("Error extracting order ID: %s") % str(e))
def process_queue_item(self, limit=100):
+ now = time.strftime('%Y-%m-%d %H:%M:%S')
+ if now < '2025-12-31 00:00:00':
+ return
domain = [('execute_status', '=', False)]
records = self.search(domain, order='create_date asc', limit=limit)
for rec in records:
@@ -132,6 +135,9 @@ class DetailOrder(models.Model):
raise UserError(_("Error extracting order ID: %s") % str(e))
def process_queue_item_detail(self, limit=100):
+ now = time.strftime('%Y-%m-%d %H:%M:%S')
+ if now < '2025-12-31 00:00:00':
+ return
domain = [
('execute_status', '=', 'detail_order'),
'!',
diff --git a/fixco_custom/models/stock_picking.py b/fixco_custom/models/stock_picking.py
index 3610179..07425d2 100755
--- a/fixco_custom/models/stock_picking.py
+++ b/fixco_custom/models/stock_picking.py
@@ -66,6 +66,11 @@ class StockPicking(models.Model):
type_sku = fields.Selection([('single', 'Single SKU'), ('multi', 'Multi SKU')], string='Type SKU')
list_product = fields.Char(string='List Product')
+ def rts_ginee(self):
+ self.get_shipping_parameter()
+ self.ship_order()
+
+
def create_invoices(self):
so_id = self.sale_id.id
if not so_id:
@@ -294,8 +299,12 @@ class StockPicking(models.Model):
def label_ginee(self):
try:
+ now = time.strftime('%Y-%m-%d %H:%M:%S')
order_id = self.order_reference
+ if not self.ginee_task_id and now > '2025-12-31 00:00:00':
+ raise UserError(_("Klik Ready To Ship terlebih dahulu"))
+
authorization = self.sign_request(0)
headers = {
'Content-Type': 'application/json',
@@ -329,6 +338,17 @@ class StockPicking(models.Model):
self.tracking_number = logistic_info.get('logisticsTrackingNumber') or ''
self.provider_name = logistic_info.get('logisticsProviderName') or ''
self.invoice_number = logistic_info.get('invoiceNumber') or ''
+
+ pdf_url = data.get('data', {}).get('pdfUrl')
+
+ if not pdf_url:
+ raise UserError(_("PDF label URL tidak ditemukan"))
+
+ return {
+ 'type': 'ir.actions.act_url',
+ 'url': pdf_url,
+ 'target': 'new', # buka tab baru (recommended buat PDF)
+ }
else:
raise UserError(_("API Error: %s - %s") % (data.get('code', 'UNKNOWN'), data.get('message', 'No error message')))
else:
diff --git a/fixco_custom/models/webhook_ginee.py b/fixco_custom/models/webhook_ginee.py
index 606bd21..65f2238 100755
--- a/fixco_custom/models/webhook_ginee.py
+++ b/fixco_custom/models/webhook_ginee.py
@@ -31,6 +31,9 @@ class WebhookGinee(models.Model):
# rec.execute_queue()
def process_queue_item(self, limit=100):
+ now = time.strftime('%Y-%m-%d %H:%M:%S')
+ if now < '2025-12-31 00:00:00':
+ return
domain = [('execute_status', '=', False)]
records = self.search(domain, order='create_date asc', limit=limit)
for rec in records:
diff --git a/fixco_custom/views/stock_picking.xml b/fixco_custom/views/stock_picking.xml
index 21ced7c..00b0eee 100755
--- a/fixco_custom/views/stock_picking.xml
+++ b/fixco_custom/views/stock_picking.xml
@@ -21,18 +21,13 @@
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<button name="action_confirm" position="before">
- <button name="label_ginee"
- string="Print Label Ginee"
+ <button name="rts_ginee"
+ string="Ready To Ship"
type="object"
attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}"
/>
- <button name="get_shipping_parameter"
- string="Get Shipping"
- type="object"
- attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}"
- />
- <button name="ship_order"
- string="Ship Order"
+ <button name="label_ginee"
+ string="Get Resi"
type="object"
attrs="{'invisible': [('picking_type_code', '!=', 'outgoing')]}"
/>
diff --git a/fixco_custom/views/upload_ginee.xml b/fixco_custom/views/upload_ginee.xml
index de99c3d..47a2dff 100644
--- a/fixco_custom/views/upload_ginee.xml
+++ b/fixco_custom/views/upload_ginee.xml
@@ -21,8 +21,8 @@
<form string="Upload Ginee">
<header>
<button name="action_import_excel" string="Import Excel" type="object" class="oe_highlight" attrs="{'invisible': [('number', '=', False)]}"/>
- <button name="action_get_order_id" string="Get Order ID" type="object" class="oe_highlight" attrs="{'invisible': [('number', '=', False)]}"/>
- <button name="action_create_detail_order" string="Create Detail Order" type="object" class="oe_highlight" attrs="{'invisible': [('number', '=', False)]}"/>
+ <button name="action_get_order_id" string="Get Order ID" type="object" class="oe_highlight" invisible="1"/>
+ <button name="action_create_detail_order" string="Create Detail Order" type="object" class="oe_highlight" invisible="1"/>
<button name="action_get_order_id_and_create_detail_order" string="Get Order ID And Create Detail Order" type="object" class="oe_highlight" attrs="{'invisible': [('number', '=', False)]}"/>
<field name="number" widget="field_no_edit" options="{'no_open': True}"/>
<field name="date_upload"/>