[ADD]Default get journal_id and period_id

bzr revid: dle@openerp.com-20121112141000-z26str1srei751of
This commit is contained in:
Denis Ledoux dle@openerp.com 2012-11-12 15:10:00 +01:00
parent 3e1e1f268c
commit 75971d90d8
3 changed files with 41 additions and 6 deletions

View File

@ -551,6 +551,34 @@ class account_move_line(osv.osv):
cur = self.pool.get('account.journal').browse(cr, uid, context['journal_id']).currency
return cur and cur.id or False
def _get_period(self, cr, uid, context=None):
"""
Return default account period value
"""
account_period_obj = self.pool.get('account.period')
ids = account_period_obj.find(cr, uid, context=context)
period_id = False
if ids:
period_id = ids[0]
return period_id
def _get_journal(self, cr, uid, context=None):
"""
Return journal based on the journal type
"""
journal_id = False
journal_pool = self.pool.get('account.journal')
if context.get('journal_type', False):
jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))])
if not jids:
raise osv.except_osv(_('Configuration Error!'), _('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration/Journals/Journals.') % context.get('journal_type'))
journal_id = jids[0]
print context
return journal_id
_defaults = {
'blocked': False,
'centralisation': 'normal',
@ -558,12 +586,12 @@ class account_move_line(osv.osv):
'date_created': fields.date.context_today,
'state': 'draft',
'currency_id': _get_currency,
'journal_id': lambda self, cr, uid, c: c.get('journal_id', False),
'journal_id': _get_journal,
'credit': 0.0,
'debit': 0.0,
'amount_currency': 0.0,
'account_id': lambda self, cr, uid, c: c.get('account_id', False),
'period_id': lambda self, cr, uid, c: c.get('period_id', False),
'period_id': _get_period,
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.move.line', context=c)
}
_order = "date desc, id desc"

View File

@ -1059,7 +1059,7 @@
<field name="model">account.move.line</field>
<field eval="24" name="priority"/>
<field name="arch" type="xml">
<tree_account_move_line_quickadd colors="red:state == 'draft';black:state == 'valid'" string="Journal Items to Reconcile" create="true" on_write="on_create_write" version="7.0" editable="top">
<tree_account_move_line_quickadd colors="red:state == 'draft';black:state == 'valid'" string="Journal Items" create="true" on_write="on_create_write" version="7.0" editable="top">
<field name="date"/>
<field name="move_id" required="0"/>
<field name="ref"/>
@ -1575,7 +1575,7 @@
</record>
<record id="action_account_manual_account_move_line_quickadd" model="ir.actions.act_window">
<field name="context">{'view_mode':True}</field>
<field name="context">{'view_mode':True,'journal_type':'bank'}</field>
<field name="name">Quick Journal Items</field>
<field name="res_model">account.move.line</field>
<field name="view_id" ref="view_move_line_quickadd_tree"/>

View File

@ -17,6 +17,8 @@ openerp.account.quickadd = function (instance) {
this.periods = [];
this.current_journal = null;
this.current_period = null;
this.default_period = null;
this.default_journal = null;
},
load_list: function() {
var self = this;
@ -45,9 +47,13 @@ openerp.account.quickadd = function (instance) {
self.journals = result;
}),mod.call("list_periods", []).then(function(result) {
self.periods = result;
}),mod.call("default_get", [['journal_id','period_id'],self.last_context]).then(function(result) {
self.default_period = result['period_id'];
self.default_journal = result['journal_id'];
console.log(result);
})).then(function () {
self.current_journal = self.current_journal === null ? self.journals[0][0] : self.current_journal;
self.current_period = self.current_period === null ? self.periods[0][0] :self.current_period;
self.current_journal = self.current_journal === null ? self.default_journal : self.current_journal;
self.current_period = self.current_period === null ? self.default_period :self.current_period;
return self.search_by_journal_period();
});
},
@ -79,6 +85,7 @@ openerp.account.quickadd = function (instance) {
self.last_context["journal_id"] = self.current_journal;
self.last_context["period_id"] = self.current_period;
var compoundContext = self.last_context;
debugger;
return self.old_search(compoundDomain, compoundContext, self.last_group_by);
},
/*_next: function (next_record, options) {