Browse Source

[FIX] Use the migration machinery to launch the initialization of the newly created column on account_move_line only on the first installation of the module account_financial_report_webkit

pull/12/head
Laurent Mignon (aka lmi) 10 years ago
parent
commit
6ebcf041c8
  1. 20
      account_financial_report_webkit/account_move_line.py
  2. 41
      account_financial_report_webkit/migrations/7.0.1.0.2/post-migration.py

20
account_financial_report_webkit/account_move_line.py

@ -29,26 +29,6 @@ class AccountMoveLine(orm.Model):
account move line""" account move line"""
_inherit = 'account.move.line' _inherit = 'account.move.line'
def init(self, cr):
# We do not want to catch error as if sql is not run it will give
# invalid data
cr.execute("UPDATE account_move_line as acm "
" SET last_rec_date ="
" (SELECT date from account_move_line"
" WHERE reconcile_id = acm.reconcile_id"
" AND reconcile_id IS NOT NULL"
" ORDER BY date DESC LIMIT 1)"
" WHERE last_rec_date is null;")
cr.execute("UPDATE account_move_line as acm "
" SET last_rec_date ="
" (SELECT date from account_move_line"
" WHERE reconcile_partial_id"
" = acm.reconcile_partial_id"
" AND reconcile_partial_id IS NOT NULL"
" ORDER BY date DESC LIMIT 1)"
" WHERE last_rec_date is null;")
def _get_move_line_from_line_rec(self, cr, uid, ids, context=None): def _get_move_line_from_line_rec(self, cr, uid, ids, context=None):
moves = [] moves = []
for reconcile in self.pool['account.move.reconcile'].browse( for reconcile in self.pool['account.move.reconcile'].browse(

41
account_financial_report_webkit/migrations/7.0.1.0.2/post-migration.py

@ -0,0 +1,41 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Author: Nicolas Bessi.
# Copyright Camptocamp SA 2011
#
# 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 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
def migrate(cr, version):
if not version:
# only run at first install
cr.execute("UPDATE account_move_line as acm "
" SET last_rec_date ="
" (SELECT date from account_move_line"
" WHERE reconcile_id = acm.reconcile_id"
" AND reconcile_id IS NOT NULL"
" ORDER BY date DESC LIMIT 1)"
" WHERE last_rec_date is null;")
cr.execute("UPDATE account_move_line as acm "
" SET last_rec_date ="
" (SELECT date from account_move_line"
" WHERE reconcile_partial_id"
" = acm.reconcile_partial_id"
" AND reconcile_partial_id IS NOT NULL"
" ORDER BY date DESC LIMIT 1)"
" WHERE last_rec_date is null;")
Loading…
Cancel
Save