model of move
This commit is contained in:
parent
f1e0d9b274
commit
6a3ce61e06
@ -12,7 +12,7 @@ def register():
|
||||
purchase.Purchase,
|
||||
purchase.Line,
|
||||
sale.Sale,
|
||||
sale.SaleLine,
|
||||
#sale.SaleLine,
|
||||
sale.CreateSubscriptionStart,
|
||||
equipment.OpticalEquipment,
|
||||
equipment.EquipmentMaintenance,
|
||||
|
78
move.py
78
move.py
@ -2,21 +2,44 @@ from trytond.model import fields, ModelSQL, ModelView, Workflow, dualmethod
|
||||
from trytond.modules.company.model import employee_field, set_employee
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval, If
|
||||
from trytond.exceptions import UserError
|
||||
from itertools import groupby
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
|
||||
class Move(metaclass=PoolMeta):
|
||||
"Stock Move"
|
||||
__name__ = "stock.move"
|
||||
|
||||
product_equipment = fields.Function(fields.Boolean("It Equipment"),'get_product_equipment')
|
||||
equipment = fields.Many2One('optical_equipment.equipment', "Equipment",
|
||||
domain=[('state', '=', 'registred'),
|
||||
('product','=', Eval('product'))
|
||||
],
|
||||
states={'invisible': If(~Eval('product_equipment'), True)},)
|
||||
states={'invisible': If(~Eval('product_equipment'), True),},
|
||||
depends=['product_equipment'])
|
||||
|
||||
equipment_serial = fields.Char('Serial',states={'readonly': True})
|
||||
equipment_serial = fields.Function(fields.Char('Serial',
|
||||
states={'readonly': True,
|
||||
'invisible': If(~Eval('product_equipment'), True)},
|
||||
depends=['product_equipment']),
|
||||
'get_equipment_serial')
|
||||
|
||||
|
||||
@fields.depends('product')
|
||||
def get_product_equipment(self, product):
|
||||
if self.product.equipment:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@fields.depends('equipment')
|
||||
def get_equipment_serial(self, equipment):
|
||||
if self.equipment:
|
||||
return self.equipment.serial
|
||||
else:
|
||||
return None
|
||||
|
||||
@fields.depends('product', 'equipment', 'uom')
|
||||
def on_change_product(self):
|
||||
if self.product:
|
||||
@ -25,12 +48,11 @@ class Move(metaclass=PoolMeta):
|
||||
self.uom = self.product.default_uom
|
||||
|
||||
|
||||
|
||||
@fields.depends(methods=['get_equipment_serial'])
|
||||
def on_change_equipment(self):
|
||||
if self.equipment:
|
||||
self.product = self.equipment.product.id
|
||||
self.equipment_serial = self.equipment.serial
|
||||
|
||||
self.equipment_serial = self.get_equipment_serial(self.equipment)
|
||||
else:
|
||||
self.equipment_serial = None
|
||||
|
||||
@ -41,6 +63,22 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
__name__ = 'stock.shipment.out'
|
||||
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('picked')
|
||||
@set_employee('picked_by')
|
||||
def pick(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
|
||||
raise UserError(str(dir(Move)))
|
||||
|
||||
Move.delete([
|
||||
m for s in shipments for m in s.inventory_moves
|
||||
if m.state == 'staging'])
|
||||
Move.do([m for s in shipments for m in s.inventory_moves])
|
||||
cls._sync_inventory_to_outgoing(shipments, quantity=True)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@ -48,21 +86,37 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
def done(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
#raise UserError(str(dir(cls)))
|
||||
#cls.store_cache(shipments)
|
||||
Date = pool.get('ir.date')
|
||||
|
||||
|
||||
pool = Pool()
|
||||
Equipments = pool.get('optical_equipment.equipment')
|
||||
|
||||
for shipment in shipments:
|
||||
for move in shipment.moves:
|
||||
if move.product.equipment:
|
||||
equipment=move.serial
|
||||
equipment.propietary=shipment.customer.id
|
||||
raise UserError(str(move.id))
|
||||
#move = Move.search(['id', '=', move.id])[0]
|
||||
if move.product_equipment:
|
||||
|
||||
equipment = move.equipment
|
||||
Id = equipment.id
|
||||
serial = equipment.serial
|
||||
move.equipment = Id
|
||||
move.serial = serial
|
||||
move.save()
|
||||
#raise UserError(str(Id))
|
||||
#raise UserError(str((equipment.id)))
|
||||
#raise UserError(str(dir(move.equipment.propietary)))
|
||||
#Id=int(move.equipment.id)
|
||||
equipment = Equipments.search(['id', '=',Id])[0]
|
||||
#raise UserError(str(equipment))
|
||||
#raise UserError(str(Id.id))
|
||||
equipment.propietary = shipment.customer.id
|
||||
equipment.propietary_address= shipment.delivery_address.id
|
||||
equipment.state="uncontrated"
|
||||
equipment.shipment_destination = move
|
||||
equipment.maintenance_frequency = "6" if sale.party.client_type == "ips" else "12"
|
||||
#equipment.shipment_destination = move
|
||||
equipment.maintenance_frequency = "6" if shipment.customer.client_type == "ips" else "12"
|
||||
#raise UserError(str(equipment.propietary))
|
||||
equipment.save()
|
||||
|
||||
Move.delete([
|
||||
|
5
sale.py
5
sale.py
@ -50,6 +50,7 @@ class Sale(metaclass=PoolMeta):
|
||||
cls.__queue__.process(sales)
|
||||
"""
|
||||
|
||||
"""
|
||||
class SaleLine(metaclass=PoolMeta):
|
||||
'SaleLine'
|
||||
__name__ = 'sale.line'
|
||||
@ -108,10 +109,8 @@ class SaleLine(metaclass=PoolMeta):
|
||||
if self.product_equipment == False:
|
||||
self.equipment = None
|
||||
self.on_change_equipment()
|
||||
"""
|
||||
else:
|
||||
self.quantity = 1
|
||||
"""
|
||||
|
||||
|
||||
@fields.depends('product', 'unit', 'quantity', 'sale',
|
||||
@ -167,7 +166,6 @@ class SaleLine(metaclass=PoolMeta):
|
||||
if self.product.equipment:
|
||||
self.product_equipment = True
|
||||
|
||||
|
||||
def get_move(self, shipment_type):
|
||||
|
||||
'''
|
||||
@ -242,6 +240,7 @@ class SaleLine(metaclass=PoolMeta):
|
||||
'invisible': ~Eval('product_equipment', True),
|
||||
})]
|
||||
|
||||
"""
|
||||
|
||||
class CreateSubscriptionStart(ModelView):
|
||||
'Create Subscription Start'
|
||||
|
4
sale.xml
4
sale.xml
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--This file file is part of Tryton. The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<!--
|
||||
<record model="ir.ui.view" id="sale_line_view_form">
|
||||
<field name="model">sale.line</field>
|
||||
<field name="inherit" ref="sale.sale_line_view_form"/>
|
||||
@ -15,7 +16,8 @@
|
||||
<field name="model">sale.line</field>
|
||||
<field name="inherit" ref="sale.sale_line_view_tree_sequence"/>
|
||||
<field name="name">sale_line_tree_sequence</field>
|
||||
</record>
|
||||
</record>
|
||||
-->
|
||||
<record model="ir.ui.view" id="create_subscription_view_form">
|
||||
<field name="model">sale.create.subscription.start</field>
|
||||
<field name="type">form</field>
|
||||
|
Loading…
Reference in New Issue
Block a user