HR_EXPENSE: add currency to expense

bzr revid: ced-b8cd44e7bf11f133a4550799c5753f87a2efbe79
This commit is contained in:
ced 2007-06-04 10:04:24 +00:00
parent 0887fc1fec
commit b7324422b2
2 changed files with 25 additions and 16 deletions

View File

@ -45,6 +45,13 @@ class hr_expense_expense(osv.osv):
res = dict(cr.fetchall())
return res
def _get_currency(self, cr, uid, context):
user = self.pool.get('res.users').browse(cr, uid, [uid])[0]
if user.company_id:
return user.company_id.currency_id.id
else:
return self.pool.get('res.currency').search(cr, uid, [('rate','=',1.0)])[0]
_name = "hr.expense.expense"
_description = "Expense"
_columns = {
@ -58,14 +65,12 @@ class hr_expense_expense(osv.osv):
'date_confirm': fields.date('Date Confirmed'),
'date_valid': fields.date('Date Valided'),
'user_valid': fields.many2one('res.users', 'Validation User'),
'account_move_id': fields.many2one('account.move', 'Account Move'),
'line_ids': fields.one2many('hr.expense.line', 'expense_id', 'Expense Lines'),
'note': fields.text('Note'),
# fields.function
'amount': fields.function(_amount, method=True, string='Total Amount'),
'invoice_id': fields.many2one('account.invoice', 'Invoice'),
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
'state': fields.selection([
('draft', 'Draft'),
@ -80,7 +85,8 @@ class hr_expense_expense(osv.osv):
'date' : lambda *a: time.strftime('%Y-%m-%d'),
'state': lambda *a: 'draft',
'employee_id' : _employee_get,
'user_id' : lambda cr,uid,id,c={}: id
'user_id' : lambda cr,uid,id,c={}: id,
'currency_id': _get_currency,
}
def expense_confirm(self, cr, uid, ids, *args):
#for exp in self.browse(cr, uid, ids):
@ -144,6 +150,7 @@ class hr_expense_expense(osv.osv):
'origin': exp.name,
'invoice_line': lines,
'price_type': 'tax_included',
'currency_id': exp.currency_id.id,
}
if exp.journal_id:
inv['journal_id']=exp.journal_id.id

View File

@ -43,27 +43,29 @@
<notebook>
<page string="Expense Sheet">
<field name="name" select="1"/>
<field name="id" select="1"/>
<field name="id" select="2"/>
<field name="employee_id" select="1"/>
<field name="date" select="1"/>
<field name="ref" select="1"/>
<field name="ref" select="2"/>
<newline/>
<field name="amount"/>
<field name="currency_id"/>
<field name="line_ids" colspan="4" nolabel="1">
<form string="Expense Lines">
<field name="name" select="1"/>
<field name="date_value" select="1"/>
<field name="unit_quantity" select="1"/>
<field name="unit_amount" select="1"/>
<field name="product_id" select="1" on_change="onchange_product_id(product_id, uom_id)"/>
<field name="uom_id" select="1" on_change="onchange_product_id(product_id, uom_id)"/>
<field name="ref" select="1"/>
<field name="unit_quantity" select="2"/>
<field name="unit_amount" select="2"/>
<field name="product_id" select="2" on_change="onchange_product_id(product_id, uom_id)"/>
<field name="uom_id" select="2" on_change="onchange_product_id(product_id, uom_id)"/>
<field name="ref" select="2"/>
<field name="sequence"/>
<field name="analytic_account" domain="[('type','=','normal')]"/>
<newline/>
<field name="total_amount"/>
</form>
</field>
<field name="state" select="1"/>
<field name="state" select="2"/>
<group col="6" colspan="2">
<button string="Confirm" name="confirm" states="draft" type="workflow"/>
<button string="Cancel" name="cancel" states="cancel" type="workflow"/>
@ -76,10 +78,10 @@
<separator string="Accounting data" colspan="4"/>
<field name="journal_id"/>
<separator string="Validation" colspan="4"/>
<field name="date_confirm" select="1"/>
<field name="date_valid" select="1"/>
<field name="user_valid" select="1"/>
<field name="invoice_id" select="1"/>
<field name="date_confirm" select="2"/>
<field name="date_valid" select="2"/>
<field name="user_valid" select="2"/>
<field name="invoice_id" select="2"/>
<separator string="Notes" colspan="4"/>
<field name="note" colspan="4" nolabel="1"/>
</page>