deisy 5 éve
szülő
commit
bda039fb9b

BIN
__init__.pyc


+ 3 - 0
__openerp__.py

@@ -12,6 +12,7 @@
         'account',
         'product',
         'sale',
+        'purchase',
         'sale_stock',
         ],
     'data': [
@@ -19,7 +20,9 @@
         'views/res_zone.xml',
         'views/product.xml',
         'views/sale_order.xml',
+        'views/purchase_order.xml',
         'views/account_invoice.xml',
+        
     ],
 
     'installable': True,

+ 1 - 0
models/__init__.py

@@ -3,3 +3,4 @@ import res_partner
 import product
 import sale_order
 import account_invoice
+import purchase_order

BIN
models/__init__.pyc


BIN
models/account_invoice.pyc


BIN
models/product.pyc


+ 57 - 0
models/purchase_order.py

@@ -0,0 +1,57 @@
+# -*- encoding: utf-8 -*-
+
+from openerp import models, fields, api, tools, _
+from openerp.exceptions import Warning
+
+class purchase_order(models.Model):
+    _inherit = 'purchase.order'
+
+    ruc = fields.Char(string="Cédula/R.U.C", compute="_get_partner_data")
+    street = fields.Char(string="Dirección", compute="_get_partner_data")
+    state_id = fields.Many2one('res.country.state',string="Departamento", compute="_get_partner_data")
+    country_id = fields.Many2one('res.country',string="País", compute="_get_partner_data")
+    email = fields.Char(string="Email", compute="_get_partner_data")
+    phone = fields.Char(string="Teléfono", compute="_get_partner_data")
+    mobile = fields.Char(string="Celular", compute="_get_partner_data")
+
+
+    @api.onchange('partner_id')
+    def onchange_partner_id(self):
+        res = super(purchase_order, self).onchange_partner_id(self.partner_id.id)
+        if type(res) is dict and res.has_key('value'):
+            for field, value in res.get('value').items():
+                if hasattr(self, field):
+                    setattr(self, field, value)
+        if self.partner_id:
+            domain = [('id', '=', self.partner_id.id)]
+            partner = self.env['res.partner'].search(domain)
+            self.ruc = partner.ruc
+            self.street = partner.street
+            self.state_id = partner.state_id and partner.state_id.id or False
+            self.country_id = partner.country_id and partner.country_id.id or False
+            self.email = partner.email
+            self.phone = partner.phone
+            self.mobile = partner.mobile
+
+        if self.partner_id.supplier_type == 'exterior':
+            msj = {
+            'warning':{
+                'title': "Atención",
+                'message': "El proveedor seleccionado es del exterior"
+                }
+            }
+            return msj
+
+        return res
+
+    @api.one
+    def _get_partner_data(self):
+        domain = [('id', '=', self.partner_id.id)]
+        partner = self.env['res.partner'].search(domain)
+        self.ruc = partner.ruc
+        self.street = partner.street
+        self.state_id = partner.state_id and partner.state_id.id or False
+        self.country_id = partner.country_id and partner.country_id.id or False
+        self.email = partner.email
+        self.phone = partner.phone
+        self.mobile = partner.mobile

+ 5 - 0
models/res_partner.py

@@ -9,6 +9,11 @@ class ResPartner(models.Model):
     zone_id = fields.Many2one('res.zone', string='Zona')
     check_limit = fields.Float(string="L.C Cheques", default=9999999999)
     morosidad = fields.Integer(string="Días de morosidad para bloqueo", default=30)
+    supplier_type = fields.Selection([
+        ('local','Local'),
+        ('exterior','Exterior')],
+        string="Tipo")
+
 
 class ResZone(models.Model):
     _name = 'res.zone'

BIN
models/res_partner.pyc


BIN
models/sale_order.pyc


+ 42 - 0
views/purchase_order.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+  <data>
+    <record model="ir.ui.view" id="dikasa_purchase_form">
+       <field name="name">dikasa_purchase_form</field>
+       <field name="model">purchase.order</field>
+       <field name="inherit_id" ref="purchase.purchase_order_form"/>
+       <field name="arch" type="xml">
+         <field name="partner_id" position="replace">
+           <field name="partner_id" domain="[('supplier','=',True)]" options='{"always_reload": True}'/>
+         </field>
+         <field name="partner_id" position="after">
+            <field name="ruc"/>
+            <field name="street"/>
+            <field name="state_id"/>
+            <field name="country_id"/>
+            <field name="email"/>
+            <field name="phone"/>
+            <field name="mobile"/>
+         </field>
+         <field name="validator" position="attributes">
+            <attribute name="string">Confirmado por</attribute>
+         </field>
+
+         <xpath expr="//form/sheet/notebook//page[@string='RFQ &amp; Bid']" position="attributes">
+           <attribute name="attrs">{'invisible':True}</attribute>
+         </xpath>
+
+         <field name="pricelist_id" position="replace"></field>
+         <field name="currency_id" position="replace"></field>
+
+         <field name="picking_type_id" position="after">
+            <field name="pricelist_id"/>
+            <field name="currency_id"/>
+         </field>
+
+
+      </field>
+    </record>
+
+</data>
+</openerp>

+ 6 - 2
views/res_partner.xml

@@ -9,16 +9,20 @@
          <field name="website"  position="before">
            <field name="zone_id"/>
          </field>
+         <field name="website"  position="after">
+           <field name="supplier_type" attrs="{'invisible':[('supplier','!=',True)]}"/>
+         </field>
       </field>
     </record>
     <record model="ir.ui.view" id="dikasa_partner_form2">
        <field name="name">dikasa_partner_form2</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="account.view_partner_property_form"/>
+       <field name="groups_id" eval="[(6, 0, [ref('base.group_sale_salesman')])]"/>
        <field name="arch" type="xml">
          <field name="credit_limit"  position="after">
-           <field name="check_limit"/>
-           <field name="morosidad"/>
+           <field name="check_limit" readonly="1"/>
+           <field name="morosidad" readonly="1"/>
            <field name="customer_categ"/>
          </field>
       </field>

+ 1 - 0
views/sale_order.xml

@@ -21,6 +21,7 @@
          </field>
          <field name="user_id" position="attributes">
             <attribute name="string">Vendedor</attribute>
+            <attribute name="readonly">True</attribute>
          </field>
          <field name="user_id" position="after">
             <field name="create_uid" readonly="1"/>