diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2024-05-21 11:47:03 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2024-05-21 11:47:03 +0700 |
| commit | b4448913dc446840c21d2403a58cd7edcc13be4a (patch) | |
| tree | c56654855867367e865b88a5237ec02db4f4df3a | |
| parent | 3c43dad74ebb3feef42ddb871a794ea1763e7008 (diff) | |
add view of ged tracking
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/ged.py | 18 | ||||
| -rwxr-xr-x | indoteknik_custom/security/ir.model.access.csv | 1 | ||||
| -rw-r--r-- | indoteknik_custom/views/ged_tracking.xml | 117 |
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 |
