summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-05-21 11:47:03 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-05-21 11:47:03 +0700
commitb4448913dc446840c21d2403a58cd7edcc13be4a (patch)
treec56654855867367e865b88a5237ec02db4f4df3a
parent3c43dad74ebb3feef42ddb871a794ea1763e7008 (diff)
add view of ged tracking
-rwxr-xr-xindoteknik_custom/__manifest__.py1
-rw-r--r--indoteknik_custom/models/ged.py18
-rwxr-xr-xindoteknik_custom/security/ir.model.access.csv1
-rw-r--r--indoteknik_custom/views/ged_tracking.xml117
4 files changed, 136 insertions, 1 deletions
diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py
index c3c77d4e..68695b0e 100755
--- a/indoteknik_custom/__manifest__.py
+++ b/indoteknik_custom/__manifest__.py
@@ -123,6 +123,7 @@
'views/purchasing_job_state.xml',
'views/res_partner_site.xml',
'views/apps_stored.xml',
+ 'views/ged_tracking.xml',
'report/report.xml',
'report/report_banner_banner.xml',
'report/report_banner_banner2.xml',
diff --git a/indoteknik_custom/models/ged.py b/indoteknik_custom/models/ged.py
index 5de47a6e..2de88a8d 100644
--- a/indoteknik_custom/models/ged.py
+++ b/indoteknik_custom/models/ged.py
@@ -21,8 +21,11 @@ password = 'faCE2HFFKdzhvPW'
x_ged_key = 'Indoteknikdotcom'
x_ged_password = 'Ind0t3kn1kdotc0m4p1'
+
class GedTracking(models.Model):
_name = 'ged.tracking'
+ _order = 'awb_no desc'
+ _rec_name = 'awb_no'
status = fields.Char(string='Status')
messages = fields.Char(string='Messages')
@@ -55,6 +58,7 @@ class GedTracking(models.Model):
last_description = fields.Char(string='Last Description')
last_status_detail = fields.Char(string='Last Status Detail')
last_status = fields.Char(string='Last Status')
+ tracking_line = fields.One2many('ged.tracking.line', 'ged_tracking_id', string='Tracking Lines', auto_join=True)
class GedTrackingLine(models.Model):
@@ -77,6 +81,13 @@ class GedTrackingLine(models.Model):
gps = fields.Char(string='GPS')
+class GedTrackingLog(models.Model):
+ _name = 'ged.tracking.log'
+
+ responses = fields.Char(string='Responses')
+ body = fields.Char(string='Body')
+
+
class GedApi(models.Model):
_name = 'ged.api'
@@ -136,9 +147,14 @@ class GedApi(models.Model):
}
}
response = requests.post(url_tracking, headers=headers, json=json_data)
+ log = {
+ 'body': str(json_data),
+ 'responses': str(response.json())
+ }
+ self.env['ged.tracking.log'].create(log)
+
info_awb = response.json()['infoawb']
last_status = response.json()['laststatus']
-
status = response.json()['status']
messages = response.json()['messages']
awb_no = info_awb['awb_no']
diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv
index ae91a3da..a5605f3b 100755
--- a/indoteknik_custom/security/ir.model.access.csv
+++ b/indoteknik_custom/security/ir.model.access.csv
@@ -115,3 +115,4 @@ access_apps_stored,access.apps.stored,model_apps_stored,,1,1,1,1
access_ged_api,access.ged.api,model_ged_api,,1,1,1,1
access_ged_tracking,access.ged.tracking,model_ged_tracking,,1,1,1,1
access_ged_tracking_line,access.ged.tracking.line,model_ged_tracking_line,,1,1,1,1
+access_ged_tracking_log,access.ged.tracking.log,model_ged_tracking_log,,1,1,1,1
diff --git a/indoteknik_custom/views/ged_tracking.xml b/indoteknik_custom/views/ged_tracking.xml
new file mode 100644
index 00000000..850788c3
--- /dev/null
+++ b/indoteknik_custom/views/ged_tracking.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<odoo>
+ <record id="ged_tracking_tree" model="ir.ui.view">
+ <field name="name">ged.tracking.tree</field>
+ <field name="model">ged.tracking</field>
+ <field name="arch" type="xml">
+ <tree create="false" edit="false">
+ <field name="awb_no"/>
+ <field name="consignee_name"/>
+ <field name="consignee_contact"/>
+ <field name="consignee_phone"/>
+ <field name="consignee_address"/>
+ <field name="receiver_name"/>
+ <field name="receiver_relationship"/>
+ <field name="delivered_date"/>
+ <field name="last_description"/>
+ <field name="last_status"/>
+ <field name="last_status_detail"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="ged_tracking_line_tree" model="ir.ui.view">
+ <field name="name">ged.tracking.line.tree</field>
+ <field name="model">ged.tracking.line</field>
+ <field name="arch" type="xml">
+ <tree create="false" edit="false">
+ <field name="user_input"/>
+ <field name="created_at"/>
+ <field name="location"/>
+ <field name="description"/>
+ <field name="status_detail"/>
+ <field name="status"/>
+ <field name="receiver_name"/>
+ <field name="receiver_relationship"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="ged_tracking_form" model="ir.ui.view">
+ <field name="name">ged.tracking.form</field>
+ <field name="model">ged.tracking</field>
+ <field name="arch" type="xml">
+ <form create="false" edit="false">
+ <sheet string="GED Tracking">
+ <div class="oe_button_box" name="button_box"/>
+ <group>
+ <group>
+ <field name="awb_no"/>
+ <field name="reff_no"/>
+ <field name="consignee_name"/>
+ <field name="consignee_contact"/>
+ <field name="consignee_phone"/>
+ <field name="consignee_address"/>
+ <field name="moda"/>
+ <field name="service"/>
+ <field name="package"/>
+ <field name="height"/>
+ <field name="width"/>
+ <field name="length"/>
+ <field name="coli"/>
+ <field name="kg"/>
+ <field name="origin"/>
+ <field name="destination"/>
+ </group>
+ <group>
+ <field name="receiver_name" readonly="1"/>
+ <field name="receiver_relationship"/>
+ <field name="delivered_date"/>
+ <field name="photo_pod"/>
+ <field name="photo_signature"/>
+ <field name="photo_location"/>
+ <field name="photo_receiver"/>
+ <field name="last_user_input"/>
+ <field name="last_location"/>
+ <field name="last_description"/>
+ <field name="last_status_detail"/>
+ <field name="last_status"/>
+ </group>
+ </group>
+ <notebook>
+ <page string="Line">
+ <field name="tracking_line"/>
+ </page>
+ </notebook>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="view_ged_tracking_filter" model="ir.ui.view">
+ <field name="name">ged.tracking.list.select</field>
+ <field name="model">ged.tracking</field>
+ <field name="priority" eval="15"/>
+ <field name="arch" type="xml">
+ <search string="Search GED Tracking">
+ <field name="awb_no"/>
+ <field name="consignee_name"/>
+ <field name="consignee_contact"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="ged_tracking_action" model="ir.actions.act_window">
+ <field name="name">GED Tracking</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">ged.tracking</field>
+ <field name="search_view_id" ref="view_ged_tracking_filter"/>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem id="menu_ged_tracking"
+ name="GED Tracking"
+ action="ged_tracking_action"
+ parent="account.menu_finance_reports"
+ sequence="251"/>
+</odoo> \ No newline at end of file