Kaynağa Gözat

commit inicial

Rodney Enciso Arias 8 yıl önce
işleme
8108f5885b
9 değiştirilmiş dosya ile 268 ekleme ve 0 silme
  1. 34 0
      __init__.py
  2. BIN
      __init__.pyc
  3. 40 0
      __openerp__.py
  4. 42 0
      res_partner.py
  5. BIN
      res_partner.pyc
  6. 25 0
      res_partner_view.xml
  7. 94 0
      res_state.py
  8. BIN
      res_state.pyc
  9. 33 0
      res_state_view.xml

+ 34 - 0
__init__.py

@@ -0,0 +1,34 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+# Copyright (c) 2012 Cubic ERP - Teradata SAC. (http://cubicerp.com).
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+import res_state
+import res_partner
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

BIN
__init__.pyc


+ 40 - 0
__openerp__.py

@@ -0,0 +1,40 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2012 Cubic ERP - Teradata SAC (<http://cubicerp.com>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+{
+    "name": "States Inherited (Recursive Ubication)",
+    "version": "1.0",
+    "description": """
+        Add parent state to standard state and transform the states on recursive ubication
+        """,
+    "author": "Cubic ERP",
+    "website": "http://cubicERP.com",
+    "category": "Others",
+    "depends": ["base"],
+    "data":["res_state_view.xml",
+            "res_partner_view.xml",
+            ],
+    "demo_xml": [ ],
+    "update_xml": [ ],
+    "active": False,
+    "installable": True,
+    "certificate" : "",
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 42 - 0
res_partner.py

@@ -0,0 +1,42 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+# Copyright (c) 2012 Cubic ERP - Teradata SAC. (http://cubicerp.com).
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from openerp.osv import fields, osv
+
+
+class res_partner(osv.osv):
+    
+    _name = 'res.partner'
+    _inherit = 'res.partner'
+    _columns = {
+        'state_id': fields.many2one("res.country.state", 'Ubication', domain="[('country_id','=',country_id),('type','=','normal')]"),
+        }
+
+res_partner()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

BIN
res_partner.pyc


+ 25 - 0
res_partner_view.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <record model="ir.ui.view" id="view_partner_form_states_inherit">
+            <field name='name'>res.partner.form.states.inherited</field>
+            <field name='model'>res.partner</field>
+            <field name="inherit_id" ref="base.view_partner_form"/>
+            <field name='type'>form</field>
+            <field name='arch' type='xml'>
+                <field name="state_id" position="replace"/>
+                <field name="country_id" position="replace"/>
+                <field name="zip" position="replace"/>
+                <field name="city" position="replace"/>
+                <field name="street2" position="after">
+                    <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True,"no_create":True}'/>
+                    <field name="state_id" class="oe_no_button" placeholder="Ubication" style="width: 100%%" options='{"no_open": True,"no_create":True}' domain="[('country_id','=',country_id),('type','=','normal')]" string="Ubication"/>
+                    <field name="zip" invisible="1"/>
+                    <field name="city" invisible="1"/>
+                </field>
+            </field>
+        </record>
+        
+    </data>
+</openerp>

+ 94 - 0
res_state.py

@@ -0,0 +1,94 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+# Copyright (c) 2012 Cubic ERP - Teradata SAC. (http://cubicerp.com).
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from openerp.osv import fields, osv
+
+
+class res_state(osv.osv):
+
+    def name_get(self, cr, uid, ids, context=None):
+        if not len(ids):
+            return []
+        res = []
+        for state in self.browse(cr, uid, ids, context=context):
+            data = []
+            acc = state
+            while acc:
+                data.insert(0, acc.name)
+                acc = acc.parent_id
+            data = ' / '.join(data)
+            res.append((state.id, (state.code and '[' + state.code + '] ' or '') + data))
+        
+        return res
+        
+    
+    def complete_name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
+        if not args:
+            args = []
+        args = args[:]
+        ids = []
+        if name:
+            ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit)
+            if not ids and len(name.split()) >= 2:
+                #Separating code and name of account for searching
+                operand1,operand2 = name.split(': ',1) #name can contain spaces e.g. OpenERP S.A.
+                ids = self.search(cr, user, [('name', operator, operand2)]+ args, limit=limit)
+        else:
+            ids = self.search(cr, user, args, context=context, limit=limit)
+        return self.name_get(cr, user, ids, context=context)
+    
+    def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
+        if not ids:
+            return []
+        res = []
+        for state in self.browse(cr, uid, ids, context=context):
+            data = []
+            acc = state
+            while acc:
+                data.insert(0, acc.name)
+                acc = acc.parent_id
+            data = ' / '.join(data)
+            res.append((state.id, data))
+        return dict(res)
+        
+    _name = 'res.country.state'
+    _inherit = 'res.country.state'
+    _columns = {
+            'code': fields.char('State Code', size=32,help='The state code.\n', required=True),
+            'complete_name': fields.function(_name_get_fnc, method=True, type="char", string='Complete Name', fnct_search=complete_name_search),
+            'parent_id': fields.many2one('res.country.state','Parent State', select=True, domain=[('type','=','view')]),
+            'child_ids': fields.one2many('res.country.state', 'parent_id', string='Child States'),
+            'type': fields.selection([('view','View'), ('normal','Normal')], 'Type'),
+        }
+    _defaults = {
+            'type': 'normal',
+        }
+
+res_state()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

BIN
res_state.pyc


+ 33 - 0
res_state_view.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        
+        <record id="view_country_state_tree_inherit" model="ir.ui.view">
+            <field name="name">res.country.state.tree.inherit</field>
+            <field name="model">res.country.state</field>
+            <field name="type">tree</field>
+            <field name='inherit_id' ref='base.view_country_state_tree'/>
+            <field name="arch" type="xml">
+                <xpath expr="/tree/field[@name='code']" position="after">
+                    <field name="complete_name"/>
+                    <field name="type"/>
+				</xpath>
+            </field>
+        </record>
+        
+        <record id="view_country_state_form_inherit" model="ir.ui.view">
+            <field name="name">res.country.state.form.inherit</field>
+            <field name="model">res.country.state</field>
+            <field name="type">form</field>
+            <field name='inherit_id' ref='base.view_country_state_form'/>
+            <field name="arch" type="xml">
+                <xpath expr="/form/group/field[@name='code']" position="replace">
+                    <field name="code"/>
+                    <field name="parent_id"/>
+                    <field name="type"/>
+				</xpath>
+            </field>
+        </record>
+
+    </data>
+</openerp>