Jelajahi Sumber

commit inicial

Rodney Elpidio Enciso Arias 7 tahun lalu
melakukan
382138d7fa
16 mengubah file dengan 207 tambahan dan 0 penghapusan
  1. 2 0
      __init__.py
  2. TEMPAT SAMPAH
      __init__.pyc
  3. 16 0
      __openerp__.py
  4. 4 0
      model/__init__.py
  5. TEMPAT SAMPAH
      model/__init__.pyc
  6. TEMPAT SAMPAH
      model/car_services.pyc
  7. 27 0
      model/product_service.py
  8. TEMPAT SAMPAH
      model/product_service.pyc
  9. 17 0
      model/project_service.py
  10. TEMPAT SAMPAH
      model/project_service.pyc
  11. TEMPAT SAMPAH
      model/proyect_car.pyc
  12. 38 0
      model/res_partner.py
  13. TEMPAT SAMPAH
      model/res_partner.pyc
  14. 26 0
      views/product_service.xml
  15. 22 0
      views/project_service.xml
  16. 55 0
      views/res_partner.xml

+ 2 - 0
__init__.py

@@ -0,0 +1,2 @@
+# -*- encoding: utf-8 -*-
+from . import model

TEMPAT SAMPAH
__init__.pyc


+ 16 - 0
__openerp__.py

@@ -0,0 +1,16 @@
+# -*- encoding: utf-8 -*-
+{
+    'name': 'Eiru Service Car WorkShop',
+    'version': '1.0',
+    'category': 'Product',
+    'summary': 'Car services for odoo',
+    'author': 'Eiru',
+    'license': 'AGPL-3',
+    'depends': ['product','eiru_service'],
+    'data': [
+        'views/product_service.xml',
+        'views/project_service.xml',
+        'views/res_partner.xml',
+    ],
+    'installable': True,
+}

+ 4 - 0
model/__init__.py

@@ -0,0 +1,4 @@
+# -*- encoding: utf-8 -*-
+from . import product_service
+from . import project_service
+from . import res_partner

TEMPAT SAMPAH
model/__init__.pyc


TEMPAT SAMPAH
model/car_services.pyc


+ 27 - 0
model/product_service.py

@@ -0,0 +1,27 @@
+# -*- encoding: utf-8 -*-
+from openerp import models, fields, api, tools
+from openerp.exceptions import ValidationError
+
+class ProductServiceCarWorkShop(models.Model):
+    _inherit = 'product.service'
+
+    year=fields.Integer('Año')
+    color=fields.Char('Color')
+    policy = fields.Boolean()
+    policy_number =fields.Char('Número de chapa')
+    agent_id = fields.Many2one(
+        'res.partner',
+        string='Agente',
+        ondelete='restrict'
+    )
+    secure_id = fields.Many2one(
+        'res.partner',
+        string='Aseguradora',
+        ondelete='restrict'
+    )
+    odometer = fields.Float('Odometro')
+    car_value = fields.Float('Valor del vehiculo')
+    transmission = fields.Selection([('manual','Manual'), ('automatic','Automatico')], string="Tipo de transmision")
+    fuel_type = fields.Selection([('gasoline','Gasolina'), ('diesel','Diesel'), ('electric','Electrico'), ('hybrid','Hibrido')], string="Tipo de combustible")
+    seats = fields.Integer('Nro. de asientos')
+    doors = fields.Integer('Nro. de puertas')

TEMPAT SAMPAH
model/product_service.pyc


+ 17 - 0
model/project_service.py

@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+from openerp import models, fields, api
+from openerp.exceptions import except_orm, Warning, RedirectWarning
+
+class ProjectServiceCarWorkShop(models.Model):
+    _inherit = 'project.service'
+
+    agent_id = fields.Many2one('res.partner', string='Agente de Seguro')
+    policy = fields.Boolean()
+
+    @api.one 
+    @api.onchange('name')
+    def onchange_name(self):
+        self.partner_id = self.name.partner_id.id
+        self.agent_id = self.name.agent_id.id
+        self.policy = self.name.policy

TEMPAT SAMPAH
model/project_service.pyc


TEMPAT SAMPAH
model/proyect_car.pyc


+ 38 - 0
model/res_partner.py

@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+
+from openerp import models, fields, api
+
+class ResPartnerCar(models.Model):
+    _inherit = 'res.partner'
+
+    is_insurer = fields.Boolean()
+    is_agent = fields.Boolean()
+
+    car_ids = fields.One2many(
+        'product.service',
+        'partner_id',
+    )
+    car_count = fields.Integer(
+        string='Numero de autos',
+        compute='_get_car_count',
+    )
+
+    @api.one
+    @api.depends('car_ids')
+    def _get_car_count(self):
+        self.car_count = len(self.car_ids)
+
+
+    car_secure_ids = fields.One2many(
+        'product.service',
+        'secure_id',
+    )
+    car_secure_count = fields.Integer(
+        string='Asegurados',
+        compute='_get_car_secure_count',
+    )
+
+    @api.one
+    @api.depends('car_secure_ids')
+    def _get_car_secure_count(self):
+        self.car_secure_count = len(self.car_secure_ids)

TEMPAT SAMPAH
model/res_partner.pyc


+ 26 - 0
views/product_service.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Form view -->
+
+        <record model="ir.ui.view" id="product_service_form_inherit">
+            <field name="name">product.service.form.inherit</field>
+            <field name="model">product.service</field>
+            <field name="inherit_id" ref="eiru_service.product_service_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//group[@string='Información legal']" position="inside">
+                    <field name="policy" string="¿Tiene seguro?"/>
+                    <field name="policy_number" string="Número de poliza" attrs="{'invisible': [('policy','=', False)],'required': [('policy','=', True)]}" domain="[('is_insurer','=',True)]"/>
+                    <field name="secure_id" string="Aseguradora" attrs="{'invisible': [('policy','=', False)],'required': [('policy','=', True)]}" domain="[('is_insurer','=',True)]"/>
+                    <field name="agent_id" string="Agente" attrs="{'invisible': [('policy','=', False)],'required': [('policy','=', True)]}" domain="[('is_agent','=', True),('parent_id','=', secure_id)]"/>
+                </xpath>
+                <xpath expr="//group[@string='Información Adicional']" position="inside">
+                    <field name="seats" string="Número de asientos"/>
+                    <field name="doors" string="Número de puertas"/>
+                    <field name="color" string="Color"/>
+                </xpath>
+            </field>
+        </record>
+    </data>
+</openerp>

+ 22 - 0
views/project_service.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+
+        <!-- Form view -->
+
+        <record model="ir.ui.view" id="project_service_inherit">
+            <field name="name">project.service.form.inherit</field>
+            <field name="model">project.service</field>
+            <field name="inherit_id" ref="eiru_service.project_service_form"/>
+            <field name="arch" type="xml">
+                <field name="partner_id" position="after">
+                    <field name="policy" string="¿Entra por medio de seguro?" attrs="{'readonly': [('state','=', 'close')]}"/>
+                </field>
+                <field name="policy" position="after">
+                    <field name="agent_id" string="Agente de seguro" attrs="{'invisible': [('policy','=', False)],'readonly': [('state','=', 'close')]}"/>
+                </field>
+            </field>
+        </record>
+
+    </data>
+</openerp>

+ 55 - 0
views/res_partner.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+        <act_window
+            id="action_open_cars"
+            name="Vehiculos"
+            res_model="product.service"
+            view_type="form"
+            view_mode="tree,form"
+            domain="[('partner_id', '=', active_id)]"/>
+
+        <act_window
+            id="action_open_secure_cars"
+            name="Vehiculos Asegurados"
+            res_model="product.service"
+            view_type="form"
+            view_mode="tree,form"
+            domain="[('secure_id', '=', active_id)]"/>
+
+        <record id="res_partner_secure_form_view" model="ir.ui.view">
+            <field name="name">partner.secure.form.view</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="base.view_partner_form"/>
+            <field name="arch" type="xml">
+                <field name="category_id" position="after">
+                    <field name="is_insurer" class="oe_inline" attrs="{'invisible': [('is_company','=', False)]}"/><label for="is_insurer" string="¿Es un Aseguradora?" attrs="{'invisible': [('is_company','=', False)]}"/>
+                    <field name="is_agent" class="oe_inline" attrs="{'invisible': [('is_company','!=', False)]}"/><label for="is_agent" string="¿Es un Agente?" attrs="{'invisible': [('is_company','!=', False)]}"/>
+                </field>
+                <field name="parent_id" position="replace">
+                     <field name="parent_id" placeholder="Company" domain="[('is_company', '=', True),('is_insurer', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer}" attrs="{'invisible': [('is_company','=', True),('parent_id', '=', False)],'required': [('is_agent','=', True)]}" on_change="onchange_address(use_parent_address, parent_id)"/>
+                </field>
+                <div name="buttons" position="after">
+                    <div class="oe_right oe_button_box">
+                        <button
+                            class="oe_inline oe_stat_button"
+                            type="action"
+                            name="%(action_open_cars)d"
+                            icon="fa fa-car"
+                            attrs="{'invisible': [('customer', '=', False)]}">
+                            <field name="car_count" string="Vehiculos" widget="statinfo" />
+                        </button>
+                        <button
+                            class="oe_inline oe_stat_button"
+                            type="action"
+                            name="%(action_open_secure_cars)d"
+                            icon="fa fa-folder-open"
+                            attrs="{'invisible': [('is_insurer', '=', False)]}">
+                            <field name="car_secure_count" string="Asegurados" widget="statinfo" />
+                        </button>
+                    </div>
+                </div>
+            </field>
+        </record>
+    </data>
+</openerp>