diff options
| author | mtr <mtr@mtr> | 2010-11-23 16:16:33 +0530 |
|---|---|---|
| committer | mtr <mtr@mtr> | 2010-11-23 16:16:33 +0530 |
| commit | 396bbe73e1dfdbb65789038f2709ff528e5af03a (patch) | |
| tree | 85912996ae7661f78d421b90ef2e4243381b8b17 | |
| parent | 54436263b6777174bea4570df0a07ef8f6d6ebf7 (diff) | |
[ADD] Account_sequence: added installer files
bzr revid: mtr@mtr-20101123104633-cnvoe6f8rm7ufq9c
| -rw-r--r-- | addons/account_sequence/__init__.py | 1 | ||||
| -rw-r--r-- | addons/account_sequence/__openerp__.py | 2 | ||||
| -rw-r--r-- | addons/account_sequence/account_sequence.py | 2 | ||||
| -rw-r--r-- | addons/account_sequence/account_sequence_installer.py | 63 | ||||
| -rw-r--r-- | addons/account_sequence/account_sequence_installer_view.xml | 51 |
5 files changed, 117 insertions, 2 deletions
diff --git a/addons/account_sequence/__init__.py b/addons/account_sequence/__init__.py index 535fb766048..b6707106d4b 100644 --- a/addons/account_sequence/__init__.py +++ b/addons/account_sequence/__init__.py @@ -20,5 +20,6 @@ ############################################################################## import account_sequence +import account_sequence_installer # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file diff --git a/addons/account_sequence/__openerp__.py b/addons/account_sequence/__openerp__.py index 966cbcbc8ca..2cc6f50e138 100644 --- a/addons/account_sequence/__openerp__.py +++ b/addons/account_sequence/__openerp__.py @@ -30,7 +30,7 @@ 'website': 'http://www.openerp.com', 'depends': ['account'], 'init_xml': [], - 'update_xml': ['account_sequence_data.xml','account_sequence.xml'], + 'update_xml': ['account_sequence_data.xml','account_sequence_installer_view.xml','account_sequence.xml'], 'demo_xml': [], 'installable': True, 'active': False, diff --git a/addons/account_sequence/account_sequence.py b/addons/account_sequence/account_sequence.py index 309bf3bc803..ee3afa380c1 100644 --- a/addons/account_sequence/account_sequence.py +++ b/addons/account_sequence/account_sequence.py @@ -46,7 +46,7 @@ class account_journal(osv.osv): _inherit = "account.journal" _columns = { - 'internal_sequence': fields.many2one('ir.sequence', 'Internal Sequence'), + 'internal_sequence': fields.many2one('ir.sequence', 'Internal Sequence', help="This sequence will be used to maintain the internal number for the journal entries related to this journal."), } account_journal() diff --git a/addons/account_sequence/account_sequence_installer.py b/addons/account_sequence/account_sequence_installer.py new file mode 100644 index 00000000000..d07c0e481aa --- /dev/null +++ b/addons/account_sequence/account_sequence_installer.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +from osv import fields, osv + +class account_sequence_installer(osv.osv_memory): + _name = 'account.sequence.installer' + _inherit = 'res.config.installer' + + _columns = { + 'internal_sequence': fields.many2one('ir.sequence', 'Internal Sequence', help="This sequence will be used on Journals to maintain internal number for accounting entries."), + } + + def _get_internal_sequence(self, cr, uid, context): + obj_sequence = self.pool.get('ir.sequence') + seq_id = obj_sequence.search(cr, uid, [('name','=', 'Internal Sequence Journal')]) + for seq in obj_sequence.browse(cr, uid, seq_id): + if seq.id: + return seq.id + return False + + def execute(self, cr, uid, ids, context): + if context is None: + context = {} + res = super(account_sequence_installer, self).execute(cr, uid, ids, context=context) + jou_obj = self.pool.get('account.journal') + obj_sequence = self.pool.get('ir.sequence') + journal_ids = jou_obj.search(cr, uid, [('type','in',['sale','sale_refund','purchase','purchase_refund','cash', 'bank', 'general','situation'])]) + + for line in self.browse(cr, uid, ids): + for journal in jou_obj.browse(cr, uid, journal_ids): + if not journal.internal_sequence: + seq_id = obj_sequence.search(cr, uid, [('name','=', line.internal_sequence.name)]) + for seq in obj_sequence.browse(cr, uid, seq_id): + if seq.id: + jou_obj.write(cr, uid, [journal.id], {'internal_sequence': seq.id}) + return res + + _defaults = { + 'internal_sequence': _get_internal_sequence + } + +account_sequence_installer() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_sequence/account_sequence_installer_view.xml b/addons/account_sequence/account_sequence_installer_view.xml new file mode 100644 index 00000000000..566dfaa6bc5 --- /dev/null +++ b/addons/account_sequence/account_sequence_installer_view.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <record id="view_account_sequence_installer" model="ir.ui.view"> + <field name="name">account.sequence.installer.view</field> + <field name="model">account.sequence.installer</field> + <field name="type">form</field> + <field name="inherit_id" ref="base.res_config_installer"/> + <field name="arch" type="xml"> + <data> + <form position="attributes"> + <attribute name="string">Account Sequence Application Configuration</attribute> + </form> + <separator string="title" position="attributes"> + <attribute name="string">Configure Your Account Sequence Application</attribute> + </separator> + <xpath expr='//separator[@string="vsep"]' position='attributes'> + <attribute name='string'></attribute> + </xpath> + <xpath expr="//label[@string='description']" position="attributes"> + <attribute name="string">You can enhance the Account Sequence Application by installing .</attribute> + </xpath> + <group colspan="8"> + <field name="internal_sequence"/> + </group> + <xpath expr="//button[@string='Install Modules']" position="attributes"> + <attribute name="string">Configure</attribute> + </xpath> + </data> + </field> + </record> + + <record id="action_account_seq_installer" model="ir.actions.act_window"> + <field name="name">Account Sequence Application Configuration</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">account.sequence.installer</field> + <field name="view_id" ref="view_account_sequence_installer"/> + <field name="view_type">form</field> + <field name="view_mode">form</field> + <field name="target">new</field> + </record> + + <record id="account_seq_installer_todo" model="ir.actions.todo"> + <field name="action_id" ref="action_account_seq_installer"/> + <field name="sequence">3</field> + <field name="restart">always</field> + </record> + + </data> +</openerp> |
