diff --git a/account_renumber/__init__.py b/account_renumber/__init__.py index aa11646ab..d1223afbf 100644 --- a/account_renumber/__init__.py +++ b/account_renumber/__init__.py @@ -23,6 +23,5 @@ """ Account renumber wizard """ -__author__ = "Borja López Soilán (Pexego) - borjals@pexego.es" import wizard diff --git a/account_renumber/__openerp__.py b/account_renumber/__openerp__.py index a56286f65..fa97670a4 100644 --- a/account_renumber/__openerp__.py +++ b/account_renumber/__openerp__.py @@ -45,12 +45,9 @@ It will recreate the sequence number of each account move using their journal se """, "license" : "AGPL-3", "depends" : [ - 'base', 'account', ], - "init_xml" : [ - ], - "demo_xml" : [], + "demo" : [], "data": [ 'wizard/wizard_renumber_view.xml', ], diff --git a/account_renumber/i18n/account_renumber.pot b/account_renumber/i18n/account_renumber.pot index 68894e4c1..707bfe4cb 100644 --- a/account_renumber/i18n/account_renumber.pot +++ b/account_renumber/i18n/account_renumber.pot @@ -5,143 +5,129 @@ msgid "" msgstr "" "Project-Id-Version: OpenERP Server 7.0-20130902-231053\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2013-09-24 10:12+0000\n" -"PO-Revision-Date: 2013-09-24 10:12+0000\n" -"Last-Translator: Joaquin Gutierrez\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-09-26 16:17+0000\n" +"PO-Revision-Date: 2013-09-26 16:17+0000\n" +"Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" +"Content-Transfer-Encoding: \n" "Plural-Forms: \n" #. module: account_renumber #: selection:wizard.renumber,state:0 msgid "Renumbering" -msgstr "Renumbering" +msgstr "" #. module: account_renumber #: help:wizard.renumber,period_ids:0 msgid "Fiscal periods to renumber" -msgstr "Fiscal periods to renumber" +msgstr "" + +#. module: account_renumber +#: model:ir.actions.act_window,name:account_renumber.action_account_renumber +#: model:ir.ui.menu,name:account_renumber.menu_account_renumber +msgid "Renumber journal entries" +msgstr "" #. module: account_renumber #: field:wizard.renumber,number_next:0 msgid "First Number" -msgstr "First Number" +msgstr "" #. module: account_renumber #: field:wizard.renumber,state:0 msgid "unknown" -msgstr "unknown" - -#. module: account_renumber -#: view:wizard.renumber:0 -msgid "Show Results" -msgstr "Show Results" +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 msgid "Renumber" -msgstr "Renumber" - -#. module: account_renumber -#: view:wizard.renumber:0 -msgid "You may now review them using the show results button." -msgstr "You may now review them using the show results button." +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 #: field:wizard.renumber,journal_ids:0 msgid "Journals" -msgstr "Journals" - -#. module: account_renumber -#: code:addons/account_renumber/wizard/wizard_renumber.py:178 -#, python-format -msgid "Wizard successfully executed " -msgstr "Wizard successfully executed " +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 msgid "Journals and periods to consider" -msgstr "Journals and periods to consider" +msgstr "" #. module: account_renumber #: selection:wizard.renumber,state:0 msgid "Initial" -msgstr "Initial" +msgstr "" #. module: account_renumber #: help:wizard.renumber,journal_ids:0 msgid "Journals to renumber" -msgstr "Journals to renumber" +msgstr "" #. module: account_renumber -#: model:ir.actions.act_window,name:account_renumber.action_account_renumber -#: model:ir.ui.menu,name:account_renumber.menu_account_renumber #: view:wizard.renumber:0 msgid "Renumber Account Moves" -msgstr "Renumber Account Moves" +msgstr "" #. module: account_renumber -#: view:wizard.renumber:0 -msgid "Posted moves from those journals will be sorted by date and then assigned sequential numbers using their journal sequence." -msgstr "Posted moves from those journals will be sorted by date and then assigned sequential numbers using their journal sequence." +#: code:addons/account_renumber/wizard/wizard_renumber.py:197 +#, python-format +msgid "Renumbered account moves" +msgstr "" #. module: account_renumber #: model:ir.model,name:account_renumber.model_wizard_renumber msgid "wizard.renumber" -msgstr "wizard.renumber" +msgstr "" #. module: account_renumber -#: view:wizard.renumber:0 -msgid "The moves of the selected journals and periods have been renumbered." -msgstr "The moves of the selected journals and periods have been renumbered." +#: code:addons/account_renumber/wizard/wizard_renumber.py:139 +#, python-format +msgid "No Data Available" +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 msgid "General Data" -msgstr "General Data" +msgstr "" #. module: account_renumber -#: code:addons/account_renumber/wizard/wizard_renumber.py:209 -#, python-format -msgid "Renumbered account moves" -msgstr "Renumbered account moves" +#: view:wizard.renumber:0 +msgid "This wizard will help you renumber entries in one or more journals." +msgstr "" #. module: account_renumber -#: code:addons/account_renumber/wizard/wizard_renumber.py:129 -#: code:addons/account_renumber/wizard/wizard_renumber.py:137 -#, python-format -msgid "No Data Available" -msgstr "No Data Available" +#: view:wizard.renumber:0 +msgid "sequential numbers using their journal sequence." +msgstr "" #. module: account_renumber -#: code:addons/account_renumber/wizard/wizard_renumber.py:129 -#: code:addons/account_renumber/wizard/wizard_renumber.py:137 +#: code:addons/account_renumber/wizard/wizard_renumber.py:140 #, python-format msgid "No records found for your selection!" -msgstr "No records found for your selection!" +msgstr "" + +#. module: account_renumber +#: view:wizard.renumber:0 +msgid "Posted moves from those journals will be sorted by date and then assigned" +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 #: field:wizard.renumber,period_ids:0 msgid "Periods" -msgstr "Periods" +msgstr "" #. module: account_renumber #: view:wizard.renumber:0 msgid "Cancel" -msgstr "Cancel" - -#. module: account_renumber -#: view:wizard.renumber:0 -msgid "This wizard will help you renumber one or more journals." -msgstr "This wizard will help you renumber one or more journals." +msgstr "" #. module: account_renumber #: help:wizard.renumber,number_next:0 msgid "Journal sequences will start counting on this number" -msgstr "Journal sequences will start counting on this number" +msgstr "" diff --git a/account_renumber/i18n/es.po b/account_renumber/i18n/es.po index 41ad28229..728e9cf3f 100644 --- a/account_renumber/i18n/es.po +++ b/account_renumber/i18n/es.po @@ -7,15 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-09-24 10:12+0000\n" -"PO-Revision-Date: 2013-09-24 12:19+0100\n" +"PO-Revision-Date: 2013-09-24 12:21+0100\n" "Last-Translator: Joaquin Gutierrez \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n" -"X-Generator: Launchpad (build 16309)\n" +"Plural-Forms: \n" #. module: account_renumber #: selection:wizard.renumber,state:0 diff --git a/account_renumber/wizard/__init__.py b/account_renumber/wizard/__init__.py index bdc795e74..ac53851ce 100644 --- a/account_renumber/wizard/__init__.py +++ b/account_renumber/wizard/__init__.py @@ -23,7 +23,7 @@ """ Account renumber wizard """ -__author__ = "Borja López Soilán (Pexego) - borjals@pexego.es" + import wizard_renumber diff --git a/account_renumber/wizard/wizard_renumber.py b/account_renumber/wizard/wizard_renumber.py index 21eae9f3d..b4d2deec3 100644 --- a/account_renumber/wizard/wizard_renumber.py +++ b/account_renumber/wizard/wizard_renumber.py @@ -23,11 +23,9 @@ """ Account renumber wizard """ -__author__ = ["Borja López Soilán (Pexego)", - "Omar Castiñeira Saavedra (Pexego)"] - -from openerp.osv import fields, orm +from openerp.osv import fields +from openerp.osv import orm from openerp.tools.translate import _ from datetime import datetime import logging @@ -36,13 +34,22 @@ import time class wizard_renumber(orm.TransientModel): _name = "wizard.renumber" _columns = { - - 'journal_ids': fields.many2many('account.journal', 'account_journal_wzd_renumber_rel', - 'wizard_id', 'journal_id', required=True, help="Journals to renumber", string="Journals"), - 'period_ids': fields.many2many('account.period', 'account_period_wzd_renumber_rel', 'wizard_id', 'period_id', required=True, - help='Fiscal periods to renumber', string="Periods", ondelete='null'), - 'number_next': fields.integer('First Number', required=True, help="Journal sequences will start counting on this number"), - 'state': fields.selection([('init', 'Initial'), ('renumber', 'Renumbering')], readonly=True) + 'journal_ids': fields.many2many('account.journal', 'account_journal_wzd_renumber_rel', + 'wizard_id', 'journal_id', + required=True, + help="Journals to renumber", + string="Journals"), + 'period_ids': fields.many2many('account.period', 'account_period_wzd_renumber_rel', + 'wizard_id', 'period_id', + required=True, + help='Fiscal periods to renumber', + string="Periods", ondelete='null'), + 'number_next': fields.integer('First Number', required=True, + help="Journal sequences will start counting on this number"), + 'state': fields.selection([ + ('init', 'Initial'), + ('renumber', 'Renumbering') + ], readonly=True) } _defaults = { @@ -82,10 +89,17 @@ class wizard_renumber(orm.TransientModel): and sufix processing. We will use the given date instead. """ try: - cr.execute('SELECT id, number_next, prefix, suffix, padding FROM ir_sequence WHERE ' + test + ' AND active=%s FOR UPDATE', (sequence_id, True)) + cr.execute( + 'SELECT id, number_next, prefix, suffix, padding \ + FROM ir_sequence \ + WHERE ' + test + ' AND active=%s FOR UPDATE', + (sequence_id, True)) res = cr.dictfetchone() if res: - cr.execute('UPDATE ir_sequence SET number_next=number_next+number_increment WHERE id=%s AND active=%s', (res['id'], True)) + cr.execute( + 'UPDATE ir_sequence SET number_next=number_next+number_increment \ + WHERE id=%s AND active=%s', + (res['id'], True)) if res['number_next']: return self._process(res['prefix'], date_to_use=date_to_use) + '%%0%sd' % res['padding'] % res['number_next'] + self._process(res['suffix'], date_to_use=date_to_use) else: @@ -104,12 +118,13 @@ class wizard_renumber(orm.TransientModel): res = cr.dictfetchone() if res: seq_facade = self.pool.get('ir.sequence') - for line in seq_facade.browse(cr, uid, res['id'], context=context).fiscal_ids: + for line in seq_facade.browse(cr, uid, res['id'], + context=context).fiscal_ids: if line.fiscalyear_id.id == fiscalyear_id: return line.sequence_id.id return sequence_id - ############################################################################ + ########################################################################## # Renumber form/action ########################################################################## @@ -126,83 +141,62 @@ class wizard_renumber(orm.TransientModel): number_next = obj.number_next or 1 if not (period_ids and journal_ids): - raise orm.except_orm(_('No Data Available'), _( - 'No records found for your selection!')) + raise orm.except_orm( + _('No Data Available'), + _('No records found for your selection!')) logger.debug("Searching for account moves to renumber.") move_facade = self.pool.get('account.move') - move_ids = move_facade.search(cr, uid, [('journal_id', 'in', journal_ids), ('period_id', 'in', period_ids), ('state', '=', 'posted')], limit=0, order='date,id', context=context) - - if len(move_ids) == 0: - raise orm.except_orm(_('No Data Available'), _( - 'No records found for your selection!')) sequences_seen = [] - logger.debug("Renumbering %d account moves." % len(move_ids)) - - for move in move_facade.browse(cr, uid, move_ids): - # - # Get the sequence to use for this move. - # Note: We will use the journal's sequence or one of its - # children (if it has children sequences per fiscalyear) - # - sequence_id = self.get_sequence_id_for_fiscalyear_id(cr, uid, - sequence_id=move.journal_id.sequence_id.id, - fiscalyear_id=move.period_id.fiscalyear_id.id) - if not sequence_id in sequences_seen: - # First time we see this sequence, reset it - self.pool.get('ir.sequence').write( - cr, uid, [sequence_id], {'number_next': number_next}) - sequences_seen.append(sequence_id) - - # - # Generate (using our own get_id) and write the new move number. - # - date_to_use = datetime.strptime(move.date, '%Y-%m-%d') - new_name = self.get_id(cr, uid, sequence_id, - context=context, date_to_use=date_to_use) - # Note: We can't just do a - # "move_facade.write(cr, uid, [move.id], {'name': new_name})" - # cause it might raise a "You can't do this modification on a confirmed entry" - # exception. - cr.execute('UPDATE account_move SET name=%s WHERE id=%s', - (new_name, move.id)) - - logger.debug("%d account moves renumbered." % len(move_ids)) + for period in period_ids: + move_ids = move_facade.search( + cr, + uid, + [ + ('journal_id', 'in', journal_ids), + ('period_id', '=', period), + ('state', '=', 'posted')], + limit=0, order='date,id', + context=context) + if len(move_ids) == 0: + continue + for move in move_facade.browse(cr, uid, move_ids): + sequence_id = self.get_sequence_id_for_fiscalyear_id( + cr, + uid, + sequence_id=move.journal_id.sequence_id.id, + fiscalyear_id=move.period_id.fiscalyear_id.id) + if not sequence_id in sequences_seen: + self.pool.get('ir.sequence').write( + cr, + uid, + [sequence_id], + {'number_next': number_next}) + sequences_seen.append(sequence_id) + # + # Generate (using our own get_id) and write the new move number + # + date_to_use = datetime.strptime(move.date, '%Y-%m-%d') + new_name = self.get_id(cr, uid, sequence_id, + context=context, date_to_use=date_to_use) + # Note: We can't just do a + # "move_facade.write(cr, uid, [move.id], {'name': new_name})" + # cause it might raise a + #"You can't do this modification on a confirmed entry" + # exception. + cr.execute('UPDATE account_move SET name=%s WHERE id=%s', + (new_name, move.id)) + logger.debug("%d account moves renumbered." % len(move_ids)) + logger.debug("Renumbering %d account moves." % len(move_ids)) + sequences_seen = [] obj.write({'state': 'renumber'}) - view_wizard = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_renumber', 'view_account_renumber_form') - view_wizard_id = view_wizard and view_wizard[1] or False, - res = { - 'type': 'ir.actions.act_window', - 'name': _("Wizard successfully executed "), - 'res_model': 'wizard.renumber', - 'view_type': 'form', - 'view_mode': 'form', - 'res_id': obj.id, - 'view_id': view_wizard_id, - 'context': context, - 'target': 'current', - } - - return res - - ############################################################################ - # Show results action - ########################################################################## - def show_results(self, cr, uid, ids, context): - """ - Action that shows the list of (non-draft) account moves from - the selected journals and periods, so the user can review - the renumbered account moves. - """ - obj = self.browse(cr, uid, ids[0]) - period_ids = [x.id for x in obj.period_ids] - journal_ids = [x.id for x in obj.journal_ids] - - assert (period_ids and journal_ids) - - view_ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'view_move_tree') + view_ref = self.pool.get('ir.model.data').get_object_reference( + cr, + uid, + 'account', + 'view_move_tree') view_id = view_ref and view_ref[1] or False, res = { 'type': 'ir.actions.act_window', diff --git a/account_renumber/wizard/wizard_renumber_view.xml b/account_renumber/wizard/wizard_renumber_view.xml index 13e806b39..d24c5ec43 100644 --- a/account_renumber/wizard/wizard_renumber_view.xml +++ b/account_renumber/wizard/wizard_renumber_view.xml @@ -5,71 +5,42 @@ account_renumber.form wizard.renumber - form
-
-
- - - - - - - -

-

-
- -
- + +

This wizard will help you renumber entries in one or more journals.

+

Posted moves from those journals will be sorted by date and then assigned

+

sequential numbers using their journal sequence.

+ + + + + + + + + + + + + +
+
+
+
- - Renumber Account Moves + Renumber journal entries wizard.renumber form form -