diff --git a/sf_manufacturing/security/ir.model.access.csv b/sf_manufacturing/security/ir.model.access.csv
index a54f6bf5..a37960d7 100644
--- a/sf_manufacturing/security/ir.model.access.csv
+++ b/sf_manufacturing/security/ir.model.access.csv
@@ -1,32 +1,32 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_sf_cnc_processing,sf_cnc_processing,model_sf_cnc_processing,sf_base.group_sf_mrp_user,1,0,0,0
+access_sf_cnc_processing_group_sf_mrp_user,sf_cnc_processing,model_sf_cnc_processing,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_cnc_processing_manager,sf_cnc_processing,model_sf_cnc_processing,sf_base.group_sf_mrp_manager,1,1,1,0
-access_sf_cmm_program_group_sf_mrp_user,sf_cmm_program_group_sf_mrp_user,model_sf_cmm_program,sf_base.group_sf_mrp_user,1,0,0,0
+access_sf_cmm_program_group_sf_mrp_user_group_sf_mrp_user,sf_cmm_program_group_sf_mrp_user,model_sf_cmm_program,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_cmm_program_group_sf_mrp_manager,sf_cmm_program_group_sf_mrp_manager,model_sf_cmm_program,sf_base.group_sf_mrp_manager,1,0,0,0
-access_sf_model_type,sf_model_type,model_sf_model_type,sf_base.group_sf_mrp_user,1,0,0,0
+access_sf_model_type_group_sf_mrp_user,sf_model_type,model_sf_model_type,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_model_type_admin,sf_model_type_admin,model_sf_model_type,base.group_system,1,1,1,0
access_sf_model_type_manager,sf_model_type,model_sf_model_type,sf_base.group_sf_mrp_manager,1,1,1,0
access_sf_model_type_group_sale_director,sf_model_type_group_sale_director,model_sf_model_type,sf_base.group_sale_director,1,0,0,0
access_sf_model_type_group_purchase_director,sf_model_type_group_purchase_director,model_sf_model_type,sf_base.group_purchase_director,1,0,0,0
access_sf_model_type_group_plan_director,sf_model_type_group_plan_director,model_sf_model_type,sf_base.group_plan_director,1,0,0,0
-access_sf_product_model_type_routing_sort,sf_product_model_type_routing_sort,model_sf_product_model_type_routing_sort,sf_base.group_sf_mrp_user,1,0,0,0
+access_sf_product_model_type_routing_sort_group_sf_mrp_user,sf_product_model_type_routing_sort,model_sf_product_model_type_routing_sort,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_product_model_type_routing_sort_manager,sf_product_model_type_routing_sort,model_sf_product_model_type_routing_sort,sf_base.group_sf_mrp_manager,1,1,1,0
-access_sf_embryo_model_type_routing_sort,sf_embryo_model_type_routing_sort,model_sf_embryo_model_type_routing_sort,sf_base.group_sf_mrp_user,1,0,0,0
+access_sf_embryo_model_type_routing_sort_group_sf_mrp_user,sf_embryo_model_type_routing_sort,model_sf_embryo_model_type_routing_sort,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_embryo_model_type_routing_sort_manager,sf_embryo_model_type_routing_sort,model_sf_embryo_model_type_routing_sort,sf_base.group_sf_mrp_manager,1,1,1,0
access_sf_surface_technics_model_type_routing_sort,sf_surface_technics_model_type_routing_sort,model_sf_surface_technics_model_type_routing_sort,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_surface_technics_model_type_routing_sort_manager,sf_surface_technics_model_type_routing_sort,model_sf_surface_technics_model_type_routing_sort,sf_base.group_sf_mrp_manager,1,1,1,0
-access_sf_production_line,sf.production.line,model_sf_production_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_sf_production_line_group_sf_mrp_user,sf.production.line,model_sf_production_line,sf_base.group_sf_mrp_user,1,1,1,0
access_sf_production_line_manager,sf.production.line,model_sf_production_line,sf_base.group_sf_mrp_manager,1,1,1,0
-access_maintenance_equipment_tool,maintenance_equipment_tool,model_maintenance_equipment_tool,sf_base.group_sf_mrp_user,1,0,0,0
+access_maintenance_equipment_tool_group_sf_mrp_user,maintenance_equipment_tool,model_maintenance_equipment_tool,sf_base.group_sf_mrp_user,1,0,0,0
access_maintenance_equipment_tool_manager,maintenance_equipment_tool,model_maintenance_equipment_tool,sf_base.group_sf_mrp_manager,1,1,1,0
access_maintenance_equipment_tool_equipment_manager,maintenance_equipment_tool,model_maintenance_equipment_tool,sf_maintenance.sf_group_equipment_user,1,1,1,0
-access_mrp_production,mrp_production,model_mrp_production,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_production_group_sf_mrp_user,mrp_production,model_mrp_production,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_production_manager,mrp_production,model_mrp_production,sf_base.group_sf_mrp_manager,1,1,1,0
-access_mrp_workorder,mrp_workorder,model_mrp_workorder,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workorder_group_sf_mrp_user,mrp_workorder,model_mrp_workorder,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_workorder_manager,mrp_workorder,model_mrp_workorder,sf_base.group_sf_mrp_manager,1,1,1,0
-access_mrp_workcenter,mrp_workcenter,model_mrp_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workcenter_group_sf_mrp_user,mrp_workcenter,model_mrp_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_workcenter_manager,mrp_workcenter,model_mrp_workcenter,sf_base.group_sf_mrp_manager,1,1,1,0
-access_mrp_workcenter_productivity,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workcenter_productivity_group_sf_mrp_user,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_workcenter_productivity_manager,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_manager,1,1,1,0
access_sf_workpiece_delivery_group_sf_order_user,sf_workpiece_delivery_group_sf_order_user,model_sf_workpiece_delivery,sf_base.group_sf_order_user,1,1,0,0
access_sf_workpiece_delivery_group_sf_equipment_user,sf_workpiece_delivery_group_sf_equipment_user,model_sf_workpiece_delivery,sf_base.group_sf_equipment_user,1,1,0,0
@@ -34,73 +34,72 @@ access_sf_workpiece_delivery_group_sf_equipment_user,sf_workpiece_delivery_group
access_sf_workpiece_delivery_manager,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_manager,1,1,0,0
access_sf_workpiece_delivery_admin,sf_workpiece_delivery_admin,model_sf_workpiece_delivery,base.group_system,1,1,1,0
access_sf_workpiece_delivery_wizard_group_sf_order_user,sf_workpiece_delivery_wizard_group_sf_order_user,model_sf_workpiece_delivery_wizard,sf_base.group_sf_order_user,1,1,1,0
-access_mrp_workcenter_productivity_loss_manager,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workcenter_productivity_loss,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_workcenter_productivity_loss_type,mrp.workcenter.productivity.loss.type,mrp.model_mrp_workcenter_productivity_loss_type,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_workcenter_productivity,mrp.workcenter.productivity,mrp.model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workcenter,mrp.workcenter,mrp.model_mrp_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_routing_workcenter,mrp.routing.workcenter,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_bom,mrp.bom,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_bom_line,mrp.bom.line,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_bom_byproduct_user,mrp.bom.byproduct,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_production,mrp.production user,mrp.model_mrp_production,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workcenter_manager,mrp.workcenter.manager,mrp.model_mrp_workcenter,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_routing_workcenter_manager,mrp.routing.workcenter.manager,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_bom_manager,mrp.bom.manager,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_bom_line_manager,mrp.bom.line.manager,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_productivity_loss_manager_group_sf_mrp_user,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_productivity_loss_group_sf_mrp_user,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workcenter_productivity_loss_type_group_sf_mrp_user,mrp.workcenter.productivity.loss.type,mrp.model_mrp_workcenter_productivity_loss_type,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workcenter_productivity_group_sf_mrp_user,mrp.workcenter.productivity,mrp.model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_group_sf_mrp_user,mrp.workcenter,mrp.model_mrp_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_routing_workcenter_group_sf_mrp_user,mrp.routing.workcenter,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_bom_group_sf_mrp_user,mrp.bom,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_bom_line_group_sf_mrp_user,mrp.bom.line,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_bom_byproduct_user_group_sf_mrp_user,mrp.bom.byproduct,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_production_group_sf_mrp_user,mrp.production user,mrp.model_mrp_production,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_manager_group_sf_mrp_user,mrp.workcenter.manager,mrp.model_mrp_workcenter,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_routing_workcenter_manager_group_sf_mrp_user,mrp.routing.workcenter.manager,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_bom_manager_group_sf_mrp_user,mrp.bom.manager,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_bom_line_manager_group_sf_mrp_user,mrp.bom.line.manager,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_bom_line_group_plan_director,mrp_bom_line_group_plan_director,mrp.model_mrp_bom_line,sf_base.group_plan_director,1,1,1,0
access_mrp_bom_line_group_sale_director,mrp_bom_line_group_sale_director,mrp.model_mrp_bom_line,sf_base.group_sale_director,1,1,1,0
access_mrp_bom_line_group_purchase_director,mrp_bom_line_group_purchase_director,mrp.model_mrp_bom_line,sf_base.group_purchase_director,1,1,1,0
-access_mrp_bom_byproduct_manager,mrp.bom.byproduct manager,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_bom_byproduct_manager_group_sf_mrp_user,mrp.bom.byproduct manager,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_production_stock_worker,mrp.production stock_worker,mrp.model_mrp_production,stock.group_stock_user,1,0,0,0
-access_product_product_user,product.product user,product.model_product_product,sf_base.group_sf_mrp_user,1,0,0,0
-access_product_template_user,product.template user,product.model_product_template,sf_base.group_sf_mrp_user,1,0,0,0
-access_uom_uom_user,uom.uom user,uom.model_uom_uom,sf_base.group_sf_mrp_user,1,0,0,0
-access_product_supplierinfo_user,product.supplierinfo user,product.model_product_supplierinfo,sf_base.group_sf_mrp_user,1,0,0,0
-access_res_partner,res.partner,base.model_res_partner,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_workorder_mrp_user,mrp.workorder.user,mrp.model_mrp_workorder,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workorder_mrp_manager,mrp.workorder,mrp.model_mrp_workorder,sf_base.group_sf_mrp_user,1,1,1,0
-access_resource_calendar_leaves_user,mrp.resource.calendar.leaves.user,resource.model_resource_calendar_leaves,sf_base.group_sf_mrp_user,1,1,1,0
-access_resource_calendar_leaves_manager,mrp.resource.calendar.leaves.manager,resource.model_resource_calendar_leaves,sf_base.group_sf_mrp_user,1,0,0,0
-access_resource_calendar_attendance_mrp_user,mrp.resource.calendar.attendance.mrp.user,resource.model_resource_calendar_attendance,sf_base.group_sf_mrp_user,1,1,1,0
-access_resource_calendar_attendance_manager,mrp.resource.calendar.attendance.manager,resource.model_resource_calendar_attendance,sf_base.group_sf_mrp_user,1,1,1,0
-access_uom_category,uom.category,uom.model_uom_category,sf_base.group_sf_mrp_user,1,0,0,0
-access_resource_resource,resource.resource,resource.model_resource_resource,sf_base.group_sf_mrp_user,1,0,0,0
-access_resource_resource_manager,resource.resource.manager,resource.model_resource_resource,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_supplierinfo_manager,product.supplierinfo user,product.model_product_supplierinfo,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_production_manager,mrp.production manager,mrp.model_mrp_production,sf_base.group_sf_mrp_user,1,0,0,0
+access_product_product_user_group_sf_mrp_user,product.product user,product.model_product_product,sf_base.group_sf_mrp_user,1,0,0,0
+access_product_template_user_group_sf_mrp_user,product.template user,product.model_product_template,sf_base.group_sf_mrp_user,1,0,0,0
+access_uom_uom_user,uom.uom user_group_sf_mrp_user,uom.model_uom_uom,sf_base.group_sf_mrp_user,1,0,0,0
+access_product_supplierinfo_user_group_sf_mrp_user,product.supplierinfo user,product.model_product_supplierinfo,sf_base.group_sf_mrp_user,1,0,0,0
+access_res_partner_group_sf_mrp_user,res.partner,base.model_res_partner,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_workorder_mrp_user_group_sf_mrp_user,mrp.workorder.user,mrp.model_mrp_workorder,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workorder_mrp_manager_group_sf_mrp_user,mrp.workorder,mrp.model_mrp_workorder,sf_base.group_sf_mrp_user,1,1,1,0
+access_resource_calendar_leaves_user_group_sf_mrp_user,mrp.resource.calendar.leaves.user,resource.model_resource_calendar_leaves,sf_base.group_sf_mrp_user,1,1,1,0
+access_resource_calendar_leaves_manager_group_sf_mrp_user,mrp.resource.calendar.leaves.manager,resource.model_resource_calendar_leaves,sf_base.group_sf_mrp_user,1,0,0,0
+access_resource_calendar_attendance_mrp_user_group_sf_mrp_user,mrp.resource.calendar.attendance.mrp.user,resource.model_resource_calendar_attendance,sf_base.group_sf_mrp_user,1,1,1,0
+access_resource_calendar_attendance_manager_group_sf_mrp_user,mrp.resource.calendar.attendance.manager,resource.model_resource_calendar_attendance,sf_base.group_sf_mrp_user,1,1,1,0
+access_uom_category_group_sf_mrp_user,uom.category,uom.model_uom_category,sf_base.group_sf_mrp_user,1,0,0,0
+access_resource_resource_group_sf_mrp_user,resource.resource,resource.model_resource_resource,sf_base.group_sf_mrp_user,1,0,0,0
+access_resource_resource_manager_group_sf_mrp_user,resource.resource.manager,resource.model_resource_resource,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_supplierinfo_manager_group_sf_mrp_user,product.supplierinfo user,product.model_product_supplierinfo,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_production_manager_group_sf_mrp_user,mrp.production manager,mrp.model_mrp_production,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_bom_stockuser,mrp.bom,mrp.model_mrp_bom,stock.group_stock_user,1,0,0,0
access_mrp_bom_line_stockuser,mrp.bom.line,mrp.model_mrp_bom_line,stock.group_stock_user,1,0,0,0
-access_uom_category_mrp_manager,uom.category mrp_manager,uom.model_uom_category,sf_base.group_sf_mrp_user,1,1,1,0
-access_uom_uom_mrp_manager,uom.uom mrp_manager,uom.model_uom_uom,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_category_mrp_manager,product.category mrp_manager,product.model_product_category,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_template_mrp_manager,product.template mrp_manager,product.model_product_template,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_product_mrp_manager,product.product mrp_manager,product.model_product_product,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_packaging_mrp_manager,product.packaging mrp_manager,product.model_product_packaging,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_pricelist_mrp_manager,product.pricelist mrp_manager,product.model_product_pricelist,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_group_res_partner_mrp_manager,res_partner sf_base.group_sf_mrp_manager,base.model_res_partner,sf_base.group_sf_mrp_user,1,1,1,0
-access_product_pricelist_item_mrp_manager,product.pricelist.item mrp_manager,product.model_product_pricelist_item,sf_base.group_sf_mrp_user,1,1,1,0
+access_uom_category_mrp_manager_group_sf_mrp_user,uom.category mrp_manager,uom.model_uom_category,sf_base.group_sf_mrp_user,1,1,1,0
+access_uom_uom_mrp_manager_group_sf_mrp_user,uom.uom mrp_manager,uom.model_uom_uom,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_category_mrp_manager_group_sf_mrp_user,product.category mrp_manager,product.model_product_category,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_template_mrp_manager_group_sf_mrp_user,product.template mrp_manager,product.model_product_template,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_product_mrp_manager_group_sf_mrp_user,product.product mrp_manager,product.model_product_product,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_packaging_mrp_manager_group_sf_mrp_user,product.packaging mrp_manager,product.model_product_packaging,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_pricelist_mrp_manager_group_sf_mrp_user,product.pricelist mrp_manager,product.model_product_pricelist,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_group_res_partner_mrp_manager_group_sf_mrp_user,res_partner sf_base.group_sf_mrp_manager,base.model_res_partner,sf_base.group_sf_mrp_user,1,1,1,0
+access_product_pricelist_item_mrp_manager_group_sf_mrp_user,product.pricelist.item mrp_manager,product.model_product_pricelist_item,sf_base.group_sf_mrp_user,1,1,1,0
access_product_tag_mrp_manager,product.tag.mrp.manager,product.model_product_tag,sf_base.group_sf_mrp_manager,1,1,1,0
-access_resource_calendar_manufacturinguser,resource.calendar manufacturing.user,resource.model_resource_calendar,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_unbuild,mrp.unbuild,mrp.model_mrp_unbuild,sf_base.group_sf_mrp_user,1,1,1,0
+access_resource_calendar_manufacturinguser_group_sf_mrp_user,resource.calendar manufacturing.user,resource.model_resource_calendar,sf_base.group_sf_mrp_user,1,0,0,0
+access_mrp_unbuild_group_sf_mrp_user,mrp.unbuild,mrp.model_mrp_unbuild,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_unbuild_manager,mrp.unbuild manager,mrp.model_mrp_unbuild,sf_base.group_sf_mrp_manager,1,1,1,0
access_mrp_document_mrp_manager,mrp.document group_user,mrp.model_mrp_document,sf_base.group_sf_mrp_manager,1,1,1,0
-access_mrp_document_mrp_user,mrp.document group_user,mrp.model_mrp_document,sf_base.group_sf_mrp_user,1,1,1,0
-access_change_production_qty,access.change.production.qty,mrp.model_change_production_qty,sf_base.group_sf_mrp_user,1,1,1,0
-access_stock_warn_insufficient_qty_unbuild,access.stock.warn.insufficient.qty.unbuild,mrp.model_stock_warn_insufficient_qty_unbuild,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_production_backorder,access.mrp.production.backorder,mrp.model_mrp_production_backorder,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_production_backorder_line,access.mrp.production.backorder.line,mrp.model_mrp_production_backorder_line,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_consumption_warning,access.mrp.consumption.warning,mrp.model_mrp_consumption_warning,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_consumption_warning_line,access.mrp.consumption.warning.line,mrp.model_mrp_consumption_warning_line,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_immediate_production,access.mrp.immediate.production,mrp.model_mrp_immediate_production,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_immediate_production_line,access.mrp.immediate.production.line,mrp.model_mrp_immediate_production_line,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workcenter_tag_group_user,access.mrp.workcenter.tag,mrp.model_mrp_workcenter_tag,sf_base.group_sf_mrp_user,1,0,0,0
-access_mrp_workcenter_tag_manager,access.mrp.workcenter.tag,mrp.model_mrp_workcenter_tag,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_production_split_multi,access.mrp.production.split.multi,mrp.model_mrp_production_split_multi,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_production_split,access.mrp.production.split,mrp.model_mrp_production_split,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_production_split_line,access.mrp.production.split.line,mrp.model_mrp_production_split_line,sf_base.group_sf_mrp_user,1,1,1,0
-access_mrp_workcenter_capacity_manager,mrp.workcenter.capacity.manager,mrp.model_mrp_workcenter_capacity,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_document_mrp_user_group_sf_mrp_user,mrp.document group_user,mrp.model_mrp_document,sf_base.group_sf_mrp_user,1,1,1,0
+access_change_production_qty_group_sf_mrp_user,access.change.production.qty,mrp.model_change_production_qty,sf_base.group_sf_mrp_user,1,1,1,0
+access_stock_warn_insufficient_qty_unbuild_group_sf_mrp_user,access.stock.warn.insufficient.qty.unbuild,mrp.model_stock_warn_insufficient_qty_unbuild,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_production_backorder_group_sf_mrp_user,access.mrp.production.backorder,mrp.model_mrp_production_backorder,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_production_backorder_line_group_sf_mrp_user,access.mrp.production.backorder.line,mrp.model_mrp_production_backorder_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_consumption_warning_group_sf_mrp_user,access.mrp.consumption.warning,mrp.model_mrp_consumption_warning,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_consumption_warning_line_group_sf_mrp_user,access.mrp.consumption.warning.line,mrp.model_mrp_consumption_warning_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_immediate_production_group_sf_mrp_user,access.mrp.immediate.production,mrp.model_mrp_immediate_production,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_immediate_production_line_group_sf_mrp_user,access.mrp.immediate.production.line,mrp.model_mrp_immediate_production_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_tag_manager_group_sf_mrp_user,access.mrp.workcenter.tag,mrp.model_mrp_workcenter_tag,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_production_split_multi_group_sf_mrp_user,access.mrp.production.split.multi,mrp.model_mrp_production_split_multi,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_production_split_group_sf_mrp_user,access.mrp.production.split,mrp.model_mrp_production_split,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_production_split_line_group_sf_mrp_user,access.mrp.production.split.line,mrp.model_mrp_production_split_line,sf_base.group_sf_mrp_user,1,1,1,0
+access_mrp_workcenter_capacity_manager_group_sf_mrp_user,mrp.workcenter.capacity.manager,mrp.model_mrp_workcenter_capacity,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_production_group_plan_dispatch,mrp_production,model_mrp_production,sf_base.group_plan_dispatch,1,0,0,0
From 33dc25f400bebeb710528cb1d2d3b3f165c494f0 Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Mon, 4 Mar 2024 09:18:12 +0800
Subject: [PATCH 04/20] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B4=A8=E9=87=8F?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BF=BB=E8=AF=91=EF=BC=8C=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=BF=85=E5=A1=AB=E6=A0=87=E8=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_quality/__manifest__.py | 2 +-
sf_quality/views/view.xml | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/sf_quality/__manifest__.py b/sf_quality/__manifest__.py
index cec1a0f9..c41e1a24 100644
--- a/sf_quality/__manifest__.py
+++ b/sf_quality/__manifest__.py
@@ -16,7 +16,7 @@
'depends': ['quality_control'],
'data': [
'security/ir.model.access.csv',
- # 'views/view.xml'
+ 'views/view.xml'
],
'assets': {
diff --git a/sf_quality/views/view.xml b/sf_quality/views/view.xml
index ab4208ed..fcbfe71c 100644
--- a/sf_quality/views/view.xml
+++ b/sf_quality/views/view.xml
@@ -6,6 +6,8 @@
quality.alert
+
+
@@ -44,6 +46,26 @@
groups="sf_base.group_quality_director"
class="oe_highlight"/>
+
+
+
+
+ custom_required
+
+
+
+
+
+ sf.quality.point.form.inherit.sf
+ quality.point
+
+
+
+ custom_required
+
+
+ custom_required
+
From b7be5251b8a27d952823b5fcb7b31378566ecb5c Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Mon, 4 Mar 2024 09:45:19 +0800
Subject: [PATCH 05/20] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=87=87=E8=B4=AD?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=8C=89=E9=92=AE=E5=B1=95=E7=A4=BA=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_manufacturing/security/ir.model.access.csv | 2 ++
sf_sale/views/purchase_order_view.xml | 30 ++++++++++++-------
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/sf_manufacturing/security/ir.model.access.csv b/sf_manufacturing/security/ir.model.access.csv
index c3fceb02..632b6030 100644
--- a/sf_manufacturing/security/ir.model.access.csv
+++ b/sf_manufacturing/security/ir.model.access.csv
@@ -126,3 +126,5 @@ access_sf_cmm_program_group_plan_dispatch,sf_cmm_program_group_plan_dispatch,mod
access_mrp_workcenter_productivity,mrp.workcenter.productivity,mrp.model_mrp_workcenter_productivity,sf_base.group_plan_dispatch,1,0,0,0
access_maintenance_equipment_tool_group_plan_dispatch,maintenance.equipment.tool,sf_manufacturing.model_maintenance_equipment_tool,sf_base.group_plan_dispatch,1,0,0,0
+
+access_sf_workpiece_delivery_group_plan_dispatch,sf.workpiece.delivery,sf_manufacturing.model_sf_workpiece_delivery,sf_base.group_plan_dispatch,1,0,0,0
\ No newline at end of file
diff --git a/sf_sale/views/purchase_order_view.xml b/sf_sale/views/purchase_order_view.xml
index 844d9c92..30883841 100644
--- a/sf_sale/views/purchase_order_view.xml
+++ b/sf_sale/views/purchase_order_view.xml
@@ -23,21 +23,24 @@
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -48,9 +51,14 @@
sf_base.group_purchase,sf_base.group_purchase_director
-
-
-
+
+
+
+
+
+
+
+
From 6cbc21cc4ebed35bceb92fb8cbdc61f2480a39ef Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Mon, 4 Mar 2024 10:58:39 +0800
Subject: [PATCH 06/20] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=BF=85=E5=A1=AB?=
=?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E7=BB=84=E6=8E=A7?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_quality/views/view.xml | 10 ++++++++--
sf_sale/views/purchase_order_view.xml | 20 +++++++++++++++++---
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/sf_quality/views/view.xml b/sf_quality/views/view.xml
index fcbfe71c..1159a8d0 100644
--- a/sf_quality/views/view.xml
+++ b/sf_quality/views/view.xml
@@ -46,11 +46,16 @@
groups="sf_base.group_quality_director"
class="oe_highlight"/>
-
-
+
+
+
+
+ custom_required
+ 1
custom_required
+ 1
@@ -62,6 +67,7 @@
custom_required
+
custom_required
diff --git a/sf_sale/views/purchase_order_view.xml b/sf_sale/views/purchase_order_view.xml
index 30883841..7e929fe4 100644
--- a/sf_sale/views/purchase_order_view.xml
+++ b/sf_sale/views/purchase_order_view.xml
@@ -55,9 +55,12 @@
-
-
-
+
+ sf_base.group_purchase,sf_base.group_purchase_director
+
+
+ sf_base.group_purchase,sf_base.group_purchase_director
+
@@ -122,6 +125,17 @@
+
+ purchase.stock.order.tree.inherit.sf
+ purchase.order
+
+
+
+ sf_base.group_purchase,sf_base.group_purchase_director
+
+
+
+
purchase.stock.order.form.inherit.sf
From 98103bac73cb12f0355b6b3208e546ac21a87e42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=84=E7=84=B1?=
Date: Mon, 4 Mar 2024 11:21:50 +0800
Subject: [PATCH 07/20] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BF=85=E5=A1=AB?=
=?UTF-8?q?=E6=A0=87=E8=AF=86js=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B9=8B?=
=?UTF-8?q?=E5=89=8D=E5=BF=85=E5=A1=AB=E6=A0=87=E8=AF=86=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jikimo_frontend/static/src/js/custom_form_status_indicator.js | 2 +-
jikimo_frontend/static/src/scss/custom_style.scss | 4 ++--
sf_maintenance/views/maintenance_views.xml | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/jikimo_frontend/static/src/js/custom_form_status_indicator.js b/jikimo_frontend/static/src/js/custom_form_status_indicator.js
index 33405fc3..9825eeec 100644
--- a/jikimo_frontend/static/src/js/custom_form_status_indicator.js
+++ b/jikimo_frontend/static/src/js/custom_form_status_indicator.js
@@ -133,7 +133,7 @@ $(function () {
var currentUrl = location.href
const customRequiredDom = {
- label: ['label[for=production_line_id]','label[for=date_approve]','label[for=partner_id]', 'label[for=validity_date]', '.o_horizontal[role=radiogroup]', 'label[for=vat]', 'label[for=phone]', 'label[for=mobile]', 'label[for=email]', 'label[for=category_id]','label[for=date_order]','label[for=picking_type_id]'],
+ label: ['label[for=production_line_id]','label[for=date_approve]','label[for=partner_id]', 'label[for=validity_date]', '.o_horizontal[role=radiogroup][aria-label="公司类别"]', 'label[for=vat]', 'label[for=phone]', 'label[for=mobile]', 'label[for=email]', 'label[for=category_id]','label[for=date_order]','label[for=picking_type_id]'],
table: ['product_template_id', 'product_uom_qty', 'price_unit','product_id','product_qty']
}
const listenerUrl = setInterval(() => {
diff --git a/jikimo_frontend/static/src/scss/custom_style.scss b/jikimo_frontend/static/src/scss/custom_style.scss
index 12e18c1c..a1605194 100644
--- a/jikimo_frontend/static/src/scss/custom_style.scss
+++ b/jikimo_frontend/static/src/scss/custom_style.scss
@@ -13,7 +13,7 @@ div:has(.o_required_modifier) > label::before {
color: red !important;
padding: 0 4px !important;
vertical-align: top !important;
- font-size: 1.5rem !important;
+ font-size: unset !important;
}
.my-image div {
@@ -325,7 +325,7 @@ div[class="o_content o_component_with_search_panel"] .show_state span {
div:has(.o_required_modifier) > label::before {
position: absolute;
- left: -3px;
+ left: 24px;
}
//.o_form_view .o_form_label {
diff --git a/sf_maintenance/views/maintenance_views.xml b/sf_maintenance/views/maintenance_views.xml
index b8ba0d7e..b6cc3cbb 100644
--- a/sf_maintenance/views/maintenance_views.xml
+++ b/sf_maintenance/views/maintenance_views.xml
@@ -74,8 +74,8 @@
-
-
+
+
Date: Mon, 4 Mar 2024 11:52:04 +0800
Subject: [PATCH 08/20] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jikimo_frontend/__manifest__.py | 2 +-
sf_manufacturing/views/mrp_production_addional_change.xml | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/jikimo_frontend/__manifest__.py b/jikimo_frontend/__manifest__.py
index 2711118a..65a11379 100644
--- a/jikimo_frontend/__manifest__.py
+++ b/jikimo_frontend/__manifest__.py
@@ -36,7 +36,7 @@
# 'jikimo_frontend/static/src/list/custom_import.js',
# 'jikimo_frontend/static/src/list/custom_width.js',
'jikimo_frontend/static/src/views/list_nums/extent_purchase.xml',
- # 'jikimo_frontend/static/src/css/list_border_styles.css',
+ 'jikimo_frontend/static/src/css/list_border_styles.css',
],
diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml
index b7e35f7b..cca86f6e 100644
--- a/sf_manufacturing/views/mrp_production_addional_change.xml
+++ b/sf_manufacturing/views/mrp_production_addional_change.xml
@@ -275,10 +275,10 @@
- =======
-
+
+
+
+
@@ -239,15 +243,15 @@
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
options="{'format': false}"/>
-
-
-
-
diff --git a/sf_maintenance/models/sf_maintenance.py b/sf_maintenance/models/sf_maintenance.py
index d0ce2498..5b0db796 100644
--- a/sf_maintenance/models/sf_maintenance.py
+++ b/sf_maintenance/models/sf_maintenance.py
@@ -47,7 +47,7 @@ class SfMaintenanceEquipment(models.Model):
default="", string="轴数")
# 1212新增字段
- a_axis = fields.Integer('a轴')
+
function_type = fields.Selection(
[("ZXJGZX", "钻铣加工中心"), ("CXJGZX", "车削加工中心"), ("FHJGZX", "复合加工中心")],
default="", string="功能类型")
@@ -73,23 +73,23 @@ class SfMaintenanceEquipment(models.Model):
straight_cutting_feed_rate = fields.Char('直线切削进给速度(mm/min)')
rotary_cutting_feed_rate = fields.Char('回转切削进给速度(mm/min)')
- X_precision = fields.Float('X轴定位精度(mm)', digits=(12, 3))
- X_precision_repeat = fields.Float('X轴重复定位精度(mm)', digits=(12, 3))
- Y_precision = fields.Float('Y轴定位精度(mm)', digits=(12, 3))
- Y_precision_repeat = fields.Float('Y轴重复定位精度(mm)', digits=(12, 3))
- Z_precision = fields.Float('Z轴定位精度(mm)', digits=(12, 3))
- Z_precision_repeat = fields.Float('Z轴重复定位精度(mm)', digits=(12, 3))
- a_precision = fields.Float('a轴定位精度(mm)', digits=(12, 3))
- a_precision_repeat = fields.Float('a轴重复定位精度(mm)', digits=(12, 3))
- b_precision = fields.Float('b轴定位精度(mm)', digits=(12, 3))
- b_precision_repeat = fields.Float('b轴重复定位精度(mm)', digits=(12, 3))
- c_precision = fields.Float('c轴定位精度(mm)', digits=(12, 3))
- c_precision_repeat = fields.Float('c轴重复定位精度(mm)', digits=(12, 3))
+ X_precision = fields.Char('X轴定位精度(mm)')
+ X_precision_repeat = fields.Char('X轴重复定位精度(mm)')
+ Y_precision = fields.Char('Y轴定位精度(mm)')
+ Y_precision_repeat = fields.Char('Y轴重复定位精度(mm)')
+ Z_precision = fields.Char('Z轴定位精度(mm)')
+ Z_precision_repeat = fields.Char('Z轴重复定位精度(mm)')
+ a_precision = fields.Char('a轴定位精度(mm)')
+ a_precision_repeat = fields.Char('a轴重复定位精度(mm)')
+ b_precision = fields.Char('b轴定位精度(mm)')
+ b_precision_repeat = fields.Char('b轴重复定位精度(mm)')
+ c_precision = fields.Char('c轴定位精度(mm)')
+ c_precision_repeat = fields.Char('c轴重复定位精度(mm)')
tool_full_diameter_max = fields.Float('刀具满刀最大直径(mm)')
tool_perimeter_diameter_max = fields.Float('刀具邻空刀最大直径(mm)')
- T_tool_time = fields.Integer('T-T换刀时间(s)')
- C_tool_time = fields.Integer('C-C换刀时间(s)')
+ T_tool_time = fields.Float('T-T换刀时间(s)', digits=(12, 1))
+ C_tool_time = fields.Float('C-C换刀时间(s)', digits=(12, 1))
# 待删除字段
precision_min = fields.Float('X轴定位精度min(mm)', digits=(12, 3))
@@ -164,11 +164,12 @@ class SfMaintenanceEquipment(models.Model):
number_of_knife_library = fields.Integer('刀库数量(把)')
rotate_speed = fields.Integer('转速')
# 加工进程
+ a_axis = fields.Char('a轴')
x_axis = fields.Integer('X轴')
y_axis = fields.Integer('Y轴')
z_axis = fields.Integer('Z轴')
- b_axis = fields.Integer('B轴')
- c_axis = fields.Integer('C轴')
+ b_axis = fields.Char('B轴')
+ c_axis = fields.Char('C轴')
remark = fields.Char('备注')
is_binding = fields.Boolean('是否绑定机床', default=False)
control_system_id = fields.Many2one('sf.machine.control_system',
@@ -191,6 +192,7 @@ class SfMaintenanceEquipment(models.Model):
workpiece_load = fields.Char('工件最大负载(kg)')
workbench_L = fields.Char('工作台长度(mm)')
workbench_W = fields.Char('工作台宽度(mm)')
+ workbench_H = fields.Char('工作台高度(mm)')
machine_tool_L = fields.Char('机床长度(mm)')
machine_tool_W = fields.Char('机床宽度(mm)')
machine_tool_H = fields.Char('机床高度(mm)')
@@ -518,6 +520,7 @@ class SfMaintenanceEquipment(models.Model):
'lead_screw': item.lead_screw,
'workbench_L': item.workbench_L,
'workbench_W': item.workbench_W,
+ 'workbench_H': item.workbench_H,
'guide_rail': item.guide_rail,
'machine_tool_L': item.machine_tool_L,
'machine_tool_W': item.machine_tool_W,
diff --git a/sf_maintenance/views/maintenance_views.xml b/sf_maintenance/views/maintenance_views.xml
index b6cc3cbb..140456df 100644
--- a/sf_maintenance/views/maintenance_views.xml
+++ b/sf_maintenance/views/maintenance_views.xml
@@ -85,6 +85,11 @@
+
+
+