Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ADD] commodity_trading: module for commodity trading #46

Open
wants to merge 11 commits into
base: 17.0
Choose a base branch
from
63 changes: 63 additions & 0 deletions commodity_trading/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
'name': 'Commodity Trading',
'version': '1.0',
'category': 'Services',
'description': """
Tailored for commodity traders (e.g. soybeans, wheat) with comprehensive functions,
including CRM, quality checks, and broker involvement for product quality and commissions.
""",
'depends': [
'account_followup',
'appointment_crm',
'knowledge',
'mrp_account',
'product_expiry',
'purchase_mrp',
'quality_control_worksheet',
'quality_mrp_workorder',
'sale_mrp',
'sale_project',
'stock_dropshipping',
'stock_picking_batch',
],
'data': [
'data/res_config_settings.xml',
'data/ir_attachment_pre.xml',
'data/ir_sequence.xml',
'data/ir_model.xml',
'data/ir_model_fields.xml',
'data/ir_ui_view.xml',
'data/ir_actions_act_window.xml',
'data/ir_actions_report.xml',
'data/ir_ui_menu.xml',
'data/ir_model_access.xml',
'data/ir_rule.xml',
'data/product_category.xml',
'data/worksheet_template.xml',
'data/product_product.xml',
'data/knowledge_cover.xml',
'data/knowledge_article.xml',
'data/quality_point.xml',
'data/mrp_bom.xml',
'data/mrp_bom_line.xml',
'data/mrp_workcenter.xml',
'data/mrp_routing_workcenter.xml',
],
'demo': [
'demo/weighing_scale_maste.xml',
'demo/res_partner.xml',
'demo/product_supplierinfo.xml',
'demo/stock_lot.xml',
'demo/purchase_order.xml',
'demo/purchase_order_line.xml',
'demo/purchase_order_post.xml',
'demo/mrp_production.xml',
'demo/mrp_production_post.xml',
'demo/sale_order.xml',
'demo/sale_order_line.xml',
'demo/sale_order_post.xml',
],
'license': 'OPL-1',
'images': ['images/main.png'],
'maintenance_loc': 157,
}
23 changes: 23 additions & 0 deletions commodity_trading/data/ir_actions_act_window.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="stock_picking_batch.stock_add_to_wave_action_stock_picking" model="ir.actions.act_window">
<field name="name">Select for GRN</field>
</record>
<record id="stock_picking_batch.action_picking_tree_wave" model="ir.actions.act_window">
<field name="name">Weighing Scale/GRN Details</field>
</record>
<record id="action_weighing_scale_grn_details" model="ir.actions.act_window">
<field name="name">Weighing Scale/GRN Details</field>
<field name="res_model">x_weighing_scale_grn_d</field>
</record>
<record id="action_weighing_scale_master" model="ir.actions.act_window">
<field name="name">Weighing Scale Master</field>
<field name="res_model">x_weighing_scale_maste</field>
</record>
<record id="action_x_quality_check_worksheet_template_1" model="ir.actions.act_window">
<field name="name">Worksheets</field>
<field name="res_model">x_quality_check_worksheet_template_2</field>
<field name="context">{'edit': False, 'create': False, 'delete': False, 'duplicate': False}</field>
<field name="search_view_id" ref="x_quality_check_worksheet_template_1_ir_ui_view_3"/>
</record>
</odoo>
9 changes: 9 additions & 0 deletions commodity_trading/data/ir_actions_report.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="report_action_batch_transfer" model="ir.actions.report">
<field name="name">Batch Transfer</field>
<field name="model">stock.picking.batch</field>
<field name="binding_model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="report_name">stock_picking_batch.report_picking_batch_copy_1</field>
</record>
</odoo>
8 changes: 8 additions & 0 deletions commodity_trading/data/ir_attachment_pre.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="ir_attachment_430" model="ir.attachment">
<field name="name">unsplash_c9OfrVeD_tQ.jpg</field>
<field name="url">/unsplash/c9OfrVeD_tQ/.jpg</field>
<field name="datas" type="base64" file="commodity_trading/static/src/binary/ir_attachment/430-unsplash_c9OfrVeD_tQ_.jpg"/>
</record>
</odoo>
19 changes: 19 additions & 0 deletions commodity_trading/data/ir_model.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="model_weighing_scale_grn_details" model="ir.model">
<field name="name">Weighing Scale/GRN Details</field>
<field name="model">x_weighing_scale_grn_d</field>
<field name="is_mail_thread" eval="True"/>
<field name="is_mail_activity" eval="True"/>
</record>
<record id="model_weighing_scale_master" model="ir.model">
<field name="name">Weighing Scale Master</field>
<field name="model">x_weighing_scale_maste</field>
<field name="is_mail_thread" eval="True"/>
<field name="is_mail_activity" eval="True"/>
</record>
<record id="model_worksheet_template_1" model="ir.model">
<field name="name">Inward Checking</field>
<field name="model">x_quality_check_worksheet_template_2</field>
</record>
</odoo>
46 changes: 46 additions & 0 deletions commodity_trading/data/ir_model_access.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="access_weighing_scale_grn_details_group_user" model="ir.model.access">
<field name="name">Weighing Scale/GRN Details group_user</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="group_id" ref="base.group_user"/>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
</record>
<record id="access_weighing_scale_grn_details_group_system" model="ir.model.access">
<field name="name">Weighing Scale/GRN Details group_system</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="group_id" ref="base.group_system"/>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="access_weighing_scale_master_group_user" model="ir.model.access">
<field name="name">Weighing Scale Master group_user</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="group_id" ref="base.group_user"/>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
</record>
<record id="access_weighing_scale_master_group_system" model="ir.model.access">
<field name="name">Weighing Scale Master group_system</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="group_id" ref="base.group_system"/>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="ir_model_access_1212" model="ir.model.access">
<field name="name">x_quality_check_worksheet_template_1_user_access</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="group_id" ref="quality.group_quality_user"/>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
</odoo>
221 changes: 221 additions & 0 deletions commodity_trading/data/ir_model_fields.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="x_weighing_scale_master_fields_x_active" model="ir.model.fields">
<field name="name">x_active</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="field_description">Active</field>
<field name="ttype">boolean</field>
<field name="tracking">1</field>
</record>
<record id="x_weighing_scale_grn_d_field_x_active" model="ir.model.fields">
<field name="name">x_active</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Active</field>
<field name="ttype">boolean</field>
<field name="tracking">1</field>
</record>
<record id="x_weighing_scale_master_description_weighing" model="ir.model.fields">
<field name="name">x_name</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="field_description">Description</field>
<field name="ttype">char</field>
<field name="tracking">1</field>
<field name="required" eval="True"/>
<field name="translate" eval="True"/>
</record>
<record id="x_weighing_scale_grn_details_description_weighing" model="ir.model.fields">
<field name="name">x_name</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Description</field>
<field name="ttype">char</field>
<field name="tracking">1</field>
<field name="required" eval="True"/>
<field name="translate" eval="True"/>
</record>
<record id="new_checkbox_contact_x_is_broker" model="ir.model.fields">
<field name="name">x_is_broker</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="field_description">Is Broker?</field>
<field name="ttype">boolean</field>
</record>
<record id="new_decimal_batch_x_gross_weight" model="ir.model.fields">
<field name="name">x_gross_weight</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Gross Weight</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_batch_x_weight" model="ir.model.fields">
<field name="name">x_weight</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Tare Weight</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_batch_x_net_weight" model="ir.model.fields">
<field name="name">x_net_weight</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Net Weight</field>
<field name="ttype">float</field>
<field name="compute"><![CDATA[for record in self:record['x_net_weight'] = record.x_gross_weight-record.x_weight]]></field>
<field name="depends">x_gross_weight,x_weight</field>
</record>
<record id="new_decimal_inward_x_admixture" model="ir.model.fields">
<field name="name">x_admixture</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Admixture(%)</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_inward_x_split_broken" model="ir.model.fields">
<field name="name">x_split_broken</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Split Broken(%)</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_inward_c_x_moisture" model="ir.model.fields">
<field name="name">x_moisture</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Moisture(%)</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_inward_c_x_damage" model="ir.model.fields">
<field name="name">x_damage</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Damage(%)</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_weighing_x_weight" model="ir.model.fields">
<field name="name">x_weight</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Tare Weight</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_weighing_x_gross_weight" model="ir.model.fields">
<field name="name">x_gross_weight</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Gross Weight</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_weighing_x_net_weight_1" model="ir.model.fields">
<field name="name">x_net_weight_1</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Net Weight</field>
<field name="ttype">float</field>
<field name="compute">for record in self:record['x_net_weight_1'] = record.x_gross_weight-record.x_weight</field>
<field name="depends">x_gross_weight,x_weight</field>
</record>
<record id="new_integer_lot_seri_x_number_of_bags" model="ir.model.fields">
<field name="name">x_number_of_bags</field>
<field name="model_id" ref="stock.model_stock_lot"/>
<field name="field_description">Number Of Bag</field>
<field name="ttype">integer</field>
</record>
<record id="new_integer_product_x_number_of_bags" model="ir.model.fields">
<field name="name">x_number_of_bags</field>
<field name="model_id" ref="stock.model_stock_move_line"/>
<field name="field_description">Number of Bags</field>
<field name="ttype">integer</field>
</record>
<record id="new_integer_weighing_x_weighing_receipt_no" model="ir.model.fields">
<field name="name">x_weighing_receipt_no</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Weighing Receipt No.</field>
<field name="ttype">integer</field>
</record>
<record id="new_many2one_batch_t_x_weighing_scale" model="ir.model.fields">
<field name="name">x_weighing_scale</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Weighing Scale</field>
<field name="ttype">many2one</field>
<field name="relation">x_weighing_scale_maste</field>
</record>
<record id="new_many2one_purchase_x_broker" model="ir.model.fields">
<field name="name">x_broker</field>
<field name="model_id" ref="purchase.model_purchase_order"/>
<field name="field_description">Broker</field>
<field name="ttype">many2one</field>
<field name="relation">res.partner</field>
</record>
<record id="new_many2one_weighing_x_warehouse" model="ir.model.fields">
<field name="name">x_warehouse</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="field_description">Warehouse</field>
<field name="ttype">many2one</field>
<field name="relation">stock.warehouse</field>
</record>
<record id="new_many2one_weighin_x_weighing_bridge" model="ir.model.fields">
<field name="name">x_weighing_bridge</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Weighing Bridge</field>
<field name="ttype">many2one</field>
<field name="relation">x_weighing_scale_maste</field>
</record>
<record id="new_text_batch_trans_x_weighing_receipt_number" model="ir.model.fields">
<field name="name">x_weighing_receipt_number</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Weighing Receipt Number</field>
<field name="ttype">char</field>
</record>
<record id="new_text_batch_trans_x_driver_name" model="ir.model.fields">
<field name="name">x_driver_name</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Driver Name</field>
<field name="ttype">char</field>
</record>
<record id="new_text_batch_trans_x_truck_no" model="ir.model.fields">
<field name="name">x_truck_no</field>
<field name="model_id" ref="stock_picking_batch.model_stock_picking_batch"/>
<field name="field_description">Truck No.</field>
<field name="ttype">char</field>
</record>
<record id="new_text_weighing_x_truck_no" model="ir.model.fields">
<field name="name">x_truck_no</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Truck No.</field>
<field name="ttype">char</field>
</record>
<record id="new_text_weighing_sc_x_driver_name" model="ir.model.fields">
<field name="name">x_driver_name</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Driver Name</field>
<field name="ttype">char</field>
</record>
<record id="sequence_weighing_x_sequence" model="ir.model.fields">
<field name="name">x_sequence</field>
<field name="model_id" ref="model_weighing_scale_grn_details"/>
<field name="field_description">Sequence</field>
<field name="ttype">integer</field>
</record>
<record id="sequence_weighing_sc_x_sequence" model="ir.model.fields">
<field name="name">x_sequence</field>
<field name="model_id" ref="model_weighing_scale_master"/>
<field name="field_description">Sequence</field>
<field name="ttype">integer</field>
</record>
<record id="ir_model_fields_13141" model="ir.model.fields">
<field name="name">x_quality_check_id</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Quality Check</field>
<field name="ttype">many2one</field>
<field name="required" eval="True"/>
<field name="on_delete">cascade</field>
<field name="relation">quality.check</field>
</record>
<record id="ir_model_fields_13142" model="ir.model.fields">
<field name="name">x_comments</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Comments</field>
<field name="ttype">html</field>
</record>
<record id="ir_model_fields_13143" model="ir.model.fields">
<field name="name">x_passed</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Passed</field>
<field name="ttype">boolean</field>
</record>
<record id="ir_model_fields_13144" model="ir.model.fields">
<field name="name">x_name</field>
<field name="model_id" ref="model_worksheet_template_1"/>
<field name="field_description">Name</field>
<field name="ttype">char</field>
<field name="related">x_quality_check_id.name</field>
</record>
</odoo>