summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormtr <mtr@mtr>2010-11-23 16:16:33 +0530
committermtr <mtr@mtr>2010-11-23 16:16:33 +0530
commit396bbe73e1dfdbb65789038f2709ff528e5af03a (patch)
tree85912996ae7661f78d421b90ef2e4243381b8b17
parent54436263b6777174bea4570df0a07ef8f6d6ebf7 (diff)
[ADD] Account_sequence: added installer files
bzr revid: mtr@mtr-20101123104633-cnvoe6f8rm7ufq9c
-rw-r--r--addons/account_sequence/__init__.py1
-rw-r--r--addons/account_sequence/__openerp__.py2
-rw-r--r--addons/account_sequence/account_sequence.py2
-rw-r--r--addons/account_sequence/account_sequence_installer.py63
-rw-r--r--addons/account_sequence/account_sequence_installer_view.xml51
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>