changes in equipment, purchases, sale

This commit is contained in:
sinergia 2022-06-17 10:50:48 -05:00
parent 8dffe325d9
commit b6249a39d7
10 changed files with 75 additions and 19 deletions

View File

@ -4,6 +4,7 @@ from . import product, sale, purchase, equipment
def register():
Pool.register(
product.Template,
product.Product,
purchase.Purchase,
purchase.Line,
sale.SaleLine,

View File

@ -12,7 +12,7 @@ class OpticalEquipment(ModelSQL, ModelView):
#origin = fields.reference("Origin", selection='get_origin', select=True)
product = fields.Many2One('product.product', "Product")
refurbish = fields.Boolean("Refurbish")
type = fields.Char('type')
equipment_type = fields.Char('type')
risk = fields.Char('Type risk')
use = fields.Char('Use')
biomedical_class = fields.Char('Biomedical Class')
@ -20,13 +20,13 @@ class OpticalEquipment(ModelSQL, ModelView):
calibration = fields.Boolean("Apply calibration")
mark_category = fields.Many2One('product.category', 'Mark')
model_category = fields.Many2One('product.category', "Model")
reference = fields.Char("Reference", size=None, required=True)
reference = fields.Char("Reference", size=None)
origin_country = fields.Many2One('country.country',"Origin Country")
software_version = fields.Char("Software version", size=None, required=True)
useful_life = fields.Char("Useful life", size=None, required=True)
warranty = fields.Char("Warranty", size=None, required=True)
serial = fields.Char("Serial", size=None, required=True)
health_register = fields.Char("Serial", size=None, required=True)
software_version = fields.Char("Software version", size=None)
useful_life = fields.Char("Useful life", size=None)
warranty = fields.Char("Warranty", size=None)
serial = fields.Char("Serial", size=None)
health_register = fields.Char("Health Register", size=None)
@staticmethod
def get_origin():

View File

@ -1,11 +1,16 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#txhis repository contains the full copyright notices and license terms
from sql import Literal
from sql.operators import Equal
from trytond.pool import Pool, PoolMeta
from trytond.model import ModelView, ModelSQL, fields
from trytond.model import (
ModelView, ModelSQL, fields, Exclude)
from trytond.pyson import If, Eval
_RISK = [('uno', 'I'),
('dosA', 'IIA'),
('dosB', 'IIB')]
@ -99,3 +104,5 @@ class Template(metaclass=PoolMeta):
'invisible': ~Eval('equipment'),
})]
class Product(metaclass=PoolMeta):
__name__ = 'product.product'

View File

@ -10,14 +10,15 @@ class Purchase(metaclass=PoolMeta):
@classmethod
@ModelView.button
def process(cls, purchases):
raise UserError(str("lento lento"))
pool = Pool()
Equipment = pool.get('optical.equipment')
#raise UserError(str(type(Equipment)))
Line = pool.get('purchase.line')
lines = []
process, done = [], []
cls.lock(purchases)
for purchase in purchases:
if purchase.state not in {'confirmed', 'processing', 'done'}:
"""if purchase.state not in {'confirmed', 'processing', 'done'}:
continue
purchase.create_invoice()
purchase.set_invoice_state()
@ -26,9 +27,27 @@ class Purchase(metaclass=PoolMeta):
if return_moves:
purchase.create_return_shipment(return_moves)
purchase.set_shipment_state()
"""
#raise UserError(str(dir(purchase)))
#equipment = Equipment()
for line in purchase.lines:
line.set_actual_quantity()
#raise UserError(str(dir(line)))
equipment = Equipment(
company=line.company,
equipment_type=line.product.equipment_type,
party_address=line.address_equipment,
product=line.product,
risk=line.product.risk,
use=line.product.use,
biomedical_class=line.product.biomedical_class,
calibration=line.product.calibration,
refurbish=line.refurbish,
serial=line.serial_equipment,
software_version=line.product.software_version,
)
equipment.save()
#raise UserError(str([equipment.serial, equipment.software_version]))
""" line.set_actual_quantity()
lines.append(line)
if purchase.is_done():
@ -42,11 +61,12 @@ class Purchase(metaclass=PoolMeta):
if process:
cls.proceed(process)
if done:
cls.do(done)
cls.do(done)"""
class Line(metaclass=PoolMeta):
__name__ = 'purchase.line'
address_equipment = fields.Many2One('party.address', "Direccion")
serial_equipment = fields.Char("Serial", size=None, required=True)
refurbish = fields.Boolean("Refurbish")

14
sale.py
View File

@ -5,3 +5,17 @@ from trytond.model import ModelView, ModelSQL, fields
class SaleLine(metaclass=PoolMeta):
'SaleLine'
__name__ = 'sale.line'
address_equipment = fields.Many2One('party.address', "Direccion")
@classmethod
@ModelView.button
def process(cls, sales):
states = {'confirmed', 'processing', 'done'}
sales = [s for s in sales if s.state in states]
cls.lock(sales)
cls._process_invoice(sales)
cls._process_shipment(sales)
cls._process_invoice_shipment_states(sales)
cls._process_state(sales)

View File

@ -1,4 +1,4 @@
<?xml version="10.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. -->
<tryton>
<record model="ir.ui.view" id="sale_line_view_form">

View File

@ -12,8 +12,8 @@
<field name="party_address"/>
<label name="product"/>
<field name="product"/>
<label name="type"/>
<field name="type"/>
<label name="equipment_type"/>
<field name="equipment_type"/>
<label name="use"/>
<field name="use"/>
<label name="biomedical_class"/>

View File

@ -7,7 +7,7 @@
<field name="party"/>
<field name="party_address"/>
<field name="product"/>
<field name="type"/>
<field name="equipment_type"/>
<field name="use"/>
<field name="biomedical_class"/>
<field name="calibration"/>

View File

@ -4,6 +4,8 @@
<xpath
expr="/form/notebook/page[@id='notes']" position="before">
<page string="Equipment" id="equipment">
<label name="address_equipment"/>
<field name="address_equipment"/>
</page>
</xpath>
</data>

View File

@ -8,6 +8,10 @@ this repository contains the full copyright notices and license terms. -->
</xpath>
<xpath expr="/form/notebook/page[@id='general']" position="after">
<page string="Features" id="features">
<label name="mark_category"/>
<field name="mark_category"/>
<label name="model_category"/>
<field name="model_category"/>
<label name="serial"/>
<field name="serial"/>
<label name="health_register"/>
@ -22,8 +26,16 @@ this repository contains the full copyright notices and license terms. -->
<field name="use"/>
<label name="biomedical_class"/>
<field name="biomedical_class"/>
<label name="origin_country"/>
<field name="origin_country"/>
<label name="main_tecnology"/>
<field name="main_tecnology"/>
<label name="software_version"/>
<field name="software_version"/>
<label name="useful_life"/>
<field name="useful_life"/>
<label name="warranty"/>
<field name="warranty"/>
<label name="observation"/>
<field name="observation"/>
</page>