Bladeren bron

[ADD] se agrego nuevas funcionalidades

Rodney Elpidio Enciso Arias 7 jaren geleden
bovenliggende
commit
3ab46cfe0b

+ 4 - 0
__openerp__.py

@@ -17,6 +17,10 @@
         'views/project_service_stage.xml',
         'views/product_service.xml',
         'views/product_service_brand.xml',
+        'wizard/commission_wizard.xml',
+        'wizard/budget_wizard.xml',
+        'views/project_service_commission.xml',
+        'views/project_service_budget.xml',        
         'views/template.xml',
         'security/ir.model.access.csv',
     ],

+ 3 - 2
models/__init__.py

@@ -4,7 +4,8 @@ import project_service_task
 import project_service_activity
 import project_service_material
 import project_service_stage
-# import project_service_tag
 import product_service
 import product_service_brand
-import account_invoice
+import account_invoice
+import project_service_commission
+import project_service_budget

BIN
models/__init__.pyc


+ 7 - 7
models/product_service.py

@@ -5,18 +5,18 @@ from openerp.exceptions import ValidationError
 class ProductService(models.Model):
     _name = 'product.service'
 
-    name=fields.Char('Nombre', compute='_get_product_name', store=True)
-    model=fields.Char('Modelo')
-    year=fields.Integer('Año')
-    number=fields.Char('Número')
-    logo = fields.Binary('Logo File')
+    name=fields.Char(string='Nombre', compute='_get_product_name', store=True)
+    model=fields.Char(string='Modelo')
+    year=fields.Integer(string='Año')
+    number=fields.Char(string='Número')
+    logo = fields.Binary(string='Logo File')
     partner_id = fields.Many2one(
         'res.partner',
         string='Cliente',
         ondelete='restrict'
     )
-    description = fields.Text('Description', translate=True)
-    valuation = fields.Float('Valor')
+    description = fields.Text(string='Description')
+    valuation = fields.Float(string='Valor')
     product_service_brand_id = fields.Many2one(
         'product.service.brand',
         string='Marca'

BIN
models/product_service.pyc


+ 2 - 2
models/product_service_brand.py

@@ -5,8 +5,8 @@ from openerp.exceptions import ValidationError
 class ProductServiceBrand(models.Model):
     _name = 'product.service.brand'
 
-    name = fields.Char('Brand Name', required=True)
-    description = fields.Text('Description', translate=True)
+    name = fields.Char(string='Brand Name', required=True)
+    description = fields.Text(string="Description")
     logo = fields.Binary('Logo File')
     product_service_ids = fields.One2many(
         'product.service',

BIN
models/product_service_brand.pyc


+ 5 - 5
models/project_service.py

@@ -5,18 +5,18 @@ from openerp.exceptions import ValidationError, except_orm, Warning, RedirectWar
 class ProjectService(models.Model):
     _name = 'project.service'
 
-    name = fields.Many2one('product.service','Nombre', required=True) 
+    name = fields.Many2one('product.service', string='Nombre', required=True) 
     date_start = fields.Date(string='Start Date')
     date_due = fields.Date(string='Expiration Date')
     sequence = fields.Integer(string='Sequence')
-    partner_id =  fields.Many2one('res.partner', 'Customer')
+    partner_id =  fields.Many2one('res.partner', string='Customer')
     image_medium = fields.Binary('Binary File', related="name.logo")
     state = fields.Selection([('draft', 'Nuevo'),('open', 'En progreso'),
         ('cancelled', 'Cancelado'),
         ('pending', 'Pendiente'),
         ('close', 'Cerrado')],
         string='Status')
-    color = fields.Integer('Color Index')
+    color = fields.Integer(string='Color Index')
     project_service_task_ids = fields.One2many(
         'project.service.task',
         'project_id',
@@ -25,8 +25,8 @@ class ProjectService(models.Model):
         string='Contador de tareas',
         compute='_get_project_service_task_count',
     )
-    date_in = fields.Date('Fecha de entrada', default=fields.Date.today())
-    date_out = fields.Date('Fecha de Salida')
+    date_in = fields.Date(string='Fecha de entrada', default=fields.Date.today())
+    date_out = fields.Date(string='Fecha de Salida')
 
     _defaults = {
         'state': 'open',

BIN
models/project_service.pyc


+ 3 - 2
models/project_service_activity.py

@@ -4,11 +4,12 @@ from openerp import fields, models, api
 class ProjectServiceActivity(models.Model):
     _name = 'project.service.activity'
 
-    name=fields.Char('Nombre', compute='_get_product_name')
+    name = fields.Char(string='Nombre', compute='_get_product_name')
     product_id = fields.Many2one('product.product', string='Planned work', domain=[('type', '=', 'service'),('sale_ok','=',True)])
     time_spent = fields.Float(string='Estimated Time')
     work_date = fields.Datetime(string='Date')
     user_id = fields.Many2one('res.users', string='Responsible')
+    user2_id = fields.Many2one('res.users', string='Responsible')
     task_id = fields.Many2one('project.service.task', string="Work id")
     work_cost = fields.Float(string="Service Cost")
     duration = fields.Float(string='Duration')
@@ -23,7 +24,7 @@ class ProjectServiceActivity(models.Model):
     def get_price(self):
         self.work_cost = self.product_id.lst_price
 
-    api.one
+    @api.one
     @api.depends('task_id','product_id')
     def _get_product_name(self):
         self.name = self.task_id.name + ' / ' +  self.product_id.name

BIN
models/project_service_activity.pyc


+ 40 - 0
models/project_service_budget.py

@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+from openerp import fields, models, api
+from openerp.exceptions import Warning as UserError
+
+class ProjectServiceBudget(models.Model):
+    _name = 'project.service.budget'
+
+    date = fields.Date(string='Date', select=True, copy=False)
+    task_id = fields.Many2one('project.service.task', string='Tarea', required=True)
+    user_id = fields.Many2one('res.users', string='Funcionario', required=True)
+    amount = fields.Float(string='Commission', required=True)
+
+class ProjectServiceBudgetWizard(models.TransientModel):
+    _name = 'project.service.budget.wizard'
+
+    date = fields.Date(string='Date', select=True, copy=False)
+    task_id = fields.Many2one('project.service.task', string='Tarea', required=True)
+    user_id = fields.Many2one('res.users', string='Funcionario', required=True)
+    amount = fields.Float(string='Commission', required=True)
+
+    _defaults = {
+        'user_id': lambda obj, cr, uid, ctx=None: uid,
+        'date': date.today(),
+        # .strftime('%Y-%m-%d')
+    }
+
+    @api.one
+    def add_budget(self):
+        active_id = self._context['active_id']
+        task = self.env['project.service.task'].browse(active_id)
+
+        val = {
+            'task_id': active_id,
+            'date': self.date,
+            'user_id': self.user_id.id,
+            'amount': self.amount,
+        }
+        self.env['project.service.budget'].create(val)
+
+    

BIN
models/project_service_budget.pyc


+ 44 - 0
models/project_service_commission.py

@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+from openerp import fields, models, api
+from openerp.exceptions import Warning as UserError
+
+class ProjectServiceCommission(models.Model):
+    _name = 'project.service.commission'
+
+    name = fields.Char(string='Nombre', compute="_get_commission_name", required=True)
+    task_id = fields.Many2one('project.service.task', string='Tarea', required=True)
+    activity_id = fields.Many2one('project.service.activity', string='Trabajo', required=True)
+    user_id = fields.Many2one('res.users', string='Funcionario', required=True)
+    amount = fields.Float(string='Commission', required=True)
+
+    @api.one
+    @api.depends('activity_id','user_id')
+    def _get_commission_name(self):
+        self.name = self.activity_id.name + ' / ' +  self.user_id.name
+
+class ProjectServiceCommissionWizard(models.TransientModel):
+    _name = 'project.service.commission.wizard'
+
+    name = fields.Char('Nombre')
+    task_id = fields.Many2one('project.service.task', string='Tarea')
+    activity_id = fields.Many2one('project.service.activity', string='Trabajo', required=True, domain="[('task_id','=',task_id)]")
+    user_id = fields.Many2one('res.users', string='Funcionario', required=True, domain="[('id','!=',1)]")
+    amount = fields.Float('Commission', required=True)
+
+    @api.one 
+    @api.onchange('activity_id')
+    def onchange_activity(self):
+        self.user_id = self.activity_id.user_id.id
+
+    @api.one
+    def add_commision(self):
+        active_id = self._context['active_id']
+        task = self.env['project.service.task'].browse(active_id)
+
+        val = {
+            'task_id': active_id,
+            'activity_id': self.activity_id.id,
+            'user_id': self.user_id.id,
+            'amount': self.amount,
+        }
+        self.env['project.service.commission'].create(val)

BIN
models/project_service_commission.pyc


+ 1 - 1
models/project_service_stage.py

@@ -8,7 +8,7 @@ class ProjectServiceStage(models.Model):
     _order = 'sequence'
 
     name = fields.Char(string='Stage Name', required=True)
-    description = fields.Text(string='Description', translate=True)
+    description = fields.Text(string='Description')
     sequence = fields.Integer(string='Sequence')
     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.')

BIN
models/project_service_stage.pyc


+ 12 - 4
models/project_service_task.py

@@ -9,9 +9,9 @@ class ProjectServiceTask(models.Model):
     _name = 'project.service.task'
 
     name = fields.Char(string='Title', required=True)
-    project_id = fields.Many2one('project.service', string='Vehicle', required=True, track_visibility='onchange')
+    project_id = fields.Many2one('project.service', string='Project', required=True, track_visibility='onchange')
     user_id = fields.Many2one('res.users', string='Assigned to', select=True)
-    description = fields.Html('Description')
+    description = fields.Html(string='Description')
     priority = fields.Selection([('0', 'Normal'), ('1', 'High')], string='Priority', select=True)
     partner_id = fields.Many2one('res.partner', string='Customer')
     date_assign = fields.Datetime(string='Assigning Date', select=True, copy=False, readonly=True)
@@ -20,9 +20,12 @@ class ProjectServiceTask(models.Model):
     stage_id = fields.Many2one('project.service.stage', string='Stage', track_visibility='onchange', copy=False)
     effective_hour = fields.Float(string='Hours Spent', compute="hours_spent",readonly=True)
     activity_ids = fields.One2many('project.service.activity', 'task_id', string='Planned/Ordered Works')
+    commission_ids = fields.One2many('project.service.commission', 'task_id', string='Commissions')
+    budget_ids = fields.One2many('project.service.budget', 'task_id', string='Budgets')
     materials_used = fields.One2many('project.service.material', 'task_id', string='Materials Used')
     amount_total = fields.Float(string='Total Amount', compute="get_amount_total", readonly=True)
     include_materials = fields.Boolean('Incluir')
+    payment_term = fields.Many2one('account.payment.term', string='Payment Term')
     state = fields.Selection([
         ('Preparado', 'Preparado'),
         ('Facturado', 'Facturado'),
@@ -34,12 +37,14 @@ class ProjectServiceTask(models.Model):
         string='Facturas',
         compute='_get_invoice_count', 
     )
+    approved = fields.Boolean(string="Aprobado")
     works_done = fields.One2many('project.service.activity', 'task_id', string='Work Done', domain=[('completed', '=', True)])
     _defaults = {
         'stage_id': 1,
         'state': 'Preparado',
         'user_id': lambda obj, cr, uid, ctx=None: uid,
         'date_start': fields.datetime.now(),
+        'date_deadline': fields.datetime.now(),
     }
 
     @api.one 
@@ -100,9 +105,11 @@ class ProjectServiceTask(models.Model):
     @api.multi
     def Facturado(self):
         activity = self.activity_ids
-        # print('****************************',activity,'**********************************')
+        approved = self.approved
         if not activity:
-            raise osv.except_osv(_('UserError!'), _('No puedes facturas una tarea sin actividades.'))
+            raise osv.except_osv(_('UserError!'), _('No puedes facturar una tarea sin actividades.'))
+        if not approved:
+            raise osv.except_osv(_('UserError!'), _('No puedes facturar un presupuesto no aprobado.'))
         self.state = 'Facturado'
         inv_obj = self.env['account.invoice']
         inv_line_obj = self.env['account.invoice.line']
@@ -119,6 +126,7 @@ class ProjectServiceTask(models.Model):
             'partner_id': customer.id,
             'origin': self.name,
             'task_invoice_id': self.id, 
+            'payment_term': self.payment_term.id,
         }
         inv_id = inv_obj.create(inv_data)
         for records in self.activity_ids:

BIN
models/project_service_task.pyc


BIN
models/res_partner.pyc


+ 7 - 1
security/ir.model.access.csv

@@ -18,4 +18,10 @@
 "access_product_service_public","product.service.public","model_product_service",,1,0,0,0
 
 "access_product_service_brand","product.service.brand","model_product_service_brand","base.group_partner_manager",1,1,1,1
-"access_product_service_brand_public","product.service.brand.public","model_product_service_brand",,1,0,0,0
+"access_product_service_brand_public","product.service.brand.public","model_product_service_brand",,1,0,0,0
+
+"access_project_service_commission","project.service.commission","model_project_service_commission","base.group_partner_manager",1,1,1,1
+"access_project_service_commission_public","project.service.commission.public","model_project_service_commission",,1,0,0,0
+
+"access_project_service_budget","project.service.budget","model_project_service_budget","base.group_partner_manager",1,1,1,1
+"access_project_service_budget_public","project.service.budget.public","model_project_service_budget",,1,0,0,0

+ 0 - 0
static/src/css/vehicles.css → static/src/css/custom.css


+ 2 - 2
views/project_service_activity.xml

@@ -26,7 +26,8 @@
                                 <field name="time_spent" widget="float_time" string="Tiempo Estimado"/>
                             </group>
                             <group>
-                                <field name="user_id" string="Responsable"/>
+                                <field name="user_id" string="Responsable 1"/>
+                                <field name="user2_id" string="Responsable 2"/>
                                 <field name="work_date" string="Fecha"/>
                                 <field name="work_cost" string="Costo"/>
                             </group>
@@ -74,7 +75,6 @@
             <field name="model">project.service.activity</field>
             <field name="arch" type="xml">
                <search string="Actividades">
-                    <field name="name" string="Actividad"/>
                     <field name="user_id" string="Responsable"/>
                     <field name="task_id" string="Tarea"/>
                     <filter string="Mis Actividades" domain="[('user_id','=',uid)]"/>

+ 31 - 0
views/project_service_budget.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        
+        <!-- form view -->
+
+        <record model="ir.ui.view" id="project_service_task_budget_history">
+            <field name="name">project.service.task</field>
+            <field name="model">project.service.task</field>
+            <field name="inherit_id" ref="eiru_service.project_service_task_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//field[@name='user_id']" position="after">
+                    <button name="%(action_budget_add)d"
+                            type="action" class="oe_button oe_form_button oe_highlight" string="Enviar" context="{'default_task_id': id, 'default_amount':amount_total}" attrs="{'readonly': [('state','!=', 'Preparado')],'invisible': [('approved','=',True)]}"/>
+                </xpath>
+                <xpath expr="//group[@string='Facturación']" position="after">
+                    <group string ="Histórico de presupuestos">
+                        <field name="budget_ids" nolabel="1" readonly="1">
+                            <tree string="Budget" editable="bottom">
+                                <field name="date" string="Fecha"/>
+                                <field name="task_id" string="Descripcion"/>
+                                <field name="user_id" string="Funcionario"/>
+                                <field name="amount" string="Valor"/>
+                            </tree>
+                        </field>
+                    </group>
+                </xpath>
+            </field>
+        </record>
+    </data>
+</openerp>

+ 108 - 0
views/project_service_commission.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        
+        <!-- form view -->
+
+        <record model="ir.ui.view" id="project_service_task_button">
+            <field name="name">project.service.task</field>
+            <field name="model">project.service.task</field>
+            <field name="inherit_id" ref="eiru_service.project_service_task_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//notebook/page/group[@string='Trabajo Planeado']" position="after">
+                    <button name="%(action_commision_add)d"
+                            type="action" class="oe_button oe_form_button oe_highlight" string="Comisión" context="{'default_task_id': id}" attrs="{'invisible': ['|',('approved','=',False),('state','!=','Preparado')]}"/>
+                </xpath>
+                <xpath expr="//group[@string='Facturación']" position="after">
+                    <group string ="Comisiones" attrs="{'invisible': [('approved','=',False)],'readonly': [('state','!=','Preparado')]}">
+                        <field name="commission_ids" nolabel="1" attrs="{'readonly': [('state','!=','Preparado')]}">
+                            <tree string="Commission" editable="bottom">
+                                <field name="activity_id" string="Trabajo" readonly="1"/>
+                                <field name="user_id" string="Funcionario" readonly="1"/>
+                                <field name="amount" string="Comisión"/>
+                            </tree>
+                        </field>
+                    </group>
+                </xpath>
+                
+            </field>
+        </record>
+        
+        <record model="ir.ui.view" id="project_service_commission_form">
+            <field name="name">project.service.commission.form</field>
+            <field name="model">project.service.commission</field>
+            <field name="arch" type="xml">
+                <form string="Actividades">
+                    <sheet>
+                        <group>
+                            <div class="oe_title oe_left">
+                                <div class="oe_edit_only">
+                                    <label for="activity_id" string="Trabajo"/>
+                                </div>
+                                <h2>
+                                    <field name="activity_id" placeholder="Trabajo"/>
+                                </h2>
+                            </div>   
+                        </group>   
+                        <group>
+                            <group>
+                                <field name="user_id" string="Funcionario"/>
+                                <field name="amount" string="Valor de la comision"/>
+                            </group>
+                        </group>    
+                    </sheet>
+                </form>
+            </field>
+        </record>
+        
+        <!-- tree view -->
+        
+        <record model="ir.ui.view" id="project_service_commission_tree" > 
+           <field name="name">project.service.commission.tree</field>
+            <field name="model">project.service.commission</field>
+            <field name="arch" type="xml">
+                <tree string="tareas">
+                    <field name="user_id" string="Responsable"/>
+                    <field name="activity_id" string="Trabajo"/>
+                    <field name="task_id" string="Tarea"/>
+                    <field name="amount" string="Valor de la comision"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Search -->
+
+        <record model="ir.ui.view" id="project_service_commission_search">
+            <field name="name">project.service.commission.search</field>
+            <field name="model">project.service.commission</field>
+            <field name="arch" type="xml">
+               <search string="Comisiones">
+                    <field name="activity_id" string="Trabajo"/>
+                    <field name="user_id" string="Responsable"/>
+                    <field name="task_id" string="Tarea"/>
+                    <filter string="Mis Comisiones" domain="[('user_id','=',uid)]"/>
+                    <separator/>
+                    <group expand="0" string="Agrupar por ">
+                        <filter string="Tarea" name="task" context="{'group_by':'task_id'}"/>
+                        <filter string="Responsables" name="User" context="{'group_by':'user_id'}"/>
+                        <separator/>
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <!-- action -->
+        
+        <record model="ir.actions.act_window" id="project_service_commission_action">
+            <field name="name">Registro de comisiones</field>
+            <field name="res_model">project.service.commission</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+        
+        <!-- menus -->
+        
+        <menuitem name="Registro de comisiones" parent="project_main_menu" id="project_service_commission_parent_menu" sequence="4"/>
+        <menuitem name="Todos los registros" parent="project_service_commission_parent_menu" id="project_service_commission_all_menu" sequence="1" action="project_service_commission_action"/>
+    </data>
+</openerp>

+ 9 - 11
views/project_service_task.xml

@@ -63,7 +63,8 @@
                                 <field name="user_id" string="Responsable" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
                             </group>
                             <group>
-                                <field name="date_deadline" string="Fecha limite entrega" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
+                                <field name="date_deadline" string="Fecha límite entrega" attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
+                                <field name="approved" string="¿El presupuesto esta aprobado? " attrs="{'readonly': [('state','!=', 'Preparado')]}"/>
                             </group>
                         </group>
                         <notebook>
@@ -74,7 +75,8 @@
                                             <field name="product_id" string="Trabajo"/>
                                             <field name="time_spent" sum= "Estimated Time" widget="float_time" string="Tiempo Estimado"/>
                                             <field name="work_date" string="Fecha de trabajo"/>
-                                            <field name="user_id" string="Responsable"/>
+                                            <field name="user_id" string="Funcionario 1"/>
+                                            <field name="user2_id" string="Funcionario 2"/>
                                             <field name="work_cost" string="Precio" sum="total"/>
                                             <field name="completed" string="¿El trabajo esta terminado?"/>
                                         </tree>
@@ -96,14 +98,10 @@
                                     <field name="effective_hour" widget="float_time" string="Horas Gastadas"/>
                                 </group>
                             </page>
-                            <page string="Informacion Extra">
-                                <group col="4">
-                                    <group col="2">
-                                        <field name="partner_id" string="Cliente" required="1"/>
-                                    </group>
-                                    <group col="2">
-                                        <field name="date_assign" string="Fecha de creación"/>
-                                    </group>
+                            <page string="Información Extra">
+                                <group string="Facturación">
+                                    <field name="partner_id" string="Cliente" required="1" attrs="{'readonly': [('state','!=','Preparado')]}"/>
+                                    <field name="payment_term" string="Plazos de pago" attrs="{'readonly': [('state','!=','Preparado')]}"/>
                                 </group>
                             </page>
                         </notebook>
@@ -138,7 +136,7 @@
                     <field name="color"/>
                     <field name="priority"/>
                     <field name="user_id"/>
-                    <field name="description"/>
+                    <!-- <field name="description"/> -->
                     <field name="date_deadline"/>                    
                     <templates>
                          <t t-name="kanban-box">

+ 2 - 2
views/template.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <openerp>
     <data>
-        <template id="assets_backend" name="vehicle assets" inherit_id="web.assets_backend">
+        <template id="assets_backend" name="eiru_service_assets" inherit_id="web.assets_backend">
             <xpath expr="." position="inside">
-                <link rel="stylesheet" href="/eiru_service/static/src/css/vehicles.css"/>
+                <link rel="stylesheet" href="/eiru_service/static/src/css/custom.css"/>
             </xpath>
         </template>
     </data>

+ 34 - 0
wizard/budget_wizard.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+        <record model="ir.ui.view" id="project_service_budget_wizard_view">
+            <field name="name">project.service.budget.wizard.form</field>
+            <field name="model">project.service.budget.wizard</field>
+            <field name="arch" type="xml">
+                <form string="Budget">
+                    <group>
+                        <group>
+                            <field name='task_id' string="Tarea" invisible="1"/>
+                            <field name='user_id' string="Funcionario" readonly="1"/>
+                        </group>
+                        <group>
+                            <field name='date' string="Fecha" readonly="1"/>
+                            <field name='amount' string="Monto" readonly="1"/>
+                        </group>                        
+                    </group>
+                <footer>
+                    <button name="add_budget" type="object" class="oe_highlight" string="Aceptar"/>
+                </footer>
+                </form>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="action_budget_add">
+            <field name="name">Enviar Presupuesto</field>
+            <field name="res_model">project.service.budget.wizard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form</field>
+            <field name="target">new</field>
+        </record>
+    </data>
+</openerp>

+ 34 - 0
wizard/commission_wizard.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+        <record model="ir.ui.view" id="project_service_commission_wizard_view">
+            <field name="name">project.service.commission.wizard.form</field>
+            <field name="model">project.service.commission.wizard</field>
+            <field name="arch" type="xml">
+                <form string="Commission">
+                    <group>
+                        <group>
+                            <field name='task_id' string="Tarea" invisible="1"/>
+                            <field name='activity_id' string="Tarea"/>    
+                        </group>
+                        <group>
+                            <field name='user_id' string="Funcionario"/>
+                            <field name='amount' string="Valor de la comisión"/>    
+                        </group>                                                
+                    </group>
+                <footer>
+                    <button name="add_commision" type="object" class="oe_highlight" string="Aceptar"/>
+                </footer>
+                </form>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="action_commision_add">
+            <field name="name">Asignar comisión</field>
+            <field name="res_model">project.service.commission.wizard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form</field>
+            <field name="target">new</field>
+        </record>
+    </data>
+</openerp>