1.强制必填字段

(1)【客户名称】、【税ID】、【Email】、【销售员】、【标签】为强制必填
(2)【电话】、【手机】两个字段控制为二选一强制必填
2.客户校验规则:
(1)【客户名称】+【税ID】两个字段分别与已经创建客户的档案信息进行校验,任意一项100%吻合则不允许创建客户
3.强制必填字段
(1)【名称】、【Email】、【销售员】为强制必填
(2)【电话】、【手机】两个字段控制为二选一强制必填
4.个人校验规则:
(1)【名称】+【Email】两个字段分别与已经创建客户的档案信息进行校验,两项一起100%吻合则不允许创建个人
5.下拉仅显示销售人员的账户用户名(非相关用户及姓名不显示),字段为强制必填
(1)创建人的权限为销售经理,则【销售员】字段自动默认为当前账号的用户姓名,且不可修改
(2)创建人的权限为销售总监,则【销售员】字段自动默认为当前账号的用户姓名,可下拉选择,修改销售人员姓名
This commit is contained in:
jinling.yang
2023-12-19 17:48:30 +08:00
parent 8721bc2de1
commit ef47597cf9
9 changed files with 102 additions and 17 deletions

View File

@@ -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__)

View File

@@ -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

View File

@@ -1,7 +1,7 @@
import datetime
import base64
from odoo import models, fields, api
from odoo.osv import expression
from odoo.exceptions import UserError
class ReSaleOrder(models.Model):
@@ -86,6 +86,24 @@ class RePurchaseOrder(models.Model):
class ResPartnerToSale(models.Model):
_inherit = 'res.partner'
@api.constrains('name')
def _check_name(self):
obj = self.sudo().search([('name', '=', self.name), ('id', '!=', self.id)])
if obj:
raise UserError('该名称已存在,请重新输入')
@api.constrains('vat')
def _check_vat(self):
obj = self.sudo().search([('vat', '=', self.vat), ('id', '!=', self.id)])
if obj:
raise UserError('该税ID已存在,请重新输入')
@api.constrains('email')
def _check_email(self):
obj = self.sudo().search([('email', '=', self.email), ('id', '!=', self.id)])
if obj:
raise UserError('该邮箱已存在,请重新输入')
@api.model
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('is_customer'):
@@ -95,3 +113,21 @@ class ResPartnerToSale(models.Model):
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)
@api.onchange('user_id')
def _get_salesman(self):
self.user_id = self.env.user.id
class ResUserToSale(models.Model):
_inherit = 'res.users'
@api.model
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('is_sale'):
if self.env.user.has_group('sf_base.group_sale_director'):
domain = []
elif self.env.user.has_group('sf_base.group_sale_salemanager'):
domain = [('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)