diff --git a/__init__.py b/__init__.py
index 2be1e7c..86bd7d6 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,9 +1,11 @@
from trytond.pool import Pool
-from . import product, sale, equipment
+from . import product, sale, purchase, equipment
def register():
Pool.register(
product.Template,
+ purchase.Purchase,
+ purchase.Line,
sale.SaleLine,
equipment.OpticalEquipment,
module='optical_equipment', type_='model')
diff --git a/equipment.py b/equipment.py
new file mode 100644
index 0000000..b294d95
--- /dev/null
+++ b/equipment.py
@@ -0,0 +1,33 @@
+from trytond.model import ModelSQL, ModelView, fields
+
+
+class OpticalEquipment(ModelSQL, ModelView):
+ 'Optical Equipment'
+ __name__ = "optical.equipment"
+
+ company = fields.Many2One('company.company', "Company")
+ location = fields.Many2One('stock.location', "Location")
+ party = fields.Many2One('party.party', "Party")
+ party_address = fields.Many2One('party.address', "Party Address")
+ #origin = fields.reference("Origin", selection='get_origin', select=True)
+ product = fields.Many2One('product.product', "Product")
+ refurbish = fields.Boolean("Refurbish")
+ type = fields.Char('type')
+ risk = fields.Char('Type risk')
+ use = fields.Char('Use')
+ biomedical_class = fields.Char('Biomedical Class')
+ main_tecnology = fields.Char('Main tecnology')
+ 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)
+ 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)
+
+ @staticmethod
+ def get_origin():
+ return None
diff --git a/equipment.xml b/equipment.xml
new file mode 100644
index 0000000..a77673e
--- /dev/null
+++ b/equipment.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Equipments
+ optical.equipment
+
+
+ optical.equipment
+ tree
+ optical_equipment_tree
+
+
+ optical.equipment
+ form
+ optical_equipment_form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/product.py b/product.py
index f0d12e9..9f22427 100644
--- a/product.py
+++ b/product.py
@@ -45,18 +45,18 @@ class Template(metaclass=PoolMeta):
observation = fields.Text('Observation')
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)
+ "Software version", size=None)
useful_life = fields.Char(
- "Useful life", size=None, required=True)
+ "Useful life", size=None)
warranty = fields.Char(
- "Warranty", size=None, required=True)
+ "Warranty", size=None)
serial = fields.Char(
- "Serial", size=None, required=True)
+ "Serial", size=None)
health_register = fields.Char(
- "Serial", size=None, required=True)
+ "Health_Register", size=None)
refurbish = fields.Boolean('Refurbish')
@staticmethod
diff --git a/purchase.py b/purchase.py
index 4bd791b..fdf9961 100644
--- a/purchase.py
+++ b/purchase.py
@@ -1,8 +1,52 @@
#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 trytond.model import ModelView, ModelSQL
+from trytond.pool import Pool, PoolMeta
+from trytond.model import ModelView, ModelSQL, fields
+from trytond.exceptions import UserError
+class Purchase(metaclass=PoolMeta):
+ __name__ = 'purchase.purchase'
-class PurchaseLine(ModelSQL, ModelView, metaclass=PoolMeta):
- 'PurchaseLine'
+ @classmethod
+ @ModelView.button
+ def process(cls, purchases):
+ raise UserError(str("lento lento"))
+ pool = Pool()
+ Line = pool.get('purchase.line')
+ lines = []
+ process, done = [], []
+ cls.lock(purchases)
+ for purchase in purchases:
+ if purchase.state not in {'confirmed', 'processing', 'done'}:
+ continue
+ purchase.create_invoice()
+ purchase.set_invoice_state()
+ purchase.create_move('in')
+ return_moves = purchase.create_move('return')
+ if return_moves:
+ purchase.create_return_shipment(return_moves)
+ purchase.set_shipment_state()
+
+ for line in purchase.lines:
+ line.set_actual_quantity()
+ lines.append(line)
+
+ if purchase.is_done():
+ if purchase.state != 'done':
+ if purchase.state == 'confirmed':
+ process.append(purchase)
+ done.append(purchase)
+ elif purchase.state != 'processing':
+ process.append(purchase)
+ Line.save(lines)
+ if process:
+ cls.proceed(process)
+ if done:
+ cls.do(done)
+
+class Line(metaclass=PoolMeta):
__name__ = 'purchase.line'
+
+ serial_equipment = fields.Char("Serial", size=None, required=True)
+ refurbish = fields.Boolean("Refurbish")
+
diff --git a/purchase.xml b/purchase.xml
new file mode 100644
index 0000000..88f41a7
--- /dev/null
+++ b/purchase.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ purchase.line
+
+ purchase_line_form
+
+
+
diff --git a/tryton.cfg b/tryton.cfg
index 75a9e9e..bf9211c 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -5,9 +5,12 @@ depends:
party
company
product
+ purchase
sale
+ stock
country
xml:
product.xml
equipment.xml
- sale.xml
\ No newline at end of file
+ sale.xml
+ purchase.xml
\ No newline at end of file
diff --git a/view/optical_equipment_form.xml b/view/optical_equipment_form.xml
new file mode 100644
index 0000000..faeddb4
--- /dev/null
+++ b/view/optical_equipment_form.xml
@@ -0,0 +1,41 @@
+
+
+
diff --git a/view/optical_equipment_tree.xml b/view/optical_equipment_tree.xml
new file mode 100644
index 0000000..6762957
--- /dev/null
+++ b/view/optical_equipment_tree.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/purchase_line_form.xml b/view/purchase_line_form.xml
new file mode 100644
index 0000000..601b56a
--- /dev/null
+++ b/view/purchase_line_form.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/template_form.xml b/view/template_form.xml
index 5d08c15..632e3fd 100644
--- a/view/template_form.xml
+++ b/view/template_form.xml
@@ -8,6 +8,10 @@ this repository contains the full copyright notices and license terms. -->
+
+
+
+