فهرست منبع

Agregado todas las validaciones

Rodney Elpidio Enciso Arias 7 سال پیش
والد
کامیت
064160fd15

BIN
models/account_invoice.pyc


BIN
models/project_service.pyc


+ 12 - 1
models/project_service_stage.py

@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 from openerp import fields, models, api
 from openerp.tools.translate import _
+from openerp.exceptions import ValidationError, except_orm, Warning, RedirectWarning
 
 class ProjectServiceStage(models.Model):
     _name = 'project.service.stage'
@@ -12,4 +13,14 @@ class ProjectServiceStage(models.Model):
     fold = fields.Boolean('Folded in Tasks Pipeline', help='This stage is folded in the kanban view when'
                                 'there are no records in that stage to display.')
 
-    _order = 'sequence'
+    _order = 'sequence'
+
+    @api.multi
+    def unlink(self):
+        if self.id == 1:
+            raise Warning(('No puedes borrar esta etapa.'))
+        if self.id == 4:
+            raise Warning(('No puedes borrar esta etapa.'))
+        if self.id == 3:
+            raise Warning(('No puedes borrar esta etapa.'))
+        return super(ProjectServiceStage, self).unlink()

BIN
models/project_service_stage.pyc


+ 6 - 2
models/project_service_task.py

@@ -47,9 +47,11 @@ class ProjectServiceTask(models.Model):
     def onchange_name(self):
         self.partner_id = self.project_id.partner_id.id
 
+    
     @api.multi
     def cancel(self):
         self.state = 'Cancelado'
+        self.stage_id = 4
 
     @api.depends('activity_ids.work_cost', 'materials_used.price')
     def get_amount_total(self):
@@ -81,6 +83,7 @@ class ProjectServiceTask(models.Model):
         if self.invoice_count > 0:
             raise Warning('Esta tarea tiene una factura asociada')
         if self.invoice_count == 0:
+            self.stage_id = 1
             for work in self:
                 work.write({'state': 'Preparado'})
             return True
@@ -114,7 +117,7 @@ class ProjectServiceTask(models.Model):
             'account_id': customer.property_account_receivable.id,
             'partner_id': customer.id,
             'origin': self.name,
-            'task_invoice_id': self.id 
+            'task_invoice_id': self.id, 
         }
         inv_id = inv_obj.create(inv_data)
         for records in self.activity_ids:
@@ -126,7 +129,6 @@ class ProjectServiceTask(models.Model):
             if records.completed == False:
                 raise osv.except_osv(_('UserError!'), _('Esta actividad aun no ha sido concluida '
                                                         '"%s".') % (records.product_id.name,))
-
             inv_line_data = {
                 'name': records.product_id.name,
                 'account_id': income_account,
@@ -175,9 +177,11 @@ class ProjectServiceTask(models.Model):
             result = {'type': 'ir.actions.act_window_close'}
         invoiced_records = self.env['project.service.task']
         total = 0
+        self.stage_id = 3
         for rows in invoiced_records:
             invoiced_date = rows.date
             invoiced_date = invoiced_date[0:10]
             if invoiced_date == str(date.today()):
                 total = total + rows.price_subtotal
+        inv_id.signal_workflow('invoice_open')
         return result

BIN
models/project_service_task.pyc


+ 15 - 0
views/project_service_stage.xml

@@ -1,7 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 <openerp>
     <data>
+
+        <!-- data -->
         
+        <record model="project.service.stage" id="project_service_stage_data_new">
+            <field name="name">Nuevo</field>
+        </record>
+        <record model="project.service.stage" id="project_service_stage_data_progress">
+            <field name="name">En Progreso</field>
+        </record>
+        <record model="project.service.stage" id="project_service_stage_data_end">
+            <field name="name">Terminado</field>
+        </record>
+        <record model="project.service.stage" id="project_service_stage_data_cancel">
+            <field name="name">Cancelado</field>
+        </record>
+
         <!-- form view -->
         
         <record model="ir.ui.view" id="project_service_stage_form">

+ 1 - 1
views/project_service_task.xml

@@ -99,7 +99,7 @@
                             <page string="Informacion Extra">
                                 <group col="4">
                                     <group col="2">
-                                        <field name="partner_id" string="Cliente" required="1" readonly="1"/>
+                                        <field name="partner_id" string="Cliente" required="1"/>
                                     </group>
                                     <group col="2">
                                         <field name="date_assign" string="Fecha de creación"/>