← Back to team overview

banking-addons-team team mailing list archive

[Merge] lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes into lp:banking-addons/banking-addons-70

 

Stefan Rijnhart (Therp) has proposed merging lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes into lp:banking-addons/banking-addons-70.

Requested reviews:
  Banking Addons Core Editors (banking-addons-team)

For more details, see:
https://code.launchpad.net/~therp-nl/banking-addons/ba70-partner_wizard_fixes/+merge/176785
-- 
https://code.launchpad.net/~therp-nl/banking-addons/ba70-partner_wizard_fixes/+merge/176785
Your team Banking Addons Core Editors is requested to review the proposed merge of lp:~therp-nl/banking-addons/ba70-partner_wizard_fixes into lp:banking-addons/banking-addons-70.
=== modified file 'account_banking/banking_import_transaction.py'
--- account_banking/banking_import_transaction.py	2013-06-26 21:14:41 +0000
+++ account_banking/banking_import_transaction.py	2013-07-24 21:03:27 +0000
@@ -1299,9 +1299,9 @@
         'exchange_rate': fields.float('exchange_rate'),
         'transferred_amount': fields.float('transferred_amount'),
         'message': fields.char('message', size=1024),
-        'remote_owner': fields.char('remote_owner', size=24),
-        'remote_owner_address': fields.char('remote_owner_address', size=24),
-        'remote_owner_city': fields.char('remote_owner_city', size=24),
+        'remote_owner': fields.char('remote_owner', size=128),
+        'remote_owner_address': fields.char('remote_owner_address', size=256),
+        'remote_owner_city': fields.char('remote_owner_city', size=128),
         'remote_owner_postalcode': fields.char('remote_owner_postalcode', size=24),
         'remote_owner_country_code': fields.char('remote_owner_country_code', size=24),
         'remote_owner_custno': fields.char('remote_owner_custno', size=24),

=== modified file 'account_banking/wizard/banking_transaction_wizard.py'
--- account_banking/wizard/banking_transaction_wizard.py	2013-06-26 21:14:41 +0000
+++ account_banking/wizard/banking_transaction_wizard.py	2013-07-24 21:03:27 +0000
@@ -314,6 +314,10 @@
         'ref': fields.related(
             'statement_line_id', 'ref', type='char', size=32,
             string="Reference", readonly=True),
+        'message': fields.related(
+            'statement_line_id', 'import_transaction_id', 'message',
+            type='char', size=1024,
+            string="Message", readonly=True),
         'partner_id': fields.related(
             'statement_line_id', 'partner_id',
             type='many2one', relation='res.partner',

=== modified file 'account_banking/wizard/banking_transaction_wizard.xml'
--- account_banking/wizard/banking_transaction_wizard.xml	2013-06-26 21:14:41 +0000
+++ account_banking/wizard/banking_transaction_wizard.xml	2013-07-24 21:03:27 +0000
@@ -17,8 +17,9 @@
                             <separator string="Transaction data" colspan="4"/>
                             <field name="partner_id"/>
                             <field name="date"/>
+                            <field name="amount"/>
                             <field name="ref"/>
-                            <field name="amount"/>
+                            <field name="message" colspan="4"/>
                         </group>
                         
                         <!-- (semi-) automatic matching and selection -->

=== modified file 'account_banking/wizard/link_partner.py'
--- account_banking/wizard/link_partner.py	2013-05-01 14:25:04 +0000
+++ account_banking/wizard/link_partner.py	2013-07-24 21:03:27 +0000
@@ -22,6 +22,7 @@
 from openerp.osv import orm, fields
 from openerp.tools.translate import _
 from openerp.addons.account_banking.wizard import banktools
+import ast
 
 class link_partner(orm.TransientModel):
     _name = 'banking.link_partner'
@@ -37,6 +38,16 @@
         'statement_line_id': fields.many2one(
             'account.bank.statement.line',
             'Statement line', required=True),
+        'amount': fields.related(
+            'statement_line_id', 'amount', type='float',
+            string="Amount", readonly=True),
+        'ref': fields.related(
+            'statement_line_id', 'ref', type='char', size=32,
+            string="Reference", readonly=True),
+        'message': fields.related(
+            'statement_line_id', 'import_transaction_id', 'message',
+            type='char', size=1024,
+            string="Message", readonly=True),
         'remote_account': fields.char(
             'Account number', size=24, readonly=True),
         # Partner values
@@ -50,6 +61,11 @@
         'phone': fields.char('Phone', size=64),
         'fax': fields.char('Fax', size=64),
         'mobile': fields.char('Mobile', size=64),
+        'is_company': fields.boolean('Is a Company'),
+        }
+    
+    _defaults = {
+        'is_company': True,
         }
     
     def create(self, cr, uid, vals, context=None):
@@ -79,9 +95,19 @@
             if 'customer' not in vals and statement_line.amount > 0:
                 vals['customer'] = True
 
-            if not vals.get('street'):
-                vals['street'] = transaction.remote_owner_address
-            if not vals.get('street'):
+            address_list = []
+            try:
+                address_list = ast.literal_eval(
+                    transaction.remote_owner_address or [])
+            except ValueError:
+                pass
+            if address_list and not vals.get('street'):
+                vals['street'] = address_list.pop(0)
+            if address_list and not vals.get('street2'):
+                vals['street2'] = address_list.pop(0)
+            if transaction.remote_owner_postalcode and not vals.get('zip'):
+                vals['zip'] = transaction.remote_owner_postalcode
+            if transaction.remote_owner_city and not vals.get('city'):
                 vals['city'] = transaction.remote_owner_city
             if not vals.get('country_id'):
                 vals['country_id'] = banktools.get_country_id(
@@ -101,10 +127,12 @@
         :param wizard: read record of wizard (with load='_classic_write')
         :param values: the dictionary of partner values that will be updated
         """
-        for field in ['name',
+        for field in ['is_company',
+                      'name',
                       'street', 
                       'street2',
                       'zip',
+                      'city',
                       'country_id',
                       'state_id',
                       'phone',
@@ -126,10 +154,7 @@
         else:
             wiz_read = self.read(
                 cr, uid, ids[0], context=context, load='_classic_write')
-            partner_fields = self.pool.get(
-                'res.partner')._columns.keys()
             partner_vals = {
-                    'is_company': True,
                     'type': 'default',
                     }
             self.update_partner_values(

=== modified file 'account_banking/wizard/link_partner.xml'
--- account_banking/wizard/link_partner.xml	2013-05-01 14:25:04 +0000
+++ account_banking/wizard/link_partner.xml	2013-07-24 21:03:27 +0000
@@ -7,15 +7,24 @@
             <field name="model">banking.link_partner</field>
             <field name="arch" type="xml">
                 <form string="Link partner">
-                    <group colspan="4" col="6">
+                    <group colspan="4" col="6" string="Transaction data">
+                        <field name="ref" />
+                        <field name="amount" />
+                        <field name="remote_account" />
+                        <field name="message" colspan="6"/>
+                    </group>
+                    <group colspan="4" col="4" string="Create or link partner">
                         <field name="name"
                                attrs="{'readonly': [('partner_id', '!=', False)]}" />
                         <field name="partner_id"/>
-                        <field name="remote_account" />
+                    </group>
+                    <group colspan="2">
+                        <field name="is_company" />
                     </group>
                     <group colspan="4"
                            string="Address"
-                           attrs="{'invisible': [('partner_id', '!=', False)]}">
+                           attrs="{'invisible': [('partner_id', '!=', False)]}"
+                           col="4">
                         <group colspan="2" col="2">
                             <field name="street"/>
                             <field name="street2"/>


Follow ups