bzr revid: fp@tinyerp.com-20090117190900-d69tqilg6jcac1c9
This commit is contained in:
Fabien Pinckaers
2009-01-17 20:09:00 +01:00
parent ad9ce0e286
commit 302eda2f5d
8 changed files with 42 additions and 23 deletions
-1
View File
@@ -681,7 +681,6 @@ class account_fiscalyear(osv.osv):
_inherit = "account.fiscalyear"
_description = "Fiscal Year"
_columns = {
'start_journal_period_id':fields.many2one('account.journal.period','New Entries Journal'),
'end_journal_period_id':fields.many2one('account.journal.period','End of Year Entries Journal', readonly=True),
}
+6 -2
View File
@@ -3,13 +3,17 @@
<data>
<record id="action_account_period_tree" model="ir.actions.act_window">
<field name="name">Close Period</field>
<field name="name">Close a Period</field>
<field name="res_model">account.period</field>
<field name="view_type">form</field>
<field name="domain">[('state','=','draft')]</field>
<field name="view_id" ref="view_account_period_tree"/>
</record>
<menuitem action="action_account_period_tree" id="menu_action_account_period_close_tree" parent="account.menu_account_end_year_treatments"/>
<menuitem
action="action_account_period_tree"
id="menu_action_account_period_close_tree"
parent="account.menu_account_end_year_treatments"
sequence="0"/>
</data>
</openerp>
+1 -1
View File
@@ -558,7 +558,7 @@ class account_move_line(osv.osv):
GROUP BY account_id,reconcile_id')
r = cr.fetchall()
#TODO: move this check to a constraint in the account_move_reconcile object
if len(r) != 1:
if (len(r) != 1) and context.get('same_account', True):
raise osv.except_osv(_('Error'), _('Entries are not of the same account or already reconciled ! '))
if not unrec_lines:
raise osv.except_osv(_('Error'), _('Entry is already reconciled'))
-1
View File
@@ -16,7 +16,6 @@
<field name="code" select="1"/>
<field name="date_start"/>
<field name="date_stop"/>
<field name="start_journal_period_id"/>
<field name="end_journal_period_id"/>
<separator colspan="4" string="Periods"/>
<field colspan="4" name="period_ids" nolabel="1" widget="one2many_list">
+17 -3
View File
@@ -9,13 +9,27 @@
<!-- close year, period, journal -->
<wizard id="wizard_fiscalyear_close" menu="False" model="account.fiscalyear" name="account.fiscalyear.close" string="Generate Fiscal Year Opening Entries"/>
<menuitem action="wizard_fiscalyear_close" id="menu_wizard_fy_close" parent="menu_account_end_year_treatments" sequence="11" type="wizard"/>
<menuitem
action="wizard_fiscalyear_close"
id="menu_wizard_fy_close"
parent="menu_account_end_year_treatments"
type="wizard"
sequence="1"/>
<wizard id="wizard_fiscalyear_close_state" menu="False" model="account.fiscalyear" name="account.fiscalyear.close.state" string="Close a Fiscal Year"/>
<menuitem action="wizard_fiscalyear_close_state" id="menu_wizard_fy_close_state" parent="menu_account_end_year_treatments" type="wizard"/>
<wizard id="wizard_open_closed_fiscalyear" menu="False" model="account.fiscalyear" name="account.open_closed_fiscalyear" string="Open a Closed Fiscal Year"/>
<menuitem action="wizard_open_closed_fiscalyear" id="menu_wizard_open_closed_fy" parent="account.menu_account_end_year_treatments" sequence="12" type="wizard"/>
<wizard
id="wizard_open_closed_fiscalyear"
menu="False"
model="account.fiscalyear"
name="account.open_closed_fiscalyear"
string="Cancel Opening Entries"/>
<menuitem
action="wizard_open_closed_fiscalyear"
id="menu_wizard_open_closed_fy"
sequence="2"
parent="account.menu_account_end_year_treatments" type="wizard"/>
<wizard id="wizard_period_close" model="account.period" name="account.period.close" string="Close a Period"/>
+2 -2
View File
@@ -107,8 +107,8 @@ class account_invoice(osv.osv):
paid_amt = 0.0
to_pay = inv.amount_total
for lines in inv.move_lines:
paid_amt = paid_amt + lines.credit + lines.debit
res[inv.id] = to_pay - paid_amt
paid_amt = paid_amt - lines.credit + lines.debit
res[inv.id] = to_pay - abs(paid_amt)
return res
def _get_lines(self, cr, uid, ids, name, arg, context=None):
@@ -29,7 +29,9 @@ _transaction_form = '''<?xml version="1.0"?>
<form string="Close Fiscal Year with new entries">
<field name="fy_id"/>
<field name="fy2_id"/>
<field name="report_name" colspan="3"/>
<field name="journal_id"/>
<field name="period_id"/>
<field name="report_name" colspan="4"/>
<separator string="Are you sure you want to create entries?" colspan="4"/>
<field name="sure"/>
@@ -37,6 +39,8 @@ _transaction_form = '''<?xml version="1.0"?>
_transaction_fields = {
'fy_id': {'string':'Fiscal Year to close', 'type':'many2one', 'relation': 'account.fiscalyear','required':True, 'domain':[('state','=','draft')]},
'journal_id': {'string':'Opening Entries Journal', 'type':'many2one', 'relation': 'account.journal','required':True},
'period_id': {'string':'Opening Entries Period', 'type':'many2one', 'relation': 'account.period','required':True, 'domain':"[('fiscalyear_id','=',fy2_id)]"},
'fy2_id': {'string':'New Fiscal Year', 'type':'many2one', 'relation': 'account.fiscalyear', 'domain':[('state','=','draft')], 'required':True},
'report_name': {'string':'Name of new entries', 'type':'char', 'size': 64, 'required':True},
'sure': {'string':'Check this box', 'type':'boolean'},
@@ -53,18 +57,15 @@ def _data_save(self, cr, uid, data, context):
fy_id = data['form']['fy_id']
new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id'])
start_jp = new_fyear.start_journal_period_id
periods_fy2 = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id']).period_ids
periods_fy2 = new_fyear.period_ids
if not periods_fy2:
raise wizard.except_wizard(_('UserError'),
_('There are no periods defined on New Fiscal Year.'))
period=periods_fy2[0]
if not start_jp:
raise wizard.except_wizard(_('UserError'),
_('The new fiscal year should have a journal for new entries define on it'))
new_journal = start_jp.journal_id
new_journal = data['form']['journal_id']
new_journal = pool.get('account.journal').browse(cr, uid, new_journal, context=context)
if not new_journal.default_credit_account_id or not new_journal.default_debit_account_id:
raise wizard.except_wizard(_('UserError'),
@@ -160,13 +161,15 @@ def _data_save(self, cr, uid, data, context):
ids = pool.get('account.move.line').search(cr, uid, [('journal_id','=',new_journal.id),
('period_id.fiscalyear_id','=',new_fyear.id)])
context['same_account'] = False
pool.get('account.move.line').reconcile(cr, uid, ids, context=context)
new_fyear = pool.get('account.fiscalyear').browse(cr, uid, data['form']['fy2_id'])
start_jp = new_fyear.start_journal_period_id
cr.execute('UPDATE account_fiscalyear ' \
'SET end_journal_period_id = %s ' \
'WHERE id = %s', (start_jp and start_jp.id or None, fy_id))
new_period = data['form']['period_id']
ids = pool.get('account.journal.period').search(cr, uid, [('journal_id','=',new_journal.id),('period_id','=',new_period)])
if ids:
cr.execute('UPDATE account_fiscalyear ' \
'SET end_journal_period_id = %s ' \
'WHERE id = %s', (ids[0], new_fyear.id))
return {}
class wiz_journal_close(wizard.interface):
@@ -27,7 +27,7 @@ from tools.translate import _
form = """<?xml version="1.0"?>
<form string="Choose Fiscal Year">
<field name="fyear_id" domain="[('state','=','done')]"/>
<field name="fyear_id" domain="[('state','=','draft')]"/>
</form>
"""