Merge lp:~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto into lp:addons-vauxoo/7.0

Proposed by hbto [Vauxoo] http://www.vauxoo.com
Status: Merged
Merged at revision: 863
Proposed branch: lp:~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto
Merge into: lp:addons-vauxoo/7.0
Diff against target: 208 lines (+169/-0)
7 files modified
account_move_folio/__init__.py (+2/-0)
account_move_folio/__openerp__.py (+31/-0)
account_move_folio/model/__init__.py (+2/-0)
account_move_folio/model/account_move_folio.py (+63/-0)
account_move_folio/security/ir.model.access.csv (+2/-0)
account_move_folio/view/menues_and_actions.xml (+22/-0)
account_move_folio/view/view.xml (+47/-0)
To merge this branch: bzr merge lp:~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto
Reviewer Review Type Date Requested Status
Nhomar - Vauxoo Approve
Moisés López - http://www.vauxoo.com Approve
Review via email: mp+190784@code.launchpad.net

Description of the change

[IMP][account_move_folio] Added new module to keep a record of Journal Entry Folios

To post a comment you must log in.
Revision history for this message
Moisés López - http://www.vauxoo.com (moylop260) wrote :

Aprobado!!!
Puedes por favor, hace el merge.
Junto con el depends en el data del cliente, para verlo funcionando en runbot, por favor.

review: Approve
Revision history for this message
hbto [Vauxoo] http://www.vauxoo.com (humbertoarocha) wrote :

done
On Oct 12, 2013 4:30 PM, "Moisés López - http://www.vauxoo.com" <
<email address hidden>> wrote:

> Review: Approve
>
> Aprobado!!!
> Puedes por favor, hace el merge.
> Junto con el depends en el data del cliente, para verlo funcionando en
> runbot, por favor.
> --
>
> https://code.launchpad.net/~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto/+merge/190784
> You proposed lp:~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto for
> merging.
>

863. By hbto [Vauxoo] http://www.vauxoo.com

[MERGE][account_move_folio] Added new module to keep a record of Journal Entry Folios

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

Moi.

Específicamente está bien ésto, pero no te parece mejor un objeto que nos permita auditar cualquier "sequence" y/o cualquier folio agnótico al objeto, y configurarlo vía objeto?

DIgo por que es válido para muchos otros modelos, cómo facturas, órdenes de venta, lineas presupuestarias, etc etc, solo lo comento como idea en éste merge, para saber si es discutible hacer lo genérico como una evolución de éste?

Saludo.s

review: Approve
Revision history for this message
Moisés López - http://www.vauxoo.com (moylop260) wrote :

@Nhomar,
A mí en lo personal el único objeto que vale la pena auditar es:
account.move

Los demás objetos como purchase, sale, picking... si se brincan folios no es tan crítico legalmente.
Por lo que en este caso, se pone enfasis solo en account.move

Sin embargo, técnicamente sí se puede hacer algo genérico para todos los sequence.

FYI hay un tema al respecto, que si lo dejamos genérico necesitamos invertir tiempo en R&D porque el rollback con el "wait noupdate" que utiliza el ir.sequence, está siendo afectado el sequence, aun cuando hay rollback de por medio. (POC en WIP para determinar el tema)
Por ahora, este MP cumple con lo requerido por el cliente.

Revision history for this message
Nhomar - Vauxoo (nhomar) wrote :

Listo"

Agreed!

El 12 de octubre de 2013 19:51, Moisés López - http://www.vauxoo.com <
<email address hidden>> escribió:

> @Nhomar,
> A mí en lo personal el único objeto que vale la pena auditar es:
> account.move
>
> Los demás objetos como purchase, sale, picking... si se brincan folios no
> es tan crítico legalmente.
> Por lo que en este caso, se pone enfasis solo en account.move
>
> Sin embargo, técnicamente sí se puede hacer algo genérico para todos los
> sequence.
>
> FYI hay un tema al respecto, que si lo dejamos genérico necesitamos
> invertir tiempo en R&D porque el rollback con el "wait noupdate" que
> utiliza el ir.sequence, está siendo afectado el sequence, aun cuando hay
> rollback de por medio. (POC en WIP para determinar el tema)
> Por ahora, este MP cumple con lo requerido por el cliente.
> --
>
> https://code.launchpad.net/~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto/+merge/190784
> You are reviewing the proposed merge of
> lp:~vauxoo/addons-vauxoo/7.0-account_move_folio-dev-hbto into
> lp:addons-vauxoo/7.0.
>

--
--------------------
Saludos Cordiales

Nhomar G. Hernandez M.
+58-414-4110269
Skype: nhomar00
Web-Blog: http://geronimo.com.ve
Servicios IT: http://vauxoo.com
Linux-Counter: 467724
Correos:
<email address hidden>
<email address hidden>
twitter @nhomar

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'account_move_folio'
2=== added file 'account_move_folio/__init__.py'
3--- account_move_folio/__init__.py 1970-01-01 00:00:00 +0000
4+++ account_move_folio/__init__.py 2013-10-12 06:58:58 +0000
5@@ -0,0 +1,2 @@
6+# -*- encoding: utf-8 -*-
7+import model
8
9=== added file 'account_move_folio/__openerp__.py'
10--- account_move_folio/__openerp__.py 1970-01-01 00:00:00 +0000
11+++ account_move_folio/__openerp__.py 2013-10-12 06:58:58 +0000
12@@ -0,0 +1,31 @@
13+# -*- encoding: utf-8 -*-
14+{
15+ "name": "Account Move Folio",
16+ "version": "1.0",
17+ "author": "Vauxoo",
18+ 'category' : 'Accounting & Finance',
19+ "description" : """
20+Account Move Folio
21+==================
22+
23+This Module keeps a record of all the sequences that have been used in the
24+Journal Entries in OpenERP, No matter if a Journal Entry is deleted it will
25+stand as a way to audit all the sequences that have been used.
26+ """,
27+ "website": "http://www.vauxoo.com/",
28+ "license": "AGPL-3",
29+ "depends": [
30+ "account",
31+ ],
32+ "demo": [
33+ ],
34+ "data": [
35+ 'security/ir.model.access.csv',
36+ 'view/view.xml',
37+ 'view/menues_and_actions.xml',
38+ ],
39+ "test" : [
40+ ],
41+ "installable": True,
42+ "active": False,
43+}
44
45=== added directory 'account_move_folio/i18n'
46=== added directory 'account_move_folio/model'
47=== added file 'account_move_folio/model/__init__.py'
48--- account_move_folio/model/__init__.py 1970-01-01 00:00:00 +0000
49+++ account_move_folio/model/__init__.py 2013-10-12 06:58:58 +0000
50@@ -0,0 +1,2 @@
51+# -*- encoding: utf-8 -*-
52+import account_move_folio
53
54=== added file 'account_move_folio/model/account_move_folio.py'
55--- account_move_folio/model/account_move_folio.py 1970-01-01 00:00:00 +0000
56+++ account_move_folio/model/account_move_folio.py 2013-10-12 06:58:58 +0000
57@@ -0,0 +1,63 @@
58+# -*- encoding: utf-8 -*-
59+from openerp.osv import fields, osv
60+
61+class account_move_folio(osv.Model):
62+ _name = 'account.move.folio'
63+ _description = "Records of Folios in Journal Entries"
64+ _columns = {
65+ 'name':fields.char('Folio', 256, help='Folio Number', required = True),
66+ 'move_id':fields.many2one('account.move', 'Journal Entry', help='Journal Entry'),
67+ 'journal_id':fields.many2one('account.journal', 'Journal', help='Entry Journal'),
68+ 'period_id':fields.many2one('account.period', 'Period', help='Entry Period'),
69+ 'date':fields.date('Date', help='Entry Date'),
70+ 'company_id':fields.many2one('res.company', 'Company', help='Entry Company'),
71+ 'move_state':fields.related('move_id','state', type='selection',
72+ selection=[('draft','Unposted'), ('posted','Posted')], store=True,
73+ string='Entry State', help='Entry State'),
74+ 'period_state':fields.related('period_id','state', type='selection',
75+ selection=[('draft','Open'), ('done','Closed')], store=True,
76+ string='Period State', help='Period State'),
77+ }
78+
79+ _defaults = {
80+ 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
81+ }
82+
83+class account_move(osv.Model):
84+ _inherit = 'account.move'
85+
86+ _columns = {
87+ 'folio_id': fields.many2one('account.move.folio', 'Folio Record'),
88+ }
89+
90+ def foliate(self, cr, uid, ids, context=None):
91+ context = context or {}
92+ folio_obj = self.pool.get('account.move.folio')
93+ invoice = context.get('invoice', False)
94+ for move in self.browse(cr, uid, ids, context=context):
95+ if not move.folio_id:
96+ values = {
97+ 'name': move.name,
98+ 'move_id': move.id,
99+ 'journal_id': move.journal_id.id,
100+ 'period_id': move.period_id.id,
101+ 'date': move.date,
102+ }
103+ if invoice:
104+ folio_ids = folio_obj.search(cr, uid, [('name','=',move.name)],context=context)
105+ if folio_ids:
106+ folio_id = folio_ids[0]
107+ folio_obj.write(cr, uid, folio_id, values, context=context)
108+ else:
109+ folio_id = folio_obj.create(cr, uid, values,context=context)
110+ else:
111+ folio_id = folio_obj.create(cr, uid, values,context=context)
112+ move.write({'folio_id':folio_id},context=context)
113+ return True
114+
115+ def post(self, cr, uid, ids, context=None):
116+ context = context or {}
117+ super(account_move, self).post(cr, uid, ids, context=context)
118+ self.foliate(cr, uid, ids, context=context)
119+ return True
120+
121
122=== added directory 'account_move_folio/security'
123=== added file 'account_move_folio/security/ir.model.access.csv'
124--- account_move_folio/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
125+++ account_move_folio/security/ir.model.access.csv 2013-10-12 06:58:58 +0000
126@@ -0,0 +1,2 @@
127+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
128+access_account_move_folio_manager,account.move.folio,model_account_move_folio,account.group_account_manager,1,1,1,1
129
130=== added directory 'account_move_folio/view'
131=== added file 'account_move_folio/view/menues_and_actions.xml'
132--- account_move_folio/view/menues_and_actions.xml 1970-01-01 00:00:00 +0000
133+++ account_move_folio/view/menues_and_actions.xml 2013-10-12 06:58:58 +0000
134@@ -0,0 +1,22 @@
135+<?xml version='1.0' encoding='utf-8'?>
136+<openerp>
137+ <data>
138+ <record id="account_move_folio_action" model="ir.actions.act_window">
139+ <field name="name">Entry Folios</field>
140+ <field name="res_model">account.move.folio</field>
141+ <field name="view_type">form</field>
142+ <field name="view_mode">tree,form</field>
143+ </record>
144+ <menuitem
145+ id="move_folio_main_menu"
146+ name="Entry Folios"
147+ parent="account.menu_finance"
148+ sequence="5"
149+ />
150+ <menuitem
151+ id="move_folio_menu"
152+ parent="move_folio_main_menu"
153+ action='account_move_folio_action'
154+ />
155+ </data>
156+</openerp>
157
158=== added file 'account_move_folio/view/view.xml'
159--- account_move_folio/view/view.xml 1970-01-01 00:00:00 +0000
160+++ account_move_folio/view/view.xml 2013-10-12 06:58:58 +0000
161@@ -0,0 +1,47 @@
162+<?xml version='1.0' encoding='utf-8'?>
163+<openerp>
164+ <data>
165+ <record id="view_move_form" model="ir.ui.view">
166+ <field name="name">account.move.form</field>
167+ <field name="model">account.move</field>
168+ <field name="inherit_id" ref="account.view_move_form"/>
169+ <field name="arch" type="xml">
170+ <xpath expr='//field[@name="ref"]' position='after'>
171+ <field name="folio_id" readonly='1' invisible='0'/>
172+ </xpath>
173+ </field>
174+ </record>
175+ <record model="ir.ui.view" id="account_move_folio_form_view">
176+ <field name="name">account.move.folio.form</field>
177+ <field name="model">account.move.folio</field>
178+ <field name="arch" type="xml">
179+ <form create='0' edit='0' delete='0' string="Account Move Folio Form">
180+ <field name="name" readonly='1'/>
181+ <field name="move_id" readonly='1'/>
182+ <field name="journal_id" readonly='1'/>
183+ <field name="period_id" readonly='1'/>
184+ <field name="date" readonly='1'/>
185+ <field name="move_state" readonly='1'/>
186+ <field name="period_state" readonly='1'/>
187+ <field name="company_id" readonly='1' groups="base.group_multi_company"/>
188+ </form>
189+ </field>
190+ </record>
191+ <record model="ir.ui.view" id="account_move_folio_tree_view">
192+ <field name="name">account.move.folio.tree</field>
193+ <field name="model">account.move.folio</field>
194+ <field name="arch" type="xml">
195+ <tree create='0' edit='0' delete='0' string="Account Move Folio Tree">
196+ <field name="name" readonly='1'/>
197+ <field name="move_id" readonly='1'/>
198+ <field name="journal_id" readonly='1'/>
199+ <field name="period_id" readonly='1'/>
200+ <field name="date" readonly='1'/>
201+ <field name="move_state" readonly='1'/>
202+ <field name="period_state" readonly='1'/>
203+ <field name="company_id" readonly='1' groups="base.group_multi_company"/>
204+ </tree>
205+ </field>
206+ </record>
207+ </data>
208+</openerp>