修复销售权限组
This commit is contained in:
@@ -6,8 +6,8 @@ import os
|
|||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
'author': 'jikimo',
|
'author': 'jikimo',
|
||||||
'website': 'https://sf.cs.jikimo.com',
|
'website': 'https://sf.cs.jikimo.com',
|
||||||
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
|
# 此处依赖sf_manufacturing是因为我要重写其中的一个字段operation_id的string,故需要sf_manufacturing先安装
|
||||||
'depends': ['quality_control', 'sf_maintenance'],
|
'depends': ['quality_control'],
|
||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'views/view.xml'
|
'views/view.xml'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo import fields, models, api
|
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'
|
__author__ = 'jinling.yang'
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
@@ -24,14 +24,14 @@ class AutoQuatotion(models.Model):
|
|||||||
def get_process_time_db_path(self):
|
def get_process_time_db_path(self):
|
||||||
return get_resource_path('sf_sale', 'models', 'process_time.db')
|
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):
|
# def get_auto_quatotion(self, stp_url, feature_full_path, process_time_db_path, model_code):
|
||||||
'''
|
# '''
|
||||||
通过打包好的.so库,
|
# 通过打包好的.so库,
|
||||||
以调用autoQuatotion库中Quatotion类,
|
# 以调用autoQuatotion库中Quatotion类,
|
||||||
初始化后调用类的analyseShape方法对模型文件进行价格预测
|
# 初始化后调用类的analyseShape方法对模型文件进行价格预测
|
||||||
'''
|
# '''
|
||||||
# 初始化自动报价类(输入特征数据库和加工时间数据库)
|
# # 初始化自动报价类(输入特征数据库和加工时间数据库)
|
||||||
reader = auto_quatotion.Quatotion(feature_full_path, process_time_db_path)
|
# reader = auto_quatotion.Quatotion(feature_full_path, process_time_db_path)
|
||||||
# 获取价格、加工时间、尺寸、XYZ、翻面次数
|
# # 获取价格、加工时间、尺寸、XYZ、翻面次数
|
||||||
feature_info = reader.analyseShape(stp_url, InfoJson={})
|
# feature_info = reader.analyseShape(stp_url, InfoJson={})
|
||||||
return feature_info
|
# return feature_info
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import os
|
|||||||
import json
|
import json
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import requests
|
import requests
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
# from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
# from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import datetime
|
import datetime
|
||||||
import base64
|
import base64
|
||||||
from odoo import models, fields
|
from odoo import models, fields, api
|
||||||
|
from odoo.osv import expression
|
||||||
|
|
||||||
|
|
||||||
class ReSaleOrder(models.Model):
|
class ReSaleOrder(models.Model):
|
||||||
@@ -85,3 +86,16 @@ class RePurchaseOrder(models.Model):
|
|||||||
def action_check(self):
|
def action_check(self):
|
||||||
self.check_status = 'checked'
|
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)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.rule" id="crm_team_rule_director">
|
<record model="ir.rule" id="crm_team_rule_director">
|
||||||
<field name="name">销售总监</field>
|
<field name="name">销售总监查看所有的订单</field>
|
||||||
<field name="model_id" ref="sales_team.model_crm_team"/>
|
<field name="model_id" ref="sales_team.model_crm_team"/>
|
||||||
<field name="domain_force">[(1,'=',1)]</field>
|
<field name="domain_force">[(1,'=',1)]</field>
|
||||||
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
|
||||||
@@ -20,20 +20,30 @@
|
|||||||
<field name="perm_create" eval="1"/>
|
<field name="perm_create" eval="1"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- <record model="ir.rule" id="sale_order_rule_director">-->
|
<record model="ir.rule" id="sale_customer_rule_director">
|
||||||
<!-- <field name="name">销售总监查看所有的订单</field>-->
|
<field name="name">销售总监查看所有客户</field>
|
||||||
<!-- <field name="model_id" ref="model_sale_order"/>-->
|
<field name="model_id" ref="base.model_res_partner"/>
|
||||||
<!-- <field name="domain_force">[(1,'=',1)]</field>-->
|
<field name="domain_force">[(1,'=',1),('customer_rank','=',1)]</field>
|
||||||
<!-- <field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>-->
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
|
||||||
<!-- <field name="perm_read" eval="1"/>-->
|
<field name="perm_read" eval="1"/>
|
||||||
<!-- <field name="perm_write" eval="1"/>-->
|
<field name="perm_write" eval="1"/>
|
||||||
<!-- </record>-->
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.rule" id="sale_customer_rule_my">
|
||||||
|
<field name="name">销售经理查看自己的客户</field>
|
||||||
|
<field name="model_id" ref="base.model_res_partner"/>
|
||||||
|
<field name="domain_force">['|',('user_id','=',user.id),('create_uid', '=',user.id)]</field>
|
||||||
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
|
||||||
|
<field name="perm_read" eval="1"/>
|
||||||
|
<field name="perm_write" eval="1"/>
|
||||||
|
<field name="perm_create" eval="1"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
|
||||||
<record model="ir.rule" id="sale_order_rule_salemanager">
|
<record model="ir.rule" id="sale_order_rule_salemanager">
|
||||||
<field name="name">销售经理查看自己的订单</field>
|
<field name="name">销售经理查看自己的订单</field>
|
||||||
<field name="model_id" ref="model_sale_order"/>
|
<field name="model_id" ref="model_sale_order"/>
|
||||||
<field name="domain_force">['|',('partner_id','=',user.partner_id.id),('create_uid', '=',user.id)]</field>
|
<field name="domain_force">[('user_id', '=',user.id)]</field>
|
||||||
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
|
||||||
<field name="perm_read" eval="1"/>
|
<field name="perm_read" eval="1"/>
|
||||||
<field name="perm_write" eval="1"/>
|
<field name="perm_write" eval="1"/>
|
||||||
@@ -60,7 +70,7 @@
|
|||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
<record model="ir.rule" id="purchase_supplier_rule_director">
|
<record model="ir.rule" id="purchase_supplier_rule_director">
|
||||||
<field name="name">采购总监查看所有供应商</field>
|
<field name="name">采购总监查看所有供应商</field>
|
||||||
<field name="model_id" ref="base.model_res_partner"/>
|
<field name="model_id" ref="base.model_res_partner"/>
|
||||||
<field name="domain_force">[(1,'=',1)]</field>
|
<field name="domain_force">[(1,'=',1)]</field>
|
||||||
|
|||||||
@@ -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_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_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_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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
|
@@ -1,6 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
<data>
|
||||||
|
<!-- <record model="ir.ui.view" id="view_sales_order_filter_inherit_sf">-->
|
||||||
|
<!-- <field name="name">sale.order.search.quotation.inherit.sf</field>-->
|
||||||
|
<!-- <field name="model">sale.order</field>-->
|
||||||
|
<!-- <field name="inherit_id" ref="sale.view_sales_order_filter"/>-->
|
||||||
|
<!-- <field name="arch" type="xml">-->
|
||||||
|
<!-- <filter name="my_sale_orders_filter" position="replace">-->
|
||||||
|
<!-- <filter string="我的报价1" name="my_sale_orders_filter" domain="[]"/>-->
|
||||||
|
<!-- </filter>-->
|
||||||
|
<!-- </field>-->
|
||||||
|
<!-- </record>-->
|
||||||
|
|
||||||
<record model="ir.ui.view" id="view_sale_order_form_inherit_sf">
|
<record model="ir.ui.view" id="view_sale_order_form_inherit_sf">
|
||||||
<field name="name">sale.order.form.inherit.sf</field>
|
<field name="name">sale.order.form.inherit.sf</field>
|
||||||
@@ -26,6 +36,10 @@
|
|||||||
['draft'])]}
|
['draft'])]}
|
||||||
</attribute>
|
</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<field name="partner_id" position="replace">
|
||||||
|
<field name="partner_id" widget="res_partner_many2one" context="{'is_customer': True }"
|
||||||
|
options='{"always_reload": True}'/>
|
||||||
|
</field>
|
||||||
<field name="payment_term_id" position="after">
|
<field name="payment_term_id" position="after">
|
||||||
<field name="deadline_of_delivery"/>
|
<field name="deadline_of_delivery"/>
|
||||||
<field name="payments_way"/>
|
<field name="payments_way"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user