diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-06-03 15:56:00 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-06-03 15:56:00 +0700 |
| commit | f01969680c174f21be8fb9fde2032c749a62cf62 (patch) | |
| tree | 06779d999fe4e8c19cdbc8381f3b8e476d4dc43c | |
| parent | fa490e19dcad3f841f00c67dfbd880ffd327254c (diff) | |
def cargo
| -rw-r--r-- | indoteknik_api/controllers/api_v1/courier.py | 20 | ||||
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 3 | ||||
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/models/def_cargo/__init__.py | 3 | ||||
| -rw-r--r-- | indoteknik_custom/models/def_cargo/def_cargo_city.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/models/def_cargo/def_cargo_district.py | 15 | ||||
| -rw-r--r-- | indoteknik_custom/models/def_cargo/def_cargo_province.py | 10 | ||||
| -rwxr-xr-x | indoteknik_custom/security/ir.model.access.csv | 3 | ||||
| -rw-r--r-- | indoteknik_custom/views/def_cargo_city.xml | 41 | ||||
| -rw-r--r-- | indoteknik_custom/views/def_cargo_district.xml | 49 | ||||
| -rw-r--r-- | indoteknik_custom/views/def_cargo_province.xml | 39 |
11 files changed, 195 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/courier.py b/indoteknik_api/controllers/api_v1/courier.py index 8cf3a674..1a52c1d2 100644 --- a/indoteknik_api/controllers/api_v1/courier.py +++ b/indoteknik_api/controllers/api_v1/courier.py @@ -5,6 +5,7 @@ from odoo.http import request class Courier(controller.Controller): prefix = '/api/v1/' + PREFIX_PARTNER = prefix + 'partner/<partner_id>/' @http.route(prefix + 'courier', auth='public', methods=['GET', 'OPTIONS']) @controller.Controller.must_authorized() @@ -23,5 +24,22 @@ class Courier(controller.Controller): 'name': courier.name, 'image': base_url + 'api/image/rajaongkir.kurir/image/'+str(courier.id) }) + return self.response(data) + + @http.route(prefix + 'def_cargo', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_location_def_cargo(self, **kw): + city_name = str(kw.get('city_name')) + + cargo_city = request.env['def.cargo.city'].search([('name', 'ilike', f'%{city_name}%')]) + cargo_district = request.env['def.cargo.district'].search([('city_id', '=', cargo_city.id)], limit=1) + + data = { + 'kota': cargo_city.name, + 'coverage': cargo_district.coverage, + 'rate': cargo_district.rate, + 'next_kg': cargo_district.next_kg, + 'sla': cargo_district.sla + } + return self.response(data) -
\ No newline at end of file diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index 5b43781e..3d2b01e5 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -126,6 +126,9 @@ 'views/ged_tracking.xml', 'views/dunning_run_ged.xml', 'views/account_move_multi_update_bills.xml', + 'views/def_cargo_province.xml', + 'views/def_cargo_city.xml', + 'views/def_cargo_district.xml', 'report/report.xml', 'report/report_banner_banner.xml', 'report/report_banner_banner2.xml', diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index cd1e4d29..510dd659 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -106,6 +106,7 @@ from . import po_multi_cancel from . import logbook_sj from . import report_logbook_sj from . import role_permission + from . import cust_commision from . import report_stock_forecasted from . import web_logging @@ -114,3 +115,4 @@ from . import res_partner_site from . import external_api from . import ged from . import account_move_multi_update_bills +from . import def_cargo diff --git a/indoteknik_custom/models/def_cargo/__init__.py b/indoteknik_custom/models/def_cargo/__init__.py new file mode 100644 index 00000000..d6f2b19e --- /dev/null +++ b/indoteknik_custom/models/def_cargo/__init__.py @@ -0,0 +1,3 @@ +from . import def_cargo_province +from . import def_cargo_city +from . import def_cargo_district
\ No newline at end of file diff --git a/indoteknik_custom/models/def_cargo/def_cargo_city.py b/indoteknik_custom/models/def_cargo/def_cargo_city.py new file mode 100644 index 00000000..4e7015be --- /dev/null +++ b/indoteknik_custom/models/def_cargo/def_cargo_city.py @@ -0,0 +1,11 @@ +from odoo import fields, models, api +from datetime import datetime, timedelta +import logging + +_logger = logging.getLogger(__name__) + + +class DefCargoCity(models.Model): + _name = 'def.cargo.city' + name = fields.Char(string="Name") + province_id = fields.Many2one('def.cargo.province', string="Province") diff --git a/indoteknik_custom/models/def_cargo/def_cargo_district.py b/indoteknik_custom/models/def_cargo/def_cargo_district.py new file mode 100644 index 00000000..0650005d --- /dev/null +++ b/indoteknik_custom/models/def_cargo/def_cargo_district.py @@ -0,0 +1,15 @@ +from odoo import fields, models, api +from datetime import datetime, timedelta +import logging + +_logger = logging.getLogger(__name__) + + +class DefCargoDistrict(models.Model): + _name = 'def.cargo.district' + name = fields.Char(string="Name") + city_id = fields.Many2one('def.cargo.city', string="City") + coverage = fields.Char(string="Coverage") + rate = fields.Float(string="Rate (min 10kg)") + next_kg = fields.Float(string="Next Kg") + sla = fields.Char(string="SLA") diff --git a/indoteknik_custom/models/def_cargo/def_cargo_province.py b/indoteknik_custom/models/def_cargo/def_cargo_province.py new file mode 100644 index 00000000..c666da5a --- /dev/null +++ b/indoteknik_custom/models/def_cargo/def_cargo_province.py @@ -0,0 +1,10 @@ +from odoo import fields, models, api +from datetime import datetime, timedelta +import logging + +_logger = logging.getLogger(__name__) + + +class DefCargoProvince(models.Model): + _name = 'def.cargo.province' + name = fields.Char(string="Name") diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 223504e6..744ce1c7 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -117,3 +117,6 @@ 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 access_account_move_multi_update_bills,access.account.move.multi_update_bills,model_account_move_multi_update_bills,,1,1,1,1 +access_def_cargo_province,access.def.cargo.province,model_def_cargo_province,,1,1,1,1 +access_def_cargo_city,access.def.cargo.city,model_def_cargo_city,,1,1,1,1 +access_def_cargo_district,access.def.cargo.district,model_def_cargo_district,,1,1,1,1 diff --git a/indoteknik_custom/views/def_cargo_city.xml b/indoteknik_custom/views/def_cargo_city.xml new file mode 100644 index 00000000..8f8beec5 --- /dev/null +++ b/indoteknik_custom/views/def_cargo_city.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="def_cargo_city_tree" model="ir.ui.view"> + <field name="name">def.cargo.city.tree</field> + <field name="model">def.cargo.city</field> + <field name="arch" type="xml"> + <tree editable="top"> + <field name="name"/> + <field name="province_id"/> + </tree> + </field> + </record> + + <record id="def_cargo_city_form" model="ir.ui.view"> + <field name="name">def.cargo.city.form</field> + <field name="model">def.cargo.city</field> + <field name="arch" type="xml"> + <form> + <sheet string="Def Cargo City"> + <group> + <group> + <field name="name" required="1"/> + <field name="province_id"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="def_cargo_city_action" model="ir.actions.act_window"> + <field name="name">Def Cargo City</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">def.cargo.city</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem name="Def Cargo City" action="def_cargo_city_action" + id="menu_def_cargo_city" + parent="delivery.menu_delivery" sequence="112"/> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/def_cargo_district.xml b/indoteknik_custom/views/def_cargo_district.xml new file mode 100644 index 00000000..109fbcba --- /dev/null +++ b/indoteknik_custom/views/def_cargo_district.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="def_cargo_district_tree" model="ir.ui.view"> + <field name="name">def.cargo.district.tree</field> + <field name="model">def.cargo.district</field> + <field name="arch" type="xml"> + <tree> + <field name="name"/> + <field name="city_id"/> + <field name="coverage"/> + <field name="rate"/> + <field name="next_kg"/> + <field name="sla"/> + </tree> + </field> + </record> + + <record id="def_cargo_district_form" model="ir.ui.view"> + <field name="name">def.cargo.district.form</field> + <field name="model">def.cargo.district</field> + <field name="arch" type="xml"> + <form> + <sheet string="Def Cargo District"> + <group> + <group> + <field name="name" required="1"/> + <field name="city_id"/> + <field name="coverage"/> + <field name="rate"/> + <field name="next_kg"/> + <field name="sla"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="def_cargo_district_action" model="ir.actions.act_window"> + <field name="name">Def Cargo District</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">def.cargo.district</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem name="Def Cargo District" action="def_cargo_district_action" + id="menu_def_cargo_district" + parent="delivery.menu_delivery" sequence="112"/> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/def_cargo_province.xml b/indoteknik_custom/views/def_cargo_province.xml new file mode 100644 index 00000000..37dc9162 --- /dev/null +++ b/indoteknik_custom/views/def_cargo_province.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="def_cargo_province_tree" model="ir.ui.view"> + <field name="name">def.cargo.province.tree</field> + <field name="model">def.cargo.province</field> + <field name="arch" type="xml"> + <tree editable="top"> + <field name="name"/> + </tree> + </field> + </record> + + <record id="def_cargo_province_form" model="ir.ui.view"> + <field name="name">def.cargo.province.form</field> + <field name="model">def.cargo.province</field> + <field name="arch" type="xml"> + <form> + <sheet string="Def Cargo Province"> + <group> + <group> + <field name="name" required="1"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="def_cargo_province_action" model="ir.actions.act_window"> + <field name="name">Def Cargo Province</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">def.cargo.province</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem name="Def Cargo Province" action="def_cargo_province_action" + id="menu_def_cargo_province" + parent="delivery.menu_delivery" sequence="112"/> +</odoo>
\ No newline at end of file |
