Commit 7faf58b9 by aagusti

add tandur menu

1 parent a431c235
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details. # Part of Odoo. See LICENSE file for full copyright and licensing details.
{ {
'name': 'PUBLIC TRANSPORT', 'name': 'FARMING MANAGEMENT',
'version': '0.1', 'version': '0.1',
'summary': 'Public Transfor Management', 'summary': 'Farming Management',
'sequence': 11, 'sequence': 12,
'description': """ 'description': """
PUBLIC TRANSPORT MANAGEMENT FARMING MANAGEMENT
""", """,
'category': 'IDG MANAGEMENT', 'category': 'IDG MANAGEMENT',
'website': 'https://opensipkd.com', 'website': 'https://opensipkd.com',
'images': [], 'images': [],
'depends': ['base_geoengine', 'id_gov'], 'depends': ['base_geoengine', 'id_gov', 'contacts', 'mrp'],
'data': [ 'data': [
'security/account_security.xml', 'security/account_security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
...@@ -19,16 +19,13 @@ PUBLIC TRANSPORT MANAGEMENT ...@@ -19,16 +19,13 @@ PUBLIC TRANSPORT MANAGEMENT
# 'data/sequence.xml', # 'data/sequence.xml',
# 'data/category.xml', # 'data/category.xml',
# 'data/type.xml', # 'data/type.xml',
'views/idg_trayek_vehicle.xml', # 'views/idg_trayek_vehicle.xml',
'views/idg_vehicle.xml', # 'views/idg_vehicle.xml',
'views/idg_road.xml', # 'views/idg_road.xml',
'views/idg_trayek.xml', # 'views/idg_trayek.xml',
'views/partner.xml', # 'views/partner.xml',
'views/price_hist.xml',
'views/menus.xml', 'views/menus.xml',
# 'views/idg_letter_category.xml',
# 'views/idg_letter_type.xml',
# 'views/idg_letter.xml',
# 'views/task_letter.xml',
], ],
'demo': [ 'demo': [
# 'security/ir_rule.xml', # 'security/ir_rule.xml',
...@@ -39,5 +36,5 @@ PUBLIC TRANSPORT MANAGEMENT ...@@ -39,5 +36,5 @@ PUBLIC TRANSPORT MANAGEMENT
'application': True, 'application': True,
'auto_install': False, 'auto_install': False,
'license': 'LGPL-3', 'license': 'LGPL-3',
'module': 'idg_trayek' 'module': 'tandur'
} }
from . import idg_road from . import price_hist
from . import idg_trayek
import logging
from datetime import datetime, timedelta
import pytz
from odoo import models, api, fields, _
# from odoo.addons.base.models.ir_sequence import (_create_sequence, _drop_sequences, _alter_sequence, _select_nextval,
# _update_nogap)
# from odoo.tools import sql
from odoo.exceptions import UserError
from psycopg2 import sql
_logger = logging.getLogger(__name__)
class IdgRoad(models.Model):
_name = 'idg.road'
_description = 'Public Road Management'
_order = "name"
name = fields.Char(required=True)
code = fields.Char(string='Code')
length = fields.Float(string='Length')
active = fields.Boolean(default=True, string="Active")
geom = fields.GeoLine(srid=4326)
from datetime import datetime, timedelta
from odoo import api, fields, models, _
import logging
import re
_logger = logging.getLogger(__name__)
class IdgTrayek(models.Model):
_name = 'idg.trayek.route'
_description = 'Public Route'
# _inherit = ['mail.thread', 'mail.activity.mixin']
# _sequence_field = "code"
# _sequence_date_field = "date"
code = fields.Char(index=True, string='Code')
name = fields.Char(index=True, string='Name', size=255, required=True)
active = fields.Boolean(default=True, string='Active')
# geom = field.Geom()
trayek_line = fields.One2many('idg.trayek.route.line', 'trayek_id',
string='Trayek Lines',
copy=True, auto_join=True)
geom = fields.GeoLine(srid=4326)
class IdgTrayekLine(models.Model):
_name = 'idg.trayek.route.line'
_description = 'Public Route Line'
# _inherit = ['mail.thread', 'mail.activity.mixin', ]
trayek_id = fields.Many2one('idg.trayek.route')
road_id = fields.Many2one('idg.road')
class IdgVehicle(models.Model):
_name = 'idg.vehicle'
_description = 'Vehicle Merek'
# _inherit = ['mail.thread', 'mail.activity.mixin']
# _sequence_field = "code"
# _sequence_date_field = "date"
# code = fields.Char(index=True, string='Code')
name = fields.Char(index=True, string='Name', size=255, required=True)
class IdgTrayekVehicle(models.Model):
_name = 'idg.trayek.vehicle'
_description = 'Public Transport Route'
# _inherit = ['mail.thread', 'mail.activity.mixin', ]
code = fields.Char(index=True, string='Code', compute='_compute_code',
store=True, copy=False, tracking=True)
name = fields.Char(string='Name', index=True)
partner_id = fields.Many2one('res.partner')
vehicle_id = fields.Many2one('idg.vehicle')
route_id = fields.Many2one('idg.trayek.route')
permit_no = fields.Char(index=True, string='Permit')
permit_due = fields.Date(string='Due Date')
production_year = fields.Char(size=4, string='Production Year')
active = fields.Boolean(default=True, string='Active')
@api.depends('name')
def _compute_code(self):
for rec in self:
rec_str = re.sub('[0-9]', " ", rec.name).split()
if len(rec_str) == 1:
rec_str.append(" ")
rec_num = re.sub("[a-zA-Z]", " ", rec.name)
rec.code = f"{rec_str[0].ljust(2)}{rec_str[1].ljust(3)}{rec_num.strip()}"
import logging
from datetime import datetime, timedelta
import pytz
from odoo import models, api, fields, _
# from odoo.addons.base.models.ir_sequence import (_create_sequence, _drop_sequences, _alter_sequence, _select_nextval,
# _update_nogap)
# from odoo.tools import sql
from odoo.exceptions import UserError
from psycopg2 import sql
from xml.etree import ElementTree
_logger = logging.getLogger(__name__)
class TandurPriceHist(models.Model):
_name = 'tandur.price.hist'
_description = 'History of Price'
_order = "product_id"
year = fields.Float(string='Year', group_operator=False)
month = fields.Float(string='Month', group_operator=False)
product_id = fields.Many2one('product.product', 'Product', required=True)
price = fields.Float(string='Price', group_operator=False)
@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
submenu=False):
return super().fields_view_get(view_id=view_id, view_type=view_type,
toolbar=toolbar, submenu=submenu)
# root = ElementTree.fromstring(res['arch'])
# _logger.debug(dir(self.env.user))
# _logger.debug(read_group())
# if self.env.user.has_group('tandur.group_tandur_admin'):
# root.set('edit', 'true')
# root.set('create', 'true')
# else:
# root.set('edit', 'false')
# root.set('create', 'false')
#
# res['arch'] = ElementTree.tostring(root)
#
# return res
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<data noupdate="0"> <data noupdate="0">
<record model="ir.module.category" id="idg_trayek"> <record model="ir.module.category" id="tandur">
<field name="name">Trayek Management</field> <field name="name">Farming Management</field>
<field name="description">Trayek Management</field> <field name="description">Farming Management</field>
<field name="sequence">12</field> <field name="sequence">92</field>
</record> </record>
<record id="group_idg_trayek_user" model="res.groups"> <record id="group_tandur_farmer" model="res.groups">
<field name="name">User</field> <field name="name">Farmer</field>
<field name="category_id" ref="idg_trayek"/> <field name="category_id" ref="tandur"/>
</record>
<record id="group_tandur_buyer" model="res.groups">
<field name="name">Buyer</field>
<field name="category_id" ref="tandur"/>
</record>
<record id="group_tandur_investor" model="res.groups">
<field name="name">Investor</field>
<field name="category_id" ref="tandur"/>
</record> </record>
<record id="group_idg_trayek_admin" model="res.groups"> <record id="group_tandur_admin" model="res.groups">
<field name="name">Administrator</field> <field name="name">Administrator</field>
<field name="category_id" ref="idg_trayek"/> <field name="category_id" ref="tandur"/>
<field name="implied_ids" eval="[(4, ref('group_idg_trayek_user'))]"/> <field name="implied_ids"
eval="[(4, ref('group_tandur_farmer')),(4, ref('group_tandur_buyer')),(4, ref('group_tandur_investor'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/> <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record> </record>
......
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_idg_letter_category_user","access.idg.letter.category.user","model_idg_letter_category","base.group_user",1,0,0,0
"access_idg_letter_user","access.idg.letter.user","model_idg_letter","base.group_user",1,1,1,1
"access_idg_letter_routes_user","access.idg.letter.routes.user","model_idg_letter_routes","base.group_user",1,0,1,0
"access_idg_letter_comments_user","access.idg.letter.comments.user","model_idg_letter_routes","base.group_user",1,0,1,0
"access_idg_letter_docs_user","access.idg.letter.docs.user","model_idg_letter_comments","base.group_user",1,0,1,0
"access_idg_letter_comments_admin","access.idg.letter.comments.admin","model_idg_letter_comments","group_idg_letter_admin",1,1,1,1
"access_idg_letter_docs_admin","access.idg.letter.docs.admin","model_idg_letter_docs","group_idg_letter_admin",1,1,1,1
"access_idg_letter_category_admin","access.idg.letter.category.admin","model_idg_letter_category","group_idg_letter_admin",1,1,1,1
"access_idg_letter_category_user","access.idg.letter.category.user","model_idg_letter_category","group_idg_letter_user",1,1,1,1
"access_idg_letter_category_base","access.idg.letter.category.base","model_idg_letter_category","base.group_user",1,0,0,0
"access_idg_letter_category_approver_base","access.idg.letter.category.approver.base","model_idg_letter_category_approver","base.group_user",1,0,0,0
"access_idg_letter_category_approver_admin","access.idg.letter.category.approver.admin","model_idg_letter_category_approver","group_idg_letter_admin",1,1,1,1
"access_idg_letter_admin","access.idg.letter.admin","model_idg_letter","group_idg_letter_admin",1,1,1,1
"access_idg_letter_approver_admin","access.idg.letter.approver.admin","model_idg_letter_approver","group_idg_letter_admin",1,1,1,1
\ No newline at end of file \ No newline at end of file
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_idg_road","access.idg.road","model_idg_road","base.group_user",1,0,0,0 "access_tandur_price_hist","access.tandur.price.hist","model_tandur_price_hist","base.group_user",1,0,0,0
"access_idg_road_user","access.idg.road.user","model_idg_road","group_idg_trayek_user",1,1,1,0 "access_tandur_price_hist_admin","access.tandur.price.hist.admin","model_tandur_price_hist","group_tandur_admin",1,1,1,1
"access_idg_road_admin","access.idg.road.admin","model_idg_road","group_idg_trayek_admin",1,1,1,1
"access_idg_trayek_route","access.idg.trayek.route","model_idg_trayek_route","base.group_user",1,0,0,0
"access_idg_trayek_route_user","access.idg.trayek.route.user","model_idg_trayek_route","group_idg_trayek_user",1,1,1,0
"access_idg_trayek_route_admin","access.idg.trayek.route.admin","model_idg_trayek_route","group_idg_trayek_admin",1,1,1,1
"access_idg_trayek_route_line","access.idg.trayek.route.line","model_idg_trayek_route_line","base.group_user",1,0,0,0
"access_idg_trayek_route_line_user","access.idg.trayek.route.line.user","model_idg_trayek_route_line","group_idg_trayek_user",1,1,1,0
"access_idg_trayek_route_line_admin","access.idg.trayek.route.line.admin","model_idg_trayek_route_line","group_idg_trayek_admin",1,1,1,1
"access_idg_vehicle","access.idg.vehicle","model_idg_vehicle","base.group_user",1,0,0,0
"access_idg_vehicle_user","access.idg.vehicle.user","model_idg_vehicle","group_idg_trayek_user",1,1,1,0
"access_idg_vehicle_admin","access.idg.vehicle.admin","model_idg_vehicle","group_idg_trayek_admin",1,1,1,1
"access_idg_trayek_vehicle","access.idg.trayek.vehicle","model_idg_trayek_vehicle","base.group_user",1,0,0,0
"access_idg_trayek_vehicle_user","access.idg.trayek.vehicle.user","model_idg_trayek_vehicle","group_idg_trayek_user",1,1,1,0
"access_idg_trayek_vehicle_admin","access.idg.trayek.vehicle.admin","model_idg_trayek_vehicle","group_idg_trayek_admin",1,1,1,1
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="idg_road_view_tree" model="ir.ui.view">
<field name="name">idg.road.view.tree</field>
<field name="model">idg.road</field>
<field name="arch" type="xml">
<tree string="Road List" sample="1" create="1" delete="1" multi_edit="0">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="idg_road_view_form" model="ir.ui.view">
<field name="model">idg.road</field>
<field name="groups_id" eval="[(6, 0, [ref('idg_trayek.group_idg_trayek_admin') ])]"/>
<field name="arch" type="xml">
<form string="Sequences">
<sheet>
<group>
<field name="name" select="1"/>
<field name="code"/>
<field name="active" widget="boolean_toggle"/>
</group>
<notebook>
<page string="Geometry">
<field name="geom" widget="geo_edit_map"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="idg_road_view_search" model="ir.ui.view">
<field name="model">idg.road</field>
<field name="arch" type="xml">
<search string="Sequences">
<field name="name" string="Sequence"/>
<field name="code"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<!-- <record id="idg_road_form" model="ir.actions.act_window">-->
<!-- <field name="name">Sequences</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">idg.road</field>-->
<!-- <field name="view_id" ref="idg_road_view_tree"/>-->
<!-- </record>-->
<record id="idg_trayek_road_action" model="ir.actions.act_window">
<field name="name">Road List</field>
<field name="res_model">idg.road</field>
<field name="view_mode">tree,form,geoengine</field>
<field name="view_id" ref="idg_road_view_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Road
</p>
</field>
</record>
<!-- GeoEngine views -->
<record id="idg_road_view0" model="ir.ui.view">
<field name="name">Road view</field>
<field name="arch" type="xml">
<geoengine>
<field name="name" select="1"/>
<field name="code"/>
<field name="active"/>
<field name="geom"/>
</geoengine>
</field>
<field eval="16" name="priority"/>
<field name="model">idg.road</field>
</record>
<record id="idg_road_raster" model="geoengine.raster.layer">
<field name="raster_type">osm</field>
<field name="name">OSM</field>
<field name="view_id" ref="idg_road_view0"/>
<field eval="0" name="overlay"/>
</record>
<record id="idg_road_raster1" model="geoengine.raster.layer">
<field name="raster_type">d_wms</field>
<field name="name">BASIC</field>
<field name="url">vmap0.tiles.osgeo.org/wms/vmap0</field>
<field name="view_id" ref="idg_road_view0"/>
<field eval="1" name="overlay"/>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="idg_trayek_tree" model="ir.ui.view">
<field name="name">idg.trayek.tree</field>
<field name="model">idg.trayek.route</field>
<field name="arch" type="xml">
<tree string="Route List" sample="1" create="1" delete="1" multi_edit="0">
<field name="code" string="Code"/>
<field name="name" string="Name"/>
</tree>
</field>
</record>
<record id="idg_trayek_form" model="ir.ui.view">
<field name="name">idg.trayek.form</field>
<field name="model">idg.trayek.route</field>
<field name="arch" type="xml">
<form string="Letter">
<sheet>
<group>
<div colspan="12">
<h2>
<field name="name" string="Nama Rute" select="1"/>
</h2>
</div>
<field name="code" placeholder="Kode Rute"/>
<field name="active" widget="boolean_toggle"/>
</group>
<notebook>
<page string="Maps">
<field name="geom" widget="geo_edit_map"/>
</page>
<page string="Route Lines" name="route_lines">
<field name="trayek_line"
widget="section_and_note_one2many"
mode="tree">
<tree editable="bottom">
<field name="road_id"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="idg_trayek_route_action" model="ir.actions.act_window">
<field name="name">Route</field>
<field name="res_model">idg.trayek.route</field>
<field name="view_mode">form,tree,geoengine</field>
<field name="view_id" ref="idg_trayek_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Trayek
</p>
</field>
</record>
<!-- GeoEngine views -->
<record id="idg_trayek_geoengine0" model="ir.ui.view">
<field name="name">Trayek view</field>
<field name="model">idg.trayek.route</field>
<field name="arch" type="xml">
<geoengine>
<field name="name"/>
<field name="code"/>
<field name="active"/>
<field name="geom"/>
</geoengine>
</field>
<field eval="16" name="priority"/>
</record>
<record id="idg_trayek_raster" model="geoengine.raster.layer">
<field name="raster_type">osm</field>
<field name="name">OSM</field>
<field name="view_id" ref="idg_trayek_geoengine0"/>
<field eval="0" name="overlay"/>
</record>
<record id="idg_trayek_raster1" model="geoengine.raster.layer">
<field name="raster_type">d_wms</field>
<field name="name">BASIC</field>
<field name="url">vmap0.tiles.osgeo.org/wms/vmap0</field>
<field name="view_id" ref="idg_trayek_geoengine0"/>
<field eval="1" name="overlay"/>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="idg_trayek_vehicle_form" model="ir.ui.view">
<field name="name">idg.trayek.vehicle.form</field>
<field name="model">idg.trayek.vehicle</field>
<field name="arch" type="xml">
<form string="Vehicle">
<sheet>
<group>
<div colspan="12">
<h2>
<field name="name" placeholder="NRKB"/>
</h2>
</div>
<notebook>
<page string="Rincian">
<group>
<field name="partner_id"/>
<field name="vehicle_id"/>
<field name="production_year"/>
<field name="route_id"/>
<field name="permit_no"/>
<field name="permit_due"/>
<field name="active" widget="boolean_toggle"/>
</group>
</page>
</notebook>
</group>
</sheet>
</form>
</field>
</record>
<record id="idg_trayek_vehicle_tree" model="ir.ui.view">
<field name="name">idg.trayek.vehicle.tree</field>
<field name="model">idg.trayek.vehicle</field>
<field name="arch" type="xml">
<tree string="Vehicle List" sample="1" create="1" delete="1" multi_edit="0">
<field name="code"/>
<!-- <field name="name"/>-->
<field name="partner_id"/>
<!-- <field name="vehicle_id"/>-->
<field name="production_year"/>
<field name="route_id"/>
<field name="permit_no"/>
<field name="permit_due"/>
</tree>
</field>
</record>
<record id="idg_trayek_vehicle_search" model="ir.ui.view">
<field name="name">idg.trayek.vehicle.search</field>
<field name="model">idg.trayek.vehicle</field>
<field name="arch" type="xml">
<search string="Name">
<field name="name" string="Owner"/>
<field name="code" string="Code"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record id="idg_trayek_vehicle_form_action" model="ir.actions.act_window">
<field name="name">Sequences</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">idg.trayek.vehicle</field>
<field name="view_id" ref="idg_trayek_vehicle_tree"/>
</record>
<record id="idg_trayek_vehicle_action" model="ir.actions.act_window">
<field name="name">Vehicles</field>
<field name="res_model">idg.trayek.vehicle</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="idg_trayek_vehicle_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Vehicles
</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="idg_vehicle_brand_view_tree" model="ir.ui.view">
<field name="model">idg.vehicle</field>
<field name="arch" type="xml">
<tree string="Vehicle Brand" editable="top" sample="1" create="1" delete="1" multi_edit="0">
<field name="name"/>
</tree>
</field>
</record>
<record id="idg_vehicle_brand_act" model="ir.actions.act_window">
<field name="name">Sequences</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">idg.vehicle</field>
<field name="view_id" ref="idg_vehicle_brand_view_tree"/>
</record>
<record id="idg_vehicle_brand_action" model="ir.actions.act_window">
<field name="name">Vehicle Brand</field>
<field name="res_model">idg.vehicle</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="idg_vehicle_brand_view_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Vehicle Brand
</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<!-- Top menu item --> <!--Farmer-->
<menuitem id="idg_trayek_root_menu" <record id="tandur_location_action" model="ir.actions.act_window">
name="Route Management" <field name="name">Location</field>
web_icon="idg_trayek,static/description/icon.png" <field name="res_model">res.partner</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Product
</p>
</field>
</record>
<record id="tandur_production_action" model="ir.actions.act_window">
<field name="name">Production</field>
<field name="res_model">mrp.production</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Production
</p>
</field>
</record>
<!--Buyer-->
<record id="tandur_buy_product_action" model="ir.actions.act_window">
<field name="name">Product to Buy</field>
<field name="res_model">mrp.production</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Product to Buy
</p>
</field>
</record>
<record id="tandur_buy_discuss_action" model="ir.actions.act_window">
<field name="name">Buy Discussion</field>
<field name="res_model">mrp.production</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Product to Buy
</p>
</field>
</record>
<!--Investor-->
<record id="tandur_invest_product_action" model="ir.actions.act_window">
<field name="name">Invest Product</field>
<field name="res_model">mrp.production</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Production
</p>
</field>
</record>
<record id="tandur_invest_discuss_action" model="ir.actions.act_window">
<field name="name">Invest Discussion</field>
<field name="res_model">mrp.production</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Production
</p>
</field>
</record>
<!--Config-->
<record id="tandur_product_action" model="ir.actions.act_window">
<field name="name">Product</field>
<field name="res_model">product.template</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Product
</p>
</field>
</record>
<record id="tandur_template_action" model="ir.actions.act_window">
<field name="name">Bills of Materials</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom</field>
<field name="domain">[]</field> <!-- force empty -->
<field name="view_mode">tree,kanban,form</field>
<!-- <field name="search_view_id" ref="view_mrp_bom_filter"/>-->
<!-- <field name="context">{'default_company_id': allowed_company_ids[0]}</field>-->
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
No bill of materials found. Let's create one!
</p>
<p>
Bills of materials allow you to define the list of required raw
materials used to make a finished product; through a manufacturing
order or a pack of products.
</p>
</field>
</record>
<menuitem id="tandur_root_menu"
name="Farmings"
web_icon="tandur,static/description/icon.png"
active="True" active="True"
sequence="2"/> sequence="2"/>
<!--Farmer-->
<menuitem id="tandur_farmer_menu"
name="Farmer"
parent="tandur_root_menu"
sequence="1"/>
<menuitem id="tandur_location_menu"
name="Location"
parent="tandur_farmer_menu"
action="tandur_location_action"
sequence="1"/>
<menuitem id="tandur_production_menu"
name="Production Plan"
parent="tandur_farmer_menu"
action="tandur_production_action"
sequence="2"/>
<!--Buyer-->
<menuitem id="tandur_buyer_menu"
name="Buyer"
parent="tandur_root_menu"
sequence="2"/>
<menuitem id="tandur_buy_product_menu"
name="Production List"
parent="tandur_buyer_menu"
action="tandur_buy_product_action"
sequence="1"/>
<menuitem id="tandur_buy_discuss_menu"
name="Followup/Discuss"
parent="tandur_buyer_menu"
action="tandur_buy_discuss_action"
sequence="1"/>
<!-- Transaksi--> <!--Investor-->
<menuitem id="idg_trayek_vehicle_menu" <menuitem id="tandur_investor_menu"
name="Kendaraan" name="Investor"
parent="idg_trayek_root_menu" parent="tandur_root_menu"
action="idg_trayek_vehicle_action" sequence="3"/>
<menuitem id="tandur_invest_product_menu"
name="Investor Need"
parent="tandur_investor_menu"
action="tandur_invest_product_action"
sequence="1"/> sequence="1"/>
<!-- &lt;!&ndash; Konfigurasi&ndash;&gt;--> <menuitem id="tandur_invest_discuss_menu"
<menuitem id="idg_trayek_config_menu" name="Followup/Discuss"
parent="tandur_investor_menu"
action="tandur_invest_discuss_action"
sequence="2"/>
<!-- Config-->
<menuitem id="tandur_config_menu"
name="Configuration" name="Configuration"
parent="idg_trayek_root_menu" parent="tandur_root_menu"
sequence="7"/> sequence="7"/>
<menuitem id="idg_trayek_road_menu" <menuitem id="tandur_product_menu"
name="Road" name="Product"
parent="idg_trayek_config_menu" parent="tandur_config_menu"
action="idg_trayek_road_action" action="tandur_product_action"
sequence="1"/> sequence="1"/>
<menuitem id="idg_trayek_route_menu" <menuitem id="tandur_template_menu"
name="Route" name="Template"
parent="idg_trayek_config_menu" parent="tandur_config_menu"
action="idg_trayek_route_action" action="tandur_template_action"
sequence="2"/>
<menuitem id="tandur_price_menu"
name="Price History"
parent="tandur_config_menu"
action="tandur_price_hist_action"
sequence="2"/> sequence="2"/>
<menuitem id="idg_trayek_owner_menu" <data>
name="Owner"
parent="idg_trayek_config_menu"
action="idg_trayek_partner_action"
sequence="3"/>
<menuitem id="idg_vehicle_brand_menu" </data>
name="Vehicle Brand"
parent="idg_trayek_config_menu"
action="idg_vehicle_brand_action"
sequence="4"/>
</odoo> </odoo>
<odoo>
<data>
<record id="partner_form_id_trayek" model="ir.ui.view">
<field name="name">partner.form.id.trayek.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="id_gov.partner_form_id"/>
<field name="groups_id" eval="[(6, 0, [ref('idg_trayek.group_idg_trayek_admin') ])]"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='type']" position="attributes">
<attribute name="invisible">True</attribute>
</xpath>
<xpath expr="//field[@name='category_id']" position="replace"/>
<xpath expr="//field[@name='function']" position="replace"/>
<xpath expr="//field[@name='title']" position="replace"/>
<xpath expr="//page[@name='sales_purchases']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
<record id="idg_trayek_partner_action" model="ir.actions.act_window">
<field name="name">Vehicle Owner</field>
<field name="res_model">res.partner</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{
'default_is_company': True,
'default_type': 'customer'}
</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Vehicle Owner
</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="tandur_price_hist_view_tree" model="ir.ui.view">
<field name="model">tandur.price.hist</field>
<field name="arch" type="xml">
<tree string="Price History" editable="top" sample="1" create="1" delete="1" multi_edit="0">
<field name="year"/>
<field name="month"/>
<field name="product_id"/>
<field name="price"/>
</tree>
</field>
</record>
<record id="view_tandur_price_hist_filter" model="ir.ui.view">
<field name="name">tandur.price.hist.select</field>
<field name="model">tandur.price.hist</field>
<field name="arch" type="xml">
<search string="Search Product">
<field name="product_id" string="Product"/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Product" name="group_by_product" domain="[]" context="{'group_by': 'product_id'}"/>
<filter string='Year' name="group_by_year" domain="[]" context="{'group_by' : 'year'}"/>
</group>
</search>
</field>
</record>
<record id="tandur_price_hist_search_action" model="ir.actions.act_window">
<field name="context">{'default_product_id': active_id, 'search_default_product_id': active_id}</field>
<field name="name">Price History</field>
<field name="res_model">tandur.price.hist</field>
<field name="domain">[]</field> <!-- Force empty -->
</record>
<record id="tandur_price_hist_action" model="ir.actions.act_window">
<field name="name">History of Price </field>
<field name="res_model">tandur.price.hist</field>
<field name="context">{'search_default_group_by_product': 1}</field>
<field name="view_mode">tree</field>
<field name="search_view_id" ref="view_tandur_price_hist_filter"/>
<field name="view_id" ref="tandur_price_hist_view_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
History of Price Not Found
</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!