~vauxoo/openerp-venezuela-localization/ovl70-import-libs-kty

« back to all changes in this revision

Viewing changes to l10n_ve_fiscal_requirements/wizard/account_invoice_refund.py

  • Committer: Humberto Arocha
  • Date: 2013-01-11 14:16:41 UTC
  • mfrom: (764.1.47 ovl70-fr-rev-hbto)
  • Revision ID: humbertoarocha@gmail.com-20130111141641-phgy7sjfas032hae
 
[MERGE] First YAML Revision in Fiscal Requirements

Show diffs side-by-side

added added

removed removed

Lines of Context:
79
79
                res['fields'][field]['selection'] = journal_select
80
80
        return res
81
81
 
82
 
    def _get_period(self, cr, uid, context={}):
83
 
        """
84
 
        Return  default account period value
85
 
        """
86
 
        period_id= False
87
 
        if context.get('active_id',False):
88
 
            invo_obj = self.pool.get('account.invoice')
89
 
            invo_brw = invo_obj.browse(cr,uid,context.get('active_id'),{})
90
 
            period_id = invo_brw and invo_brw.period_id and invo_brw.period_id.id
91
 
        return period_id
92
 
        
93
 
        
94
 
        
95
 
        return period_id
96
 
 
97
82
    def _get_orig(self, cr, uid, inv, ref, context={}):
98
83
        """
99
84
        Return  default origin value
165
150
                    raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode))
166
151
                if inv.reconciled and mode in ('cancel', 'modify'):
167
152
                    raise osv.except_osv(_('Error !'), _('Can not %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice') % (mode))
168
 
                #Take period from the current date
169
 
                period = form.get('period') and form.get('period')[0] or self._get_period(cr, uid, context)
 
153
                period = form.get('period') and form.get('period')[0] or False
 
154
                if not period:
 
155
                        #Take period from the current date
 
156
                    period = self.pool.get('account.period').find(cr, uid, context=context)
 
157
                    period = period and period[0] or False
 
158
                    if not period:
 
159
                        raise osv.except_osv(_('No Pediod Defined'), \
 
160
                                _('You have been left empty the period field that automatically fill with the current period. However there is not period defined for the current company. Please check in Accounting/Configuration/Periods'))
 
161
                    self.write(cr, uid, ids, {'period': period }, context=context)
170
162
 
171
163
                if not journal_brw:
172
164
                    journal_id = inv.journal_id.id
253
245
                                    'journal_id', 'period_id'], context=context)
254
246
                        invoice = invoice[0]
255
247
                        del invoice['id']
256
 
                        invoice_lines = inv_line_obj.read(cr, uid, invoice['invoice_line'], context=context)
 
248
                        invoice_lines = inv_line_obj.browse(cr, uid, invoice['invoice_line'], context=context)
 
249
 
257
250
                        invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines)
258
 
                        tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context)
 
251
                        tax_lines = inv_tax_obj.browse(cr, uid, invoice['tax_line'], context=context)
259
252
                        tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines)
260
253
                        #Add origin value
261
254
                        orig = self._get_orig(cr, uid, inv, invoice['reference'], context)
283
276
                        
284
277
                        new_inv_brw = inv_obj.browse(cr,uid,created_inv[1],context=context)
285
278
                        inv_obj.write(cr,uid,created_inv[0],{'name':wzd_brw.description,'origin':new_inv_brw.origin},context=context)
286
 
                        inv_obj.write(cr,uid,created_inv[1],{'origin':inv.origin,'description':''},context=context)
 
279
                        inv_obj.write(cr,uid,created_inv[1],{'origin':inv.origin,'name':wzd_brw.description},context=context)
287
280
            if inv.type in ('out_invoice', 'out_refund'):
288
281
                xml_id = 'action_invoice_tree3'
289
 
                if hasattr(inv, 'sale_ids'):
290
 
                    for i in inv.sale_ids:
291
 
                        cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (i.id, refund_id[0]))
 
282
                #~ if hasattr(inv, 'sale_ids'):
 
283
                    #~ for i in inv.sale_ids:
 
284
                        #~ cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (i.id, refund_id[0]))
292
285
            else:
293
286
                xml_id = 'action_invoice_tree4'
294
287
            result = mod_obj.get_object_reference(cr, uid, 'account', xml_id)
300
293
            
301
294
            if wzd_brw.filter_refund == 'cancel':
302
295
                orig = self._get_orig(cr, uid, inv, inv.reference, context)
303
 
                inv_obj.write(cr,uid,created_inv[0],{'origin':orig,'description':wzd_brw.description},context=context)
 
296
                inv_obj.write(cr,uid,created_inv[0],{'origin':orig,'name':wzd_brw.description},context=context)
304
297
            
305
298
            if wzd_brw.filter_refund == 'refund':
306
299
                orig = self._get_orig(cr, uid, inv, inv.reference, context)
307
 
                inv_obj.write(cr,uid,created_inv[0],{'origin':inv.origin,'description':wzd_brw.description},context=context)
 
300
                inv_obj.write(cr,uid,created_inv[0],{'origin':inv.origin,'name':wzd_brw.description},context=context)
308
301
            return result
309
302
 
310
303
    def validate_total_payment_inv(self, cr, uid, ids, context=None):
354
347
                    if moveline.reconcile_partial_id:
355
348
                        rec += [moveline.reconcile_partial_id.id]
356
349
                movelines = moveline_obj.search(cr, uid, [('|'),('reconcile_id','in',rec),('reconcile_partial_id','in',rec)],context=context)
357
 
                for mids in moveline_obj.browse(cr, uid, movelines, ['move_id']):
 
350
                for mids in moveline_obj.browse(cr, uid, movelines, context=context):
358
351
                    mid +=[mids.move_id.id]
359
352
                voucherids = voucher_pool.search(cr, uid,[('move_id','in',mid)])
360
353
            if voucherids: