~project-core-editors/project-reporting/7.0

« back to all changes in this revision

Viewing changes to project_billing_utils/wizard/dissociate_aal.py

  • Committer: Joël Grand-Guillaume
  • Date: 2011-08-12 12:53:16 UTC
  • Revision ID: joel.grandguillaume@camptocamp.com-20110812125316-h9j15tftssb1herp
[ADD] Commit of the modules used by C2C to move in our new public branch
(lp:c2c-addons/6.1  rev 2)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
#    Author Joel Grand-Guillaume. Copyright Camptocamp SA
 
5
#
 
6
##############################################################################
 
7
# WARNING: This program as such is intended to be used by professional
 
8
# programmers who take the whole responsability of assessing all potential
 
9
# consequences resulting from its eventual inadequacies and bugs
 
10
# End users who are looking for a ready-to-use solution with commercial
 
11
# garantees and support are strongly adviced to contract a Free Software
 
12
# Service Company
 
13
#
 
14
# This program is Free Software; you can redistribute it and/or
 
15
# modify it under the terms of the GNU General Public License
 
16
# as published by the Free Software Foundation; either version 2
 
17
# of the License, or (at your option) any later version.
 
18
#
 
19
# This program is distributed in the hope that it will be useful,
 
20
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
21
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
22
# GNU General Public License for more details.
 
23
#
 
24
# You should have received a copy of the GNU General Public License
 
25
# along with this program; if not, write to the Free Software
 
26
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
27
#
 
28
##############################################################################
 
29
 
 
30
 
 
31
from osv import fields, osv
 
32
from tools.translate import _
 
33
 
 
34
 
 
35
class DissociateInvoice(osv.osv_memory):
 
36
    _name = 'dissociate.aal.to.invoice'
 
37
    _description = 'Dissociate Analytic Lines'
 
38
    
 
39
 
 
40
    def dissociate_aal(self, cr, uid, ids, context):
 
41
        aal_obj = self.pool.get('account.analytic.line')
 
42
        aal_ids = context.get('active_ids', False)
 
43
        if isinstance(ids, list):
 
44
            req_id = ids[0]
 
45
        else:
 
46
            req_id = ids
 
47
        ids2=[]
 
48
        for id in aal_ids:
 
49
            ids2.append(id)
 
50
        # Use of SQL here cause otherwise the ORM won't allow to modify the invoiced AAL
 
51
        # which is exactly what we want !
 
52
        cr.execute("UPDATE account_analytic_line SET invoice_id = null WHERE id in (%s);"%(','.join(map(str,ids2))))
 
53
        
 
54
        return {}
 
55
 
 
56
DissociateInvoice()
 
 
b'\\ No newline at end of file'