diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index f47f8c8d..f2d4073e 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -56,7 +56,7 @@ class ReSaleOrder(models.Model): deadline_of_delivery, payments_way, pay_way): now_time = datetime.datetime.now() partner = self.get_customer() - order_id = self.env['sale.order'].sudo().create({ + data ={ 'company_id': company_id.id, 'date_order': now_time, 'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time), @@ -67,10 +67,18 @@ class ReSaleOrder(models.Model): 'person_of_delivery': delivery_name, 'telephone_of_delivery': delivery_telephone, 'address_of_delivery': delivery_address, - 'deadline_of_delivery': deadline_of_delivery, 'payments_way': payments_way, 'pay_way': pay_way, - }) + } + if deadline_of_delivery: + # deadline_of_delivery字段存在为false字符串情况 + if not isinstance(deadline_of_delivery, str): + data.update({'deadline_of_delivery': deadline_of_delivery}) + else: + if deadline_of_delivery!="False": + data.update({'deadline_of_delivery': deadline_of_delivery}) + + order_id = self.env['sale.order'].sudo().create(data) return order_id def write(self, vals): @@ -113,6 +121,7 @@ class ReSaleOrder(models.Model): 'price_unit': product.list_price, 'product_uom_qty': item['number'], 'model_glb_file': base64.b64decode(item['model_file']), + 'remark': item.get('remark') } return self.env['sale.order.line'].with_context(skip_procurement=True).create(vals) @@ -151,6 +160,7 @@ class ResaleOrderLine(models.Model): # # without modifying the related product_id when updated. # domain=[('sale_ok', '=', True), ('categ_type', '=', '成品')]) check_status = fields.Selection(related='order_id.check_status') + remark = fields.Char('备注') @api.depends('product_template_id') def _compute_model_glb_file(self): @@ -256,33 +266,33 @@ class ResPartnerToSale(models.Model): # 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'): - if self.env.user.has_group('sf_base.group_sale_director'): - domain = [('customer_rank', '>', 0)] - elif self.env.user.has_group('sf_base.group_sale_salemanager'): - customer = self.env['res.partner'].search( - [('customer_rank', '>', 0), ('user_id', '=', self.env.user.id)]) - if customer: - ids = [t.id for t in customer] - domain = [('id', 'in', ids)] - else: - domain = [('id', '=', False)] - return self._search(domain, limit=limit, access_rights_uid=name_get_uid) - elif self._context.get('is_supplier') or self.env.user.has_group('sf_base.group_purchase_director'): - if self.env.user.has_group('sf_base.group_purchase_director'): - domain = [('supplier_rank', '>', 0)] - elif self.env.user.has_group('sf_base.group_purchase'): - supplier = self.env['res.partner'].search( - [('supplier_rank', '>', 0), ('purchase_user_id', '=', self.env.user.id)]) - if supplier: - ids = [t.id for t in supplier] - domain = [('id', 'in', ids)] - else: - domain = [('id', '=', False)] - return self._search(domain, limit=limit, access_rights_uid=name_get_uid) - return super()._name_search(name, args, operator, limit, name_get_uid) + # @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', '>', 0)] + # elif self.env.user.has_group('sf_base.group_sale_salemanager'): + # customer = self.env['res.partner'].search( + # [('customer_rank', '>', 0), ('user_id', '=', self.env.user.id)]) + # if customer: + # ids = [t.id for t in customer] + # domain = [('id', 'in', ids)] + # else: + # domain = [('id', '=', False)] + # return self._search(domain, limit=limit, access_rights_uid=name_get_uid) + # elif self._context.get('is_supplier') or self.env.user.has_group('sf_base.group_purchase_director'): + # if self.env.user.has_group('sf_base.group_purchase_director'): + # domain = [('supplier_rank', '>', 0)] + # elif self.env.user.has_group('sf_base.group_purchase'): + # supplier = self.env['res.partner'].search( + # [('supplier_rank', '>', 0), ('purchase_user_id', '=', self.env.user.id)]) + # if supplier: + # ids = [t.id for t in supplier] + # domain = [('id', 'in', ids)] + # else: + # domain = [('id', '=', False)] + # 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):