You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.9 KiB

  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # OpenERP, Open Source Management Solution
  5. # This module copyright (C) 2013-2014 Therp BV (<http://therp.nl>).
  6. #
  7. # @autors: Stefan Rijnhart, Ronald Portier
  8. #
  9. # This program is free software: you can redistribute it and/or modify
  10. # it under the terms of the GNU Affero General Public License as
  11. # published by the Free Software Foundation, either version 3 of the
  12. # License, or (at your option) any later version.
  13. #
  14. # This program is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. # GNU Affero General Public License for more details.
  18. #
  19. # You should have received a copy of the GNU Affero General Public License
  20. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  21. #
  22. ##############################################################################
  23. import logging
  24. from openerp import pooler, SUPERUSER_ID
  25. def migrate(cr, version):
  26. """
  27. Post-install script. If version is not set, we are called at installation
  28. time. Because 'street' is now a stored function field, we should be able
  29. to retrieve its values from the cursor. We use those to fill the new
  30. name/number fields using the street field's inverse function, which does
  31. a basic street name/number split.
  32. """
  33. if version:
  34. return
  35. logging.getLogger('openerp.addons.partner_street_number').info(
  36. 'Migrating existing street names')
  37. cr.execute(
  38. 'SELECT id, street FROM res_partner '
  39. 'WHERE street IS NOT NULL and street_name IS NULL'
  40. )
  41. partner_obj = pooler.get_pool(cr.dbname)['res.partner']
  42. for partner in cr.fetchall():
  43. partner_obj.write(
  44. cr, SUPERUSER_ID, partner[0], {'street': partner[1]})