diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index 285d43f0..3233e674 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -6,8 +6,8 @@ import os
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
from odoo.modules import get_resource_path
-from OCC.Extend.DataExchange import read_step_file
-from OCC.Extend.DataExchange import write_stl_file
+# from OCC.Extend.DataExchange import read_step_file
+# from OCC.Extend.DataExchange import write_stl_file
class ResProductMo(models.Model):
diff --git a/sf_quality/__manifest__.py b/sf_quality/__manifest__.py
index 7f50a93d..c41e1a24 100644
--- a/sf_quality/__manifest__.py
+++ b/sf_quality/__manifest__.py
@@ -13,7 +13,7 @@
'author': 'jikimo',
'website': 'https://sf.cs.jikimo.com',
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
- 'depends': ['quality_control', 'sf_maintenance'],
+ 'depends': ['quality_control'],
'data': [
'security/ir.model.access.csv',
'views/view.xml'
diff --git a/sf_sale/models/auto_quatotion_common.py b/sf_sale/models/auto_quatotion_common.py
index 09ea3f0f..d1bdb65a 100644
--- a/sf_sale/models/auto_quatotion_common.py
+++ b/sf_sale/models/auto_quatotion_common.py
@@ -2,7 +2,7 @@
import logging
from odoo.modules import get_resource_path
from odoo import fields, models, api
-from quatotion import readSql, feature_recognize, auto_quatotion
+# from quatotion import readSql, feature_recognize, auto_quatotion
__author__ = 'jinling.yang'
_logger = logging.getLogger(__name__)
@@ -24,14 +24,14 @@ class AutoQuatotion(models.Model):
def get_process_time_db_path(self):
return get_resource_path('sf_sale', 'models', 'process_time.db')
- def get_auto_quatotion(self, stp_url, feature_full_path, process_time_db_path, model_code):
- '''
- 通过打包好的.so库,
- 以调用autoQuatotion库中Quatotion类,
- 初始化后调用类的analyseShape方法对模型文件进行价格预测
- '''
- # 初始化自动报价类(输入特征数据库和加工时间数据库)
- reader = auto_quatotion.Quatotion(feature_full_path, process_time_db_path)
- # 获取价格、加工时间、尺寸、XYZ、翻面次数
- feature_info = reader.analyseShape(stp_url, InfoJson={})
- return feature_info
+ # def get_auto_quatotion(self, stp_url, feature_full_path, process_time_db_path, model_code):
+ # '''
+ # 通过打包好的.so库,
+ # 以调用autoQuatotion库中Quatotion类,
+ # 初始化后调用类的analyseShape方法对模型文件进行价格预测
+ # '''
+ # # 初始化自动报价类(输入特征数据库和加工时间数据库)
+ # reader = auto_quatotion.Quatotion(feature_full_path, process_time_db_path)
+ # # 获取价格、加工时间、尺寸、XYZ、翻面次数
+ # feature_info = reader.analyseShape(stp_url, InfoJson={})
+ # return feature_info
diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py
index 1e5f274c..7419cc9a 100644
--- a/sf_sale/models/quick_easy_order.py
+++ b/sf_sale/models/quick_easy_order.py
@@ -5,8 +5,8 @@ import os
import json
from datetime import datetime
import requests
-from OCC.Extend.DataExchange import read_step_file
-from OCC.Extend.DataExchange import write_stl_file
+# from OCC.Extend.DataExchange import read_step_file
+# from OCC.Extend.DataExchange import write_stl_file
from odoo import models, fields, api
from odoo.modules import get_resource_path
from odoo.exceptions import ValidationError, UserError
diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py
index ec994fed..021543c0 100644
--- a/sf_sale/models/sale_order.py
+++ b/sf_sale/models/sale_order.py
@@ -1,6 +1,7 @@
import datetime
import base64
-from odoo import models, fields
+from odoo import models, fields, api
+from odoo.osv import expression
class ReSaleOrder(models.Model):
@@ -85,3 +86,16 @@ class RePurchaseOrder(models.Model):
def action_check(self):
self.check_status = 'checked'
+
+class ResPartnerToSale(models.Model):
+ _inherit = 'res.partner'
+
+ @api.model
+ def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
+ if self._context.get('is_customer'):
+ if self.env.user.has_group('sf_base.group_sale_director'):
+ domain = [('customer_rank', '=', 1)]
+ else:
+ domain = [('user_id', '=', self.env.user.id)]
+ return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
+ return super()._name_search(name, args, operator, limit, name_get_uid)
diff --git a/sf_sale/security/group_security.xml b/sf_sale/security/group_security.xml
index f40225e1..5afd8196 100644
--- a/sf_sale/security/group_security.xml
+++ b/sf_sale/security/group_security.xml
@@ -11,7 +11,7 @@
- 销售总监
+ 销售总监查看所有的订单
[(1,'=',1)]
@@ -20,20 +20,30 @@
-
-
-
-
-
-
-
-
+
+ 销售总监查看所有客户
+
+ [(1,'=',1),('customer_rank','=',1)]
+
+
+
+
+
+
+ 销售经理查看自己的客户
+
+ ['|',('user_id','=',user.id),('create_uid', '=',user.id)]
+
+
+
+
+
销售经理查看自己的订单
- ['|',('partner_id','=',user.partner_id.id),('create_uid', '=',user.id)]
+ [('user_id', '=',user.id)]
@@ -60,7 +70,7 @@
-
+
采购总监查看所有供应商
[(1,'=',1)]
diff --git a/sf_sale/security/ir.model.access.csv b/sf_sale/security/ir.model.access.csv
index 171a6d4d..a3548de9 100644
--- a/sf_sale/security/ir.model.access.csv
+++ b/sf_sale/security/ir.model.access.csv
@@ -8,6 +8,14 @@ access_sale_order_line_director,sale_order_line_director,model_sale_order_line,s
access_crm_team_member_manager,crm_team_manager,sales_team.model_crm_team,sf_base.group_sale_director,1,1,1,0
access_crm_team_member_director,crm_team_member_director,sales_team.model_crm_team_member,sf_base.group_sale_director,1,1,1,0
access_res_users,res_users,base.model_res_users,sf_base.group_sale_director,1,1,1,0
+access_product_template_group_sale_salemanager,product_template_group_sale_salemanager,product.model_product_template,sf_base.group_sale_salemanager,1,0,0,0
+access_product_template_group_sale_director,product_template_group_sale_director,product.model_product_template,sf_base.group_sale_director,1,0,0,0
+access_stock_picking_group_sale_salemanager,stock_picking_group_sale_salemanager,stock.model_stock_picking,sf_base.group_sale_salemanager,1,0,0,0
+access_stock_picking_group_sale_director,stock_picking_group_sale_director,stock.model_stock_picking,sf_base.group_sale_director,1,0,0,0
+access_account_move_group_sale_salemanager,account_move_group_sale_salemanager,account.model_account_move,sf_base.group_sale_salemanager,1,0,0,0
+access_account_move_group_sale_director,account_move_group_sale_director,account.model_account_move,sf_base.group_sale_director,1,0,0,0
+access_resource_resource_group_sale_director,resource_resource_group_sale_director,resource.model_resource_resource,sf_base.group_sale_director,1,1,1,0
+
diff --git a/sf_sale/views/sale_order_view.xml b/sf_sale/views/sale_order_view.xml
index 0abe7989..14ea5f0e 100644
--- a/sf_sale/views/sale_order_view.xml
+++ b/sf_sale/views/sale_order_view.xml
@@ -1,6 +1,16 @@
+
+
+
+
+
+
+
+
+
+
sale.order.form.inherit.sf
@@ -26,6 +36,10 @@
['draft'])]}
+
+
+