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