[MERGE] merge with same branch
bzr revid: qdp-launchpad@tinyerp.com-20100903174043-7zohe681e2b0ws23
This commit is contained in:
@@ -46,6 +46,7 @@ module named account_voucher.
|
||||
"depends" : ["product", "analytic", "process","board"],
|
||||
'update_xml': [
|
||||
'security/account_security.xml',
|
||||
'security/analytic_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'account_menuitem.xml',
|
||||
'account_wizard.xml',
|
||||
|
||||
+35
-23
@@ -970,6 +970,13 @@ class account_fiscalyear(osv.osv):
|
||||
_columns = {
|
||||
'end_journal_period_id':fields.many2one('account.journal.period','End of Year Entries Journal', readonly=True),
|
||||
}
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
default.update({
|
||||
'period_ids': [],
|
||||
'end_journal_period_id': False
|
||||
})
|
||||
return super(account_fiscalyear, self).copy(cr, uid, id, default=default, context=context)
|
||||
|
||||
account_fiscalyear()
|
||||
#----------------------------------------------------------
|
||||
@@ -1117,8 +1124,9 @@ class account_move(osv.osv):
|
||||
|
||||
def post(self, cr, uid, ids, context=None):
|
||||
invoice = context.get('invoice', False)
|
||||
if self.validate(cr, uid, ids, context) and len(ids):
|
||||
for move in self.browse(cr, uid, ids):
|
||||
valid_moves = self.validate(cr, uid, ids, context)
|
||||
if valid_moves:
|
||||
for move in self.browse(cr, uid, valid_moves):
|
||||
if move.name =='/':
|
||||
new_name = False
|
||||
journal = move.journal_id
|
||||
@@ -1138,7 +1146,7 @@ class account_move(osv.osv):
|
||||
cr.execute('UPDATE account_move '\
|
||||
'SET state=%s '\
|
||||
'WHERE id IN %s',
|
||||
('posted', tuple(ids),))
|
||||
('posted', tuple(valid_moves),))
|
||||
else:
|
||||
raise osv.except_osv(_('Integrity Error !'), _('You can not validate a non-balanced entry !\nMake sure you have configured Payment Term properly !\nIt should contain atleast one Payment Term Line with type "Balance" !'))
|
||||
return True
|
||||
@@ -1409,7 +1417,8 @@ class account_move(osv.osv):
|
||||
for record in valid_moves:
|
||||
self.pool.get('account.move.line').create_analytic_lines(cr, uid, [line.id for line in record.line_id], context)
|
||||
|
||||
return len(valid_moves) > 0
|
||||
valid_moves = [move.id for move in valid_moves]
|
||||
return len(valid_moves) > 0 and valid_moves or False
|
||||
|
||||
account_move()
|
||||
|
||||
@@ -1974,21 +1983,26 @@ class account_model(osv.osv):
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'lines_id': fields.one2many('account.model.line', 'model_id', 'Model Entries'),
|
||||
'legend' :fields.text('Legend', readonly=True, size=100),
|
||||
'date': fields.selection([('today','Date of the day'), ('partner','Partner Payment Term')], 'Current Date', required=True, help="The date of the generated entries"),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'legend': lambda self, cr, uid, context:_('You can specify year, month and date in the name of the model using the following labels:\n\n%(year)s : To Specify Year \n%(month)s : To Specify Month \n%(date)s : Current Date\n\ne.g. My model on %(date)s'),
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
'date': 'today'
|
||||
}
|
||||
def generate(self, cr, uid, ids, datas={}, context={}):
|
||||
move_ids = []
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
account_move_line_obj = self.pool.get('account.move.line')
|
||||
period_id = self.pool.get('account.period').find(cr, uid, dt=context.get('date', False))
|
||||
if not period_id:
|
||||
raise osv.except_osv(_('No period found !'), _('Unable to find a valid period !'))
|
||||
period_id = period_id[0]
|
||||
|
||||
for model in self.browse(cr, uid, ids, context):
|
||||
context.update({'date':datas['date']})
|
||||
period_id = self.pool.get('account.period').find(cr, uid, dt=context.get('date', False))
|
||||
if not period_id:
|
||||
raise osv.except_osv(_('No period found !'), _('Unable to find a valid period !'))
|
||||
period_id = period_id[0]
|
||||
move_id = self.pool.get('account.move').create(cr, uid, {
|
||||
move_id = account_move_obj.create(cr, uid, {
|
||||
'ref': model.ref,
|
||||
'period_id': period_id,
|
||||
'journal_id': model.journal_id.id,
|
||||
@@ -1996,10 +2010,16 @@ class account_model(osv.osv):
|
||||
})
|
||||
move_ids.append(move_id)
|
||||
for line in model.lines_id:
|
||||
analytic_account_id = False
|
||||
if line.analytic_account_id:
|
||||
if not model.journal_id.analytic_journal_id:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (model.journal_id.name,))
|
||||
analytic_account_id = line.analytic_account_id.id
|
||||
val = {
|
||||
'move_id': move_id,
|
||||
'journal_id': model.journal_id.id,
|
||||
'period_id': period_id
|
||||
'period_id': period_id,
|
||||
'analytic_account_id': analytic_account_id
|
||||
}
|
||||
val.update({
|
||||
'name': line.name,
|
||||
@@ -2015,7 +2035,7 @@ class account_model(osv.osv):
|
||||
})
|
||||
c = context.copy()
|
||||
c.update({'journal_id': model.journal_id.id,'period_id': period_id})
|
||||
self.pool.get('account.move.line').create(cr, uid, val, context=c)
|
||||
account_move_line_obj.create(cr, uid, val, context=c)
|
||||
return move_ids
|
||||
account_model()
|
||||
|
||||
@@ -2028,22 +2048,14 @@ class account_model_line(osv.osv):
|
||||
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Account'), help="The optional quantity on entries"),
|
||||
'debit': fields.float('Debit', digits_compute=dp.get_precision('Account')),
|
||||
'credit': fields.float('Credit', digits_compute=dp.get_precision('Account')),
|
||||
|
||||
'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade"),
|
||||
|
||||
'model_id': fields.many2one('account.model', 'Model', required=True, ondelete="cascade", select=True),
|
||||
|
||||
'ref': fields.char('Reference', size=16),
|
||||
|
||||
'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade"),
|
||||
'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', ondelete="cascade"),
|
||||
'model_id': fields.many2one('account.model', 'Model', required=True, ondelete="cascade", select=True),
|
||||
'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency."),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency'),
|
||||
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'date_maturity': fields.selection([('today','Date of the day'), ('partner','Partner Payment Term')], 'Maturity date', help="The maturity date of the generated entries for this model. You can choose between the creation date or the creation date of the entries plus the partner payment terms."),
|
||||
'date': fields.selection([('today','Date of the day'), ('partner','Partner Payment Term')], 'Current Date', required=True, help="The date of the generated entries"),
|
||||
}
|
||||
_defaults = {
|
||||
'date': lambda *a: 'today'
|
||||
}
|
||||
_order = 'sequence'
|
||||
_sql_constraints = [
|
||||
|
||||
@@ -151,17 +151,37 @@ class account_cash_statement(osv.osv):
|
||||
res[r] = round(res[r], 2)
|
||||
return res
|
||||
|
||||
def _get_company(self, cr, uid, ids, context={}):
|
||||
def _get_company(self, cr, uid, context={}):
|
||||
user_pool = self.pool.get('res.users')
|
||||
company_pool = self.pool.get('res.company')
|
||||
user = user_pool.browse(cr, uid, uid, uid)
|
||||
user = user_pool.browse(cr, uid, uid, context)
|
||||
company_id = user.company_id and user.company_id.id
|
||||
if not company_id:
|
||||
company_id = company_pool.search(cr, uid, [])[0]
|
||||
|
||||
return company_id
|
||||
|
||||
def _get_cash_open_box_lines(self, cr, uid, ids, context={}):
|
||||
def _get_cash_open_box_lines(self, cr, uid, context={}):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces':rs,
|
||||
'number':0
|
||||
}
|
||||
res.append(dct)
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type','=','cash')], context=context)
|
||||
if journal_ids:
|
||||
results = self.search(cr, uid, [('journal_id','in',journal_ids),('state','=','confirm')],context=context)
|
||||
if results:
|
||||
cash_st = self.browse(cr, uid, results, context)[0]
|
||||
for cash_line in cash_st.ending_details_ids:
|
||||
for r in res:
|
||||
if cash_line.pieces == r['pieces']:
|
||||
r['number'] = cash_line.number
|
||||
return res
|
||||
|
||||
def _get_default_cash_close_box_lines(self, cr, uid, context={}):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
@@ -172,7 +192,7 @@ class account_cash_statement(osv.osv):
|
||||
res.append(dct)
|
||||
return res
|
||||
|
||||
def _get_cash_close_box_lines(self, cr, uid, ids, context={}):
|
||||
def _get_cash_close_box_lines(self, cr, ids, uid, context={}):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
@@ -180,7 +200,7 @@ class account_cash_statement(osv.osv):
|
||||
'pieces':rs,
|
||||
'number':0
|
||||
}
|
||||
res.append((0, 0, dct))
|
||||
res.append((0,0,dct))
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
@@ -206,7 +226,7 @@ class account_cash_statement(osv.osv):
|
||||
'user_id': lambda self, cr, uid, context=None: uid,
|
||||
'company_id': _get_company,
|
||||
'starting_details_ids':_get_cash_open_box_lines,
|
||||
'ending_details_ids':_get_cash_open_box_lines
|
||||
'ending_details_ids':_get_default_cash_close_box_lines
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
@@ -305,25 +325,25 @@ class account_cash_statement(osv.osv):
|
||||
'name': number
|
||||
})
|
||||
|
||||
cr.execute("select id from account_bank_statement where journal_id=%s and user_id=%s and state=%s order by id desc limit 1", (statement.journal_id.id, uid, 'confirm'))
|
||||
rs = cr.fetchone()
|
||||
rs = rs and rs[0] or None
|
||||
if rs:
|
||||
if len(statement.starting_details_ids) > 0:
|
||||
sid = []
|
||||
for line in statement.starting_details_ids:
|
||||
sid.append(line.id)
|
||||
cash_pool.unlink(cr, uid, sid)
|
||||
|
||||
statement = statement_pool.browse(cr, uid, rs)
|
||||
balance_start = statement.balance_end_real or 0.0
|
||||
open_ids = cash_pool.search(cr, uid, [('ending_id','=',statement.id)])
|
||||
for sid in open_ids:
|
||||
default = {
|
||||
'ending_id': False,
|
||||
'starting_id':ids[0]
|
||||
}
|
||||
cash_pool.copy(cr, uid, sid, default)
|
||||
# cr.execute("select id from account_bank_statement where journal_id=%s and user_id=%s and state=%s order by id desc limit 1", (statement.journal_id.id, uid, 'confirm'))
|
||||
# rs = cr.fetchone()
|
||||
# rs = rs and rs[0] or None
|
||||
# if rs:
|
||||
# if len(statement.starting_details_ids) > 0:
|
||||
# sid = []
|
||||
# for line in statement.starting_details_ids:
|
||||
# sid.append(line.id)
|
||||
# cash_pool.unlink(cr, uid, sid)
|
||||
#
|
||||
# statement = statement_pool.browse(cr, uid, rs)
|
||||
# balance_start = statement.balance_end_real or 0.0
|
||||
# open_ids = cash_pool.search(cr, uid, [('ending_id','=',statement.id)])
|
||||
# for sid in open_ids:
|
||||
# default = {
|
||||
# 'ending_id': False,
|
||||
# 'starting_id':ids[0]
|
||||
# }
|
||||
# cash_pool.copy(cr, uid, sid, default)
|
||||
|
||||
vals.update({
|
||||
'date':time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
|
||||
@@ -986,7 +986,7 @@ class account_move_line(osv.osv):
|
||||
if 'period_id' in vals and 'period_id' not in context:
|
||||
period_id = vals['period_id']
|
||||
elif 'journal_id' not in context and 'move_id' in vals:
|
||||
if vals['move_id']:
|
||||
if vals.get('move_id', False):
|
||||
m = self.pool.get('account.move').browse(cr, uid, vals['move_id'])
|
||||
journal_id = m.journal_id.id
|
||||
period_id = m.period_id.id
|
||||
@@ -1086,9 +1086,9 @@ class account_move_line(osv.osv):
|
||||
self._check_date(cr, uid, vals, context, check)
|
||||
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
|
||||
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
|
||||
if 'journal_id' in vals and 'journal_id' not in context:
|
||||
if 'journal_id' in vals:
|
||||
context['journal_id'] = vals['journal_id']
|
||||
if 'period_id' in vals and 'period_id' not in context:
|
||||
if 'period_id' in vals:
|
||||
context['period_id'] = vals['period_id']
|
||||
if ('journal_id' not in context) and ('move_id' in vals) and vals['move_id']:
|
||||
m = self.pool.get('account.move').browse(cr, uid, vals['move_id'])
|
||||
@@ -1097,7 +1097,6 @@ class account_move_line(osv.osv):
|
||||
|
||||
self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context)
|
||||
company_currency = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id
|
||||
|
||||
move_id = vals.get('move_id', False)
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, context['journal_id'])
|
||||
is_new_move = False
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_account_period_search" model="ir.ui.view">
|
||||
<field name="name">account.period.search</field>
|
||||
<field name="model">account.period</field>
|
||||
@@ -137,7 +137,7 @@
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="action_account_period_form" model="ir.actions.act_window">
|
||||
<field name="name">Periods</field>
|
||||
<field name="res_model">account.period</field>
|
||||
@@ -521,7 +521,7 @@
|
||||
<page string="Transaction">
|
||||
<field colspan="4" name="line_ids" nolabel="1">
|
||||
<tree editable="bottom" string="Statement lines">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="date"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
@@ -1552,13 +1552,13 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Journal Entry Model Line" editable="bottom">
|
||||
<field name="sequence"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="account_id"/>
|
||||
<field name="analytic_account_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -1575,12 +1575,11 @@
|
||||
<field name="sequence"/>
|
||||
<field name="ref" select="1"/>
|
||||
<field name="account_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="analytic_account_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="quantity"/>
|
||||
<field name="debit" select="1"/>
|
||||
<field name="credit" select="1"/>
|
||||
<field name="quantity"/>
|
||||
<newline/>
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
</form>
|
||||
</field>
|
||||
@@ -1593,9 +1592,10 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Journal Entry Model">
|
||||
<field name="name" select="1"/>
|
||||
<field name="ref" select="1"/>
|
||||
<field name="ref"/>
|
||||
<field name="journal_id" select="1"/>
|
||||
<field name="company_id" select="1" widget='selection'/>
|
||||
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company"/>
|
||||
<field name="date" context="{'date': date}"/>
|
||||
<field colspan="4" nolabel="1" name="lines_id" height="250" widget="one2many_list"/>
|
||||
<separator string="Legend" colspan="4"/>
|
||||
<field name="legend" colspan="4" nolabel="1"/>
|
||||
@@ -1605,6 +1605,7 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_model_tree" model="ir.ui.view">
|
||||
<field name="name">account.model.tree</field>
|
||||
<field name="model">account.model</field>
|
||||
@@ -1613,15 +1614,39 @@
|
||||
<tree string="Journal Entry Model">
|
||||
<field name="name"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_model_search" model="ir.ui.view">
|
||||
<field name="name">account.model.search</field>
|
||||
<field name="model">account.model</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Journal Entry Model">
|
||||
<group>
|
||||
<filter string="Sale" icon="terp-sale" domain="[('journal_id.type', '=', 'sale')]"/>
|
||||
<filter string="Purchase" icon="terp-purchase" domain="[('journal_id.type', '=', 'purchase')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_model_form" model="ir.actions.act_window">
|
||||
<field name="name">Recurring Models</field>
|
||||
<field name="res_model">account.model</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
<field name="search_view_id" ref="view_model_search"/>
|
||||
</record>
|
||||
<menuitem action="action_model_form" id="menu_action_model_form" sequence="5" parent="account.menu_configuration_misc" groups="base.group_extended"/>
|
||||
|
||||
@@ -2425,13 +2450,14 @@
|
||||
<page string="Cash Transactions" attrs="{'invisible': [('state','=','draft')]}">
|
||||
<field colspan="4" name="line_ids" nolabel="1">
|
||||
<tree editable="bottom" string="Statement lines">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="date"/>
|
||||
<field name="ref"/>
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, type, parent.currency, {'amount': amount})"/>
|
||||
<field domain="[('journal_id','=',parent.journal_id)]" name="account_id"/>
|
||||
<field name="analytic_account_id" groups="base.group_extended" />
|
||||
<field name="amount"/>
|
||||
<field context="{'partner_id': partner_id, 'amount': amount, 'account_id': account_id, 'currency_id': parent.currency, 'journal_id': parent.journal_id, 'date':date}" name="reconcile_id"/>
|
||||
<field invisible="1" name="reconcile_amount"/>
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp><data>
|
||||
|
||||
<record id="menu_action_analytic_account_tree2" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="account_analytic_def_account" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="next_id_40" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="menu_action_analytic_entries_report" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="menu_analytic_accounting" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="account_analytic_journal_entries" model="ir.ui.menu">
|
||||
<field eval="[(6,0,[ref('analytic.group_analytic_accounting')])]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
</data></openerp>
|
||||
@@ -60,10 +60,16 @@ class account_use_model(osv.osv_memory):
|
||||
})
|
||||
move_ids.append(move_id)
|
||||
for line in model.lines_id:
|
||||
analytic_account_id = False
|
||||
if line.analytic_account_id:
|
||||
if not model.journal_id.analytic_journal_id:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (model.journal_id.name,))
|
||||
analytic_account_id = line.analytic_account_id.id
|
||||
val = {
|
||||
'move_id': move_id,
|
||||
'journal_id': model.journal_id.id,
|
||||
'period_id': period_id
|
||||
'period_id': period_id,
|
||||
'analytic_account_id': analytic_account_id
|
||||
}
|
||||
val.update({
|
||||
'name': line.name,
|
||||
@@ -80,24 +86,8 @@ class account_use_model(osv.osv_memory):
|
||||
c = context.copy()
|
||||
c.update({'journal_id': model.journal_id.id,'period_id': period_id})
|
||||
id_line = account_move_line_obj.create(cr, uid, val, context=c)
|
||||
context.update({'move_ids':move_ids})
|
||||
model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_account_use_model_open_entry')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
return {
|
||||
'name': _('Use Model'),
|
||||
'context': context,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'account.use.model',
|
||||
'views': [(resource_id,'form')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
}
|
||||
|
||||
def open_moves(self, cr, uid, ids, context=None):
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
context.update({'move_ids':move_ids})
|
||||
model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_move_form')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
return {
|
||||
|
||||
@@ -42,22 +42,6 @@
|
||||
<field name="model">account.move.line</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_use_model_open_entry" model="ir.ui.view">
|
||||
<field name="name">account.use.model.open.entry.form</field>
|
||||
<field name="model">account.use.model</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Use Model">
|
||||
<group colspan="4" col="6" width="300" height="70">
|
||||
<label string = "Entry Lines Created." colspan="2"/>
|
||||
<newline/>
|
||||
<button icon="gtk-ok" special="cancel" string="Ok"/>
|
||||
<button icon="terp-gtk-go-back-rtl" string="Open" name="open_moves" type="object" default_focus='1'/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_use_model_create_entry" model="ir.ui.view">
|
||||
<field name="name">account.use.model.create.entry.form</field>
|
||||
<field name="model">account.use.model</field>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
property_account_receivable: account.a_recv
|
||||
|
||||
-
|
||||
Creat an invoice for the partner
|
||||
Create an invoice for the partner
|
||||
-
|
||||
!record {model: account.invoice, id: account_invoice_0}:
|
||||
account_id: account.a_recv
|
||||
@@ -72,6 +72,8 @@
|
||||
'period_id': ref('account.period_8'),
|
||||
'type': 'receipt',
|
||||
}
|
||||
if not res['value']['line_cr_ids']:
|
||||
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
|
||||
res['value']['line_cr_ids'][0]['amount'] = 450.0
|
||||
vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
|
||||
id = self.create(cr, uid, vals)
|
||||
|
||||
@@ -8,12 +8,8 @@
|
||||
<field name="domain_force">[('company_id','=',user.company_id.id)]</field>
|
||||
</record>
|
||||
|
||||
<record id="group_analytic_user" model="res.groups">
|
||||
<field name="name">Analytic Accounting / User</field>
|
||||
</record>
|
||||
|
||||
<record id="group_analytic_manager" model="res.groups">
|
||||
<field name="name">Analytic Accounting / Manager</field>
|
||||
<record id="group_analytic_accounting" model="res.groups">
|
||||
<field name="name">Analytic Accounting</field>
|
||||
</record>
|
||||
|
||||
</data></openerp>
|
||||
|
||||
@@ -1,5 +1 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_account_analytic_account_manager","account.analytic.account manager","model_account_analytic_account","analytic.group_analytic_manager",1,1,1,1
|
||||
"access_account_analytic_line_manager","account.analytic.line manager","model_account_analytic_line","analytic.group_analytic_manager",1,1,1,1
|
||||
"access_account_analytic_account_user","account.analytic.account user","model_account_analytic_account","analytic.group_analytic_user",1,0,0,0
|
||||
"access_account_analytic_line_user","account.analytic.line user","model_account_analytic_line","analytic.group_analytic_user",1,0,0,0
|
||||
|
Reference in New Issue
Block a user