merge_trunk
bzr revid: fp@tinyerp.com-20120713115247-qiwljgk5adp6y069 bzr revid: fp@tinyerp.com-20120713141855-5jbmiqii067ntkk2
This commit is contained in:
commit
8d7f1c5b22
|
@ -1862,8 +1862,10 @@ class account_tax(osv.osv):
|
|||
'applicable_type': fields.selection( [('true','Always'), ('code','Given by Python Code')], 'Applicability', required=True,
|
||||
help="If not applicable (computed through a Python code), the tax won't appear on the invoice."),
|
||||
'domain':fields.char('Domain', size=32, help="This field is only used if you develop your own module allowing developers to create specific taxes in a custom domain."),
|
||||
'account_collected_id':fields.many2one('account.account', 'Invoice Tax Account'),
|
||||
'account_paid_id':fields.many2one('account.account', 'Refund Tax Account'),
|
||||
'account_collected_id':fields.many2one('account.account', 'Invoice Tax Account', help="Set the account that will be set by default on invoice tax lines for invoices. Leave empty to use the expense account."),
|
||||
'account_paid_id':fields.many2one('account.account', 'Refund Tax Account', help="Set the account that will be set by default on invoice tax lines for refunds. Leave empty to use the expense account."),
|
||||
'account_analytic_collected_id':fields.many2one('account.analytic.account', 'Invoice Tax Analytic Account', help="Set the analytic account that will be used by default on the invoice tax lines for invoices. Leave empty if you don't want to use an analytic account on the invoice tax lines by default."),
|
||||
'account_analytic_paid_id':fields.many2one('account.analytic.account', 'Refund Tax Analytic Account', help="Set the analytic account that will be used by default on the invoice tax lines for refunds. Leave empty if you don't want to use an analytic account on the invoice tax lines by default."),
|
||||
'parent_id':fields.many2one('account.tax', 'Parent Tax Account', select=True),
|
||||
'child_ids':fields.one2many('account.tax', 'parent_id', 'Child Tax Accounts'),
|
||||
'child_depend':fields.boolean('Tax on Children', help="Set if the tax computation is based on the computation of child taxes rather than on the total amount."),
|
||||
|
@ -2001,6 +2003,8 @@ class account_tax(osv.osv):
|
|||
'name':tax.description and tax.description + " - " + tax.name or tax.name,
|
||||
'account_collected_id':tax.account_collected_id.id,
|
||||
'account_paid_id':tax.account_paid_id.id,
|
||||
'account_analytic_collected_id': tax.account_analytic_collected_id.id,
|
||||
'account_analytic_paid_id': tax.account_analytic_paid_id.id,
|
||||
'base_code_id': tax.base_code_id.id,
|
||||
'ref_base_code_id': tax.ref_base_code_id.id,
|
||||
'sequence': tax.sequence,
|
||||
|
@ -2066,7 +2070,20 @@ class account_tax(osv.osv):
|
|||
'taxes': [] # List of taxes, see compute for the format
|
||||
}
|
||||
"""
|
||||
|
||||
# By default, for each tax, tax amount will first be computed
|
||||
# and rounded at the 'Account' decimal precision for each
|
||||
# PO/SO/invoice line and then these rounded amounts will be
|
||||
# summed, leading to the total amount for that tax. But, if the
|
||||
# company has tax_calculation_rounding_method = round_globally,
|
||||
# we still follow the same method, but we use a much larger
|
||||
# precision when we round the tax amount for each line (we use
|
||||
# the 'Account' decimal precision + 5), and that way it's like
|
||||
# rounding after the sum of the tax amounts of each line
|
||||
precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')
|
||||
tax_compute_precision = precision
|
||||
if taxes and taxes[0].company_id.tax_calculation_rounding_method == 'round_globally':
|
||||
tax_compute_precision += 5
|
||||
totalin = totalex = round(price_unit * quantity, precision)
|
||||
tin = []
|
||||
tex = []
|
||||
|
@ -2075,7 +2092,7 @@ class account_tax(osv.osv):
|
|||
tex.append(tax)
|
||||
else:
|
||||
tin.append(tax)
|
||||
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, product=product, partner=partner)
|
||||
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, product=product, partner=partner, precision=tax_compute_precision)
|
||||
for r in tin:
|
||||
totalex -= r.get('amount', 0.0)
|
||||
totlex_qty = 0.0
|
||||
|
@ -2083,7 +2100,7 @@ class account_tax(osv.osv):
|
|||
totlex_qty = totalex/quantity
|
||||
except:
|
||||
pass
|
||||
tex = self._compute(cr, uid, tex, totlex_qty, quantity,product=product, partner=partner)
|
||||
tex = self._compute(cr, uid, tex, totlex_qty, quantity, product=product, partner=partner, precision=tax_compute_precision)
|
||||
for r in tex:
|
||||
totalin += r.get('amount', 0.0)
|
||||
return {
|
||||
|
@ -2096,7 +2113,7 @@ class account_tax(osv.osv):
|
|||
_logger.warning("Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included")
|
||||
return self._compute(cr, uid, taxes, price_unit, quantity, product, partner)
|
||||
|
||||
def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, precision=None):
|
||||
"""
|
||||
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
|
||||
|
||||
|
@ -2105,14 +2122,15 @@ class account_tax(osv.osv):
|
|||
tax = {'name':'', 'amount':0.0, 'account_collected_id':1, 'account_paid_id':2}
|
||||
one tax for each tax id in IDS and their children
|
||||
"""
|
||||
if not precision:
|
||||
precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')
|
||||
res = self._unit_compute(cr, uid, taxes, price_unit, product, partner, quantity)
|
||||
total = 0.0
|
||||
precision_pool = self.pool.get('decimal.precision')
|
||||
for r in res:
|
||||
if r.get('balance',False):
|
||||
r['amount'] = round(r.get('balance', 0.0) * quantity, precision_pool.precision_get(cr, uid, 'Account')) - total
|
||||
r['amount'] = round(r.get('balance', 0.0) * quantity, precision) - total
|
||||
else:
|
||||
r['amount'] = round(r.get('amount', 0.0) * quantity, precision_pool.precision_get(cr, uid, 'Account'))
|
||||
r['amount'] = round(r.get('amount', 0.0) * quantity, precision)
|
||||
total += r['amount']
|
||||
return res
|
||||
|
||||
|
@ -2160,6 +2178,8 @@ class account_tax(osv.osv):
|
|||
'amount': amount,
|
||||
'account_collected_id': tax.account_collected_id.id,
|
||||
'account_paid_id': tax.account_paid_id.id,
|
||||
'account_analytic_collected_id': tax.account_analytic_collected_id.id,
|
||||
'account_analytic_paid_id': tax.account_analytic_paid_id.id,
|
||||
'base_code_id': tax.base_code_id.id,
|
||||
'ref_base_code_id': tax.ref_base_code_id.id,
|
||||
'sequence': tax.sequence,
|
||||
|
@ -2188,7 +2208,7 @@ class account_tax(osv.osv):
|
|||
r['todo'] = 0
|
||||
return res
|
||||
|
||||
def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, precision=None):
|
||||
"""
|
||||
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
|
||||
Price Unit is a VAT included price
|
||||
|
@ -2198,15 +2218,15 @@ class account_tax(osv.osv):
|
|||
tax = {'name':'', 'amount':0.0, 'account_collected_id':1, 'account_paid_id':2}
|
||||
one tax for each tax id in IDS and their children
|
||||
"""
|
||||
if not precision:
|
||||
precision = self.pool.get('decimal.precision').precision_get(cr, uid, 'Account')
|
||||
res = self._unit_compute_inv(cr, uid, taxes, price_unit, product, partner=None)
|
||||
total = 0.0
|
||||
obj_precision = self.pool.get('decimal.precision')
|
||||
for r in res:
|
||||
prec = obj_precision.precision_get(cr, uid, 'Account')
|
||||
if r.get('balance',False):
|
||||
r['amount'] = round(r['balance'] * quantity, prec) - total
|
||||
r['amount'] = round(r['balance'] * quantity, precision) - total
|
||||
else:
|
||||
r['amount'] = round(r['amount'] * quantity, prec)
|
||||
r['amount'] = round(r['amount'] * quantity, precision)
|
||||
total += r['amount']
|
||||
return res
|
||||
|
||||
|
|
|
@ -34,8 +34,8 @@ class account_analytic_line(osv.osv):
|
|||
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal', required=True, ondelete='restrict', select=True),
|
||||
'code': fields.char('Code', size=8),
|
||||
'ref': fields.char('Ref.', size=64),
|
||||
'currency_id': fields.related('move_id', 'currency_id', type='many2one', relation='res.currency', string='Account currency', store=True, help="The related account currency if not equal to the company one.", readonly=True),
|
||||
'amount_currency': fields.related('move_id', 'amount_currency', type='float', string='Amount currency', store=True, help="The amount expressed in the related account currency if not equal to the company one.", readonly=True),
|
||||
'currency_id': fields.related('move_id', 'currency_id', type='many2one', relation='res.currency', string='Account Currency', store=True, help="The related account currency if not equal to the company one.", readonly=True),
|
||||
'amount_currency': fields.related('move_id', 'amount_currency', type='float', string='Amount Currency', store=True, help="The amount expressed in the related account currency if not equal to the company one.", readonly=True),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
|
|
|
@ -43,6 +43,12 @@ class bank(osv.osv):
|
|||
"Return the name to use when creating a bank journal"
|
||||
return (bank.bank_name or '') + ' ' + bank.acc_number
|
||||
|
||||
def _prepare_name_get(self, cr, uid, bank_type_obj, bank_obj, context=None):
|
||||
"""Add ability to have %(currency_name)s in the format_layout of
|
||||
res.partner.bank.type"""
|
||||
bank_obj._data[bank_obj.id]['currency_name'] = bank_obj.currency_id and bank_obj.currency_id.name or ''
|
||||
return super(bank, self)._prepare_name_get(cr, uid, bank_type_obj, bank_obj, context=context)
|
||||
|
||||
def post_write(self, cr, uid, ids, context={}):
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
|
|
|
@ -756,7 +756,7 @@ class account_invoice(osv.osv):
|
|||
for tax in inv.tax_line:
|
||||
if tax.manual:
|
||||
continue
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
|
||||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id, tax.account_analytic_id.id)
|
||||
tax_key.append(key)
|
||||
if not key in compute_taxes:
|
||||
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but they are not in invoice lines !'))
|
||||
|
@ -1578,6 +1578,7 @@ class account_invoice_tax(osv.osv):
|
|||
'invoice_id': fields.many2one('account.invoice', 'Invoice Line', ondelete='cascade', select=True),
|
||||
'name': fields.char('Tax Description', size=64, required=True),
|
||||
'account_id': fields.many2one('account.account', 'Tax Account', required=True, domain=[('type','<>','view'),('type','<>','income'), ('type', '<>', 'closed')]),
|
||||
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic account'),
|
||||
'base': fields.float('Base', digits_compute=dp.get_precision('Account')),
|
||||
'amount': fields.float('Amount', digits_compute=dp.get_precision('Account')),
|
||||
'manual': fields.boolean('Manual'),
|
||||
|
@ -1648,14 +1649,16 @@ class account_invoice_tax(osv.osv):
|
|||
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
|
||||
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
|
||||
val['account_id'] = tax['account_collected_id'] or line.account_id.id
|
||||
val['account_analytic_id'] = tax['account_analytic_collected_id']
|
||||
else:
|
||||
val['base_code_id'] = tax['ref_base_code_id']
|
||||
val['tax_code_id'] = tax['ref_tax_code_id']
|
||||
val['base_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['base'] * tax['ref_base_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
|
||||
val['tax_amount'] = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, val['amount'] * tax['ref_tax_sign'], context={'date': inv.date_invoice or time.strftime('%Y-%m-%d')}, round=False)
|
||||
val['account_id'] = tax['account_paid_id'] or line.account_id.id
|
||||
val['account_analytic_id'] = tax['account_analytic_paid_id']
|
||||
|
||||
key = (val['tax_code_id'], val['base_code_id'], val['account_id'])
|
||||
key = (val['tax_code_id'], val['base_code_id'], val['account_id'], val['account_analytic_id'])
|
||||
if not key in tax_grouped:
|
||||
tax_grouped[key] = val
|
||||
else:
|
||||
|
@ -1687,7 +1690,8 @@ class account_invoice_tax(osv.osv):
|
|||
'price': t['amount'] or 0.0,
|
||||
'account_id': t['account_id'],
|
||||
'tax_code_id': t['tax_code_id'],
|
||||
'tax_amount': t['tax_amount']
|
||||
'tax_amount': t['tax_amount'],
|
||||
'account_analytic_id': t['account_analytic_id'],
|
||||
})
|
||||
return res
|
||||
|
||||
|
|
|
@ -98,6 +98,7 @@
|
|||
<field name="name"/>
|
||||
<field name="sequence"/>
|
||||
<field name="account_id" groups="account.group_account_user"/>
|
||||
<field name="account_analytic_id" domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="manual"/>
|
||||
<field name="amount"/>
|
||||
<field name="base" readonly="0"/>
|
||||
|
@ -215,6 +216,7 @@
|
|||
<tree editable="bottom" string="Taxes">
|
||||
<field name="name"/>
|
||||
<field name="account_id" groups="account.group_account_invoice"/>
|
||||
<field name="account_analytic_id" domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
|
||||
<field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
|
||||
|
||||
|
@ -269,9 +271,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -404,9 +406,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -909,9 +909,9 @@
|
|||
<field name="amount" attrs="{'readonly':[('type','in',('none', 'code', 'balance'))]}"/>
|
||||
<separator colspan="4" string="Accounting Information"/>
|
||||
<field name="account_collected_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<label colspan="2" nolabel="1" string="Keep empty to use the income account"/>
|
||||
<field name="account_analytic_collected_id" domain="[('type','<>','view'), ('company_id', '=', company_id), ('parent_id', '<>', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="account_paid_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<label colspan="2" nolabel="1" string="Keep empty to use the expense account"/>
|
||||
<field name="account_analytic_paid_id" domain="[('type','<>','view'), ('company_id', '=', company_id), ('parent_id', '<>', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<separator colspan="4" string="Tax Declaration: Invoices"/>
|
||||
<field name="base_code_id"/>
|
||||
<field name="base_sign"/>
|
||||
|
|
|
@ -25,6 +25,11 @@ class res_company(osv.osv):
|
|||
_inherit = "res.company"
|
||||
_columns = {
|
||||
'expects_chart_of_accounts': fields.boolean('Expects a Chart of Accounts'),
|
||||
'tax_calculation_rounding_method': fields.selection([
|
||||
('round_per_line', 'Round per Line'),
|
||||
('round_globally', 'Round Globally'),
|
||||
], 'Tax Calculation Rounding Method',
|
||||
help="If you select 'Round per Line' : for each tax, the tax amount will first be computed and rounded for each PO/SO/invoice line and then these rounded amounts will be summed, leading to the total amount for that tax. If you select 'Round Globally': for each tax, the tax amount will be computed for each PO/SO/invoice line, then these amounts will be summed and eventually this total tax amount will be rounded. If you sell with tax included, you should choose 'Round per line' because you certainly want the sum of your tax-included line subtotals to be equal to the total amount with taxes."),
|
||||
'paypal_account': fields.char("Paypal Account", size=128, help="Paypal username (usually email) for receiving online payments."),
|
||||
'overdue_msg': fields.text('Overdue Payments Message', translate=True),
|
||||
'property_reserve_and_surplus_account': fields.property(
|
||||
|
@ -39,6 +44,7 @@ class res_company(osv.osv):
|
|||
|
||||
_defaults = {
|
||||
'expects_chart_of_accounts': True,
|
||||
'tax_calculation_rounding_method': 'round_per_line',
|
||||
'overdue_msg': '''Dear Sir, dear Madam,
|
||||
|
||||
Our records indicate that some payments on your account are still due. Please find details below.
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="currency_id" position="after">
|
||||
<field name="property_reserve_and_surplus_account" colspan="2"/>
|
||||
<field name="tax_calculation_rounding_method"/>
|
||||
<field name="paypal_account" placeholder="sales@openerp.com"/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-06-20 16:17+0000\n"
|
||||
"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\n"
|
||||
"PO-Revision-Date: 2012-07-11 03:05+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-22 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15461)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-12 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -4963,7 +4963,7 @@ msgstr "资产负债表"
|
|||
#: view:account.general.journal:0
|
||||
#: model:ir.ui.menu,name:account.menu_account_general_journal
|
||||
msgid "General Journals"
|
||||
msgstr "一般账簿"
|
||||
msgstr "总账账簿"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,allow_date:0
|
||||
|
@ -5702,7 +5702,7 @@ msgstr "发票税科目"
|
|||
#: model:ir.actions.act_window,name:account.action_account_general_journal
|
||||
#: model:ir.model,name:account.model_account_general_journal
|
||||
msgid "Account General Journal"
|
||||
msgstr "一般账簿"
|
||||
msgstr "科目总账账簿"
|
||||
|
||||
#. module: account
|
||||
#: field:account.payment.term.line,days:0
|
||||
|
@ -10184,7 +10184,7 @@ msgstr "周期次数"
|
|||
#: report:account.general.journal:0
|
||||
#: model:ir.actions.report.xml,name:account.account_general_journal
|
||||
msgid "General Journal"
|
||||
msgstr "一般账簿"
|
||||
msgstr "总账账簿"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
|
|
|
@ -241,19 +241,33 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Project line" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="account_id"/>
|
||||
<field name="date" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)"/>
|
||||
<field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<field invisible="True" name="general_account_id"/>
|
||||
<field name="amount"/>
|
||||
<field name="currency_id" />
|
||||
<field name="amount_currency" />
|
||||
<field name="company_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_id"/>
|
||||
<field name="journal_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
<field name="company_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)"/>
|
||||
</group>
|
||||
<group string="Amount">
|
||||
<field name="amount"/>
|
||||
<label for="amount_currency"/>
|
||||
<div>
|
||||
<field name="amount_currency" class="oe_inline"/>
|
||||
<field name="currency_id" class="oe_inline"/>
|
||||
</div>
|
||||
<field invisible="1" name="general_account_id"/>
|
||||
</group>
|
||||
<group string="Product Information">
|
||||
<field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id, journal_id)"/>
|
||||
<label for="unit_amount"/>
|
||||
<div>
|
||||
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" class="oe_inline"/>
|
||||
<field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, company_id, product_uom_id)" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -49,6 +49,12 @@ class account_config_settings(osv.osv_memory):
|
|||
'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'),
|
||||
'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', domain="[('visible','=', True)]"),
|
||||
'code_digits': fields.integer('# of Digits', help="No. of Digits to use for account code"),
|
||||
'tax_calculation_rounding_method': fields.related('company_id',
|
||||
'tax_calculation_rounding_method', type='selection', selection=[
|
||||
('round_per_line', 'Round per Line'),
|
||||
('round_globally', 'Round Globally'),
|
||||
], string='Tax Calculation Rounding Method',
|
||||
help="If you select 'Round per Line' : for each tax, the tax amount will first be computed and rounded for each PO/SO/invoice line and then these rounded amounts will be summed, leading to the total amount for that tax. If you select 'Round Globally': for each tax, the tax amount will be computed for each PO/SO/invoice line, then these amounts will be summed and eventually this total tax amount will be rounded. If you sell with tax included, you should choose 'Round per line' because you certainly want the sum of your tax-included line subtotals to be equal to the total amount with taxes."),
|
||||
'sale_tax': fields.many2one("account.tax.template", "Default Sale Tax"),
|
||||
'purchase_tax': fields.many2one("account.tax.template", "Default Purchase Tax"),
|
||||
'sale_tax_rate': fields.float('Sales Tax (%)'),
|
||||
|
@ -152,6 +158,7 @@ class account_config_settings(osv.osv_memory):
|
|||
'has_chart_of_accounts': has_chart_of_accounts,
|
||||
'has_fiscal_year': bool(fiscalyear_count),
|
||||
'chart_template_id': False,
|
||||
'tax_calculation_rounding_method': company.tax_calculation_rounding_method,
|
||||
}
|
||||
# update journals and sequences
|
||||
for journal_type in ('sale', 'sale_refund', 'purchase', 'purchase_refund'):
|
||||
|
|
|
@ -76,6 +76,7 @@
|
|||
<group>
|
||||
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
|
||||
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="tax_calculation_rounding_method"/>
|
||||
<field name="module_account_asset"/>
|
||||
<field name="module_account_budget"/>
|
||||
</group>
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-10 05:34+0000\n"
|
||||
"X-Generator: Launchpad (build 15558)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-11 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
|
|
|
@ -111,9 +111,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -257,9 +257,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -430,9 +430,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -167,9 +167,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -320,9 +320,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -43,9 +43,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
</td><td>
|
||||
<field name="charge_expenses"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="est_expenses" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<field class="oe_inline" name="est_expenses" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_invoiced" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<field class="oe_inline" name="expense_invoiced" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="remaining_expense" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<field class="oe_inline" name="remaining_expense" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<field class="oe_form_inline" name="expense_to_invoice" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<field class="oe_inline" name="expense_to_invoice" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
</td><td>
|
||||
<button name="open_hr_expense" string="All Expenses" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
<button name="hr_to_invoice_expense" string="Expenses to Invoice" type="object" attrs="{'invisible': [('charge_expenses','=',False)]}"/>
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
<group string="Validity">
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div name="duration">
|
||||
<field name="date_start" class="oe_inline"/> - <field name="date" class="oe_inline"/>
|
||||
<field name="date_start" class="oe_inline"/>
|
||||
<label attrs="{'invisible':[('date','=',False)]}" class="oe_inline" string=" - "/>
|
||||
<field name="date" class="oe_inline"/>
|
||||
</div>
|
||||
<label for="quantity_max"/>
|
||||
<div>
|
||||
|
|
|
@ -40,7 +40,7 @@ openerp.anonymous = function(instance) {
|
|||
var am = p.action_manager;
|
||||
p.$element.find('.oe_leftbar').hide();
|
||||
am.do_action({type:'ir.actions.client', tag:'login'});
|
||||
am.client_widget.on('login', p, p.restart);
|
||||
am.inner_widget.on('login', p, p.restart);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -245,9 +245,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-06-25 05:03+0000\n"
|
||||
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
|
||||
"PO-Revision-Date: 2012-07-12 01:34+0000\n"
|
||||
"Last-Translator: Akira Hiyama <Unknown>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-26 05:22+0000\n"
|
||||
"X-Generator: Launchpad (build 15482)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-13 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15614)\n"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:user.preferences.config,menu_tips:0
|
||||
|
@ -200,17 +200,17 @@ msgstr "どのように顧客を呼びますか"
|
|||
#. module: base_setup
|
||||
#: field:migrade.application.installer.modules,quickbooks_ippids:0
|
||||
msgid "Quickbooks Ippids"
|
||||
msgstr "Quickbooks lppids"
|
||||
msgstr "QuickBooksのIPP / IDS"
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
msgid "Client"
|
||||
msgstr "取引先"
|
||||
msgstr "顧客"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:migrade.application.installer.modules,import_saleforce:0
|
||||
msgid "Import Saleforce"
|
||||
msgstr "Saleforceを取り込む"
|
||||
msgstr "Salesforceのインポート"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:user.preferences.config,context_tz:0
|
||||
|
@ -249,22 +249,22 @@ msgstr "user.preferences.config"
|
|||
#. module: base_setup
|
||||
#: model:ir.actions.act_window,name:base_setup.action_config_access_other_user
|
||||
msgid "Create Additional Users"
|
||||
msgstr "追加ユーザを作成します。"
|
||||
msgstr "追加ユーザの作成"
|
||||
|
||||
#. module: base_setup
|
||||
#: model:ir.actions.act_window,name:base_setup.action_import_create_installer
|
||||
msgid "Create or Import Customers"
|
||||
msgstr "顧客を作成または取り込みます。"
|
||||
msgstr "顧客の作成 / インポート"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:migrade.application.installer.modules,import_sugarcrm:0
|
||||
msgid "Import Sugarcrm"
|
||||
msgstr "SugarCRMを取り込みます。"
|
||||
msgstr "SugarCRMのインポート"
|
||||
|
||||
#. module: base_setup
|
||||
#: help:product.installer,customers:0
|
||||
msgid "Import or create customers"
|
||||
msgstr "顧客を取り込みまたは作成します。"
|
||||
msgstr "顧客の作成 / インポート"
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:user.preferences.config,view:0
|
||||
|
@ -279,7 +279,7 @@ msgstr "SugarCRMを取り込むために"
|
|||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
msgid "Partner"
|
||||
msgstr "パートナー"
|
||||
msgstr "パートナ"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:base.setup.terminology:0
|
||||
|
|
|
@ -212,9 +212,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -520,11 +520,11 @@
|
|||
<div>
|
||||
<field name="street" placeholder="Street..."/>
|
||||
<field name="street2"/>
|
||||
<div>
|
||||
<field name="zip" class="oe_inline" placeholder="ZIP"/>
|
||||
<field name="city" class="oe_inline" placeholder="City"/>
|
||||
<div class="address_format">
|
||||
<field name="city" placeholder="City" style="width: 40%%"/>
|
||||
<field name="state_id" class="oe_no_button" placeholder="State" style="width: 24%%"/>
|
||||
<field name="zip" placeholder="ZIP" style="width: 34%%"/>
|
||||
</div>
|
||||
<field name="state_id" placeholder="State"/>
|
||||
<field name="country_id" placeholder="Country"/>
|
||||
</div>
|
||||
</group>
|
||||
|
@ -532,8 +532,8 @@
|
|||
<group>
|
||||
<label for="contact_name" />
|
||||
<div>
|
||||
<field name="contact_name" class="oe_inline"/>,
|
||||
<field name="title" placeholder="Title" domain="[('domain', '=', 'contact')]" class="oe_inline"/>
|
||||
<field name="contact_name" class="oe_inline"/>
|
||||
<field name="title" placeholder="Title" domain="[('domain', '=', 'contact')]" class="oe_inline oe_no_button"/>
|
||||
</div>
|
||||
<field name="function" />
|
||||
<field name="mobile"/>
|
||||
|
@ -564,9 +564,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -145,9 +145,9 @@
|
|||
|
||||
<field name="description" placeholder="Description..." />
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -168,9 +168,9 @@
|
|||
</notebook>
|
||||
</group>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -128,9 +128,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -99,9 +99,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -189,9 +189,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -484,9 +484,9 @@
|
|||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -309,6 +309,10 @@ class res_users(osv.osv):
|
|||
|
||||
return user_id
|
||||
|
||||
_columns = {
|
||||
'employee_ids': fields.one2many('hr.employee', 'user_id', 'Related employees'),
|
||||
}
|
||||
|
||||
res_users()
|
||||
|
||||
|
||||
|
|
|
@ -122,9 +122,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -418,7 +418,7 @@ class resource_calendar_leaves(osv.osv):
|
|||
_inherit = "resource.calendar.leaves"
|
||||
_description = "Leave Detail"
|
||||
_columns = {
|
||||
'holiday_id': fields.many2one("hr.holidays", "Holiday"),
|
||||
'holiday_id': fields.many2one("hr.holidays", "Leave Request"),
|
||||
}
|
||||
|
||||
resource_calendar_leaves()
|
||||
|
|
|
@ -146,9 +146,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -193,9 +193,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -501,7 +501,7 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="resource.resource_calendar_leave_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="date_to" position="after">
|
||||
<field name="name" position="after">
|
||||
<field name="holiday_id"/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -191,9 +191,9 @@
|
|||
<separator string="Application Summary"/>
|
||||
<field name="description" placeholder="Feedback of interviews..."/>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
|
||||
<!-- Menus -->
|
||||
<record id="action_hr_analytic_timesheet_open_tree" model="ir.actions.act_window">
|
||||
<field name="name">Bill Tasks Works</field>
|
||||
<field name="name">Invoice Tasks Work</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -80,9 +80,9 @@
|
|||
<label for="description"/><newline/>
|
||||
<field name="description"/>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -72,10 +72,10 @@
|
|||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
<footer class="openerp_mail_group_footer">
|
||||
<div class="oe_chatter oe_mail_group_footer">
|
||||
<field name="message_ids" widget="mail_thread"
|
||||
options='{"thread_level": 1}'/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//sheet" position="after">
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"
|
||||
options='{"thread_level": 1}'/>
|
||||
</footer>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
}
|
||||
|
||||
/* Resize footer width */
|
||||
.openerp .oe_form footer.openerp_mail_group_footer {
|
||||
.openerp .oe_form div.oe_mail_group_footer {
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,38 +52,41 @@
|
|||
<field name="model">product.product</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Membership products">
|
||||
<group col="6">
|
||||
<field name="name"/>
|
||||
<field name="default_code"/>
|
||||
<field name="active"/>
|
||||
<field name="membership" invisible="1"/>
|
||||
<field name="membership_date_from" required="1"/>
|
||||
<field name="membership_date_to" required="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="General">
|
||||
<separator string="Accounting Info" colspan="2"/>
|
||||
<separator string="Categorization" colspan="2"/>
|
||||
<field name="list_price" string="Membership Fee"/>
|
||||
<field name="type" />
|
||||
<field name="property_account_income" domain="[('type', '!=', 'view')]"/>
|
||||
<field name="categ_id"/>
|
||||
<separator string="Sale Taxes" colspan="2"/>
|
||||
<newline/>
|
||||
<field name="taxes_id" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
<page string="Description">
|
||||
<separator string="Description"/>
|
||||
<field colspan="4" name="description" nolabel="1"/>
|
||||
<separator string="Sale Description"/>
|
||||
<field colspan="4" name="description_sale" nolabel="1"/>
|
||||
<separator string="Purchase Description"/>
|
||||
<field colspan="4" name="description_purchase" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<form string="Membership products" version="7.0">
|
||||
<sheet>
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="default_code"/>
|
||||
<field name="categ_id"/>
|
||||
<field name="membership" invisible="1"/>
|
||||
<field name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
widget="selection"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group>
|
||||
<label for="membership_date_from" string="Membership Duration"/>
|
||||
<div>
|
||||
<field name="membership_date_from" required="1" class="oe_inline"/> -
|
||||
<field name="membership_date_to" required="1" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="list_price" string="Membership Fee"/>
|
||||
<field
|
||||
name="property_account_income"
|
||||
domain="[('type', '!=', 'view')]"/>
|
||||
<field name="taxes_id" widget="many2many_tags" string="Taxes"/>
|
||||
</group>
|
||||
</group>
|
||||
<label for="description"/>
|
||||
<field colspan="4" name="description" placeholder="Add a description..."/>
|
||||
<label for="description_sale"/>
|
||||
<field colspan="4" name="description_sale" placeholder="This note will be displayed on quotations..."/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -795,9 +795,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -111,9 +111,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
|
||||
"PO-Revision-Date: 2012-06-08 02:57+0000\n"
|
||||
"PO-Revision-Date: 2012-07-11 05:37+0000\n"
|
||||
"Last-Translator: Akira Hiyama <Unknown>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-09 05:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15376)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-12 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:report.transaction.pos,product_nb:0
|
||||
|
@ -765,7 +765,7 @@ msgstr "小計の合計"
|
|||
#. module: point_of_sale
|
||||
#: field:pos.order,lines:0
|
||||
msgid "Order Lines"
|
||||
msgstr "受注行"
|
||||
msgstr "オーダー行"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: view:report.transaction.pos:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
|
||||
"PO-Revision-Date: 2012-07-02 15:03+0000\n"
|
||||
"PO-Revision-Date: 2012-07-12 08:29+0000\n"
|
||||
"Last-Translator: Erwin <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-03 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15531)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-13 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15614)\n"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: field:report.transaction.pos,product_nb:0
|
||||
|
@ -1393,7 +1393,7 @@ msgstr "Kassabon afdrukken"
|
|||
#. module: point_of_sale
|
||||
#: field:pos.make.payment,journal:0
|
||||
msgid "Payment Mode"
|
||||
msgstr "Betalingsvorm"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: point_of_sale
|
||||
#: model:product.template,name:point_of_sale.lays_paprika_45g_product_template
|
||||
|
|
|
@ -93,9 +93,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -155,7 +155,6 @@ class product_pricelist(osv.osv):
|
|||
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
product_obj = self.pool.get('product.product')
|
||||
product_template_obj = self.pool.get('product.template')
|
||||
product_category_obj = self.pool.get('product.category')
|
||||
product_uom_obj = self.pool.get('product.uom')
|
||||
supplierinfo_obj = self.pool.get('product.supplierinfo')
|
||||
|
@ -246,7 +245,7 @@ class product_pricelist(osv.osv):
|
|||
price = 0.0
|
||||
if sinfo:
|
||||
qty_in_product_uom = qty
|
||||
product_default_uom = product_template_obj.read(cr, uid, [tmpl_id], ['uom_id'])[0]['uom_id'][0]
|
||||
product_default_uom = product_obj.read(cr, uid, [product_id], ['uom_id'])[0]['uom_id'][0]
|
||||
supplier = supplierinfo_obj.browse(cr, uid, sinfo, context=context)[0]
|
||||
seller_uom = supplier.product_uom and supplier.product_uom.id or False
|
||||
if seller_uom and product_default_uom and product_default_uom != seller_uom:
|
||||
|
|
|
@ -559,8 +559,8 @@ class product_product(osv.osv):
|
|||
return False
|
||||
|
||||
def _check_ean_key(self, cr, uid, ids, context=None):
|
||||
for product in self.browse(cr, uid, ids, context=context):
|
||||
res = check_ean(product.ean13)
|
||||
for product in self.read(cr, uid, ids, ['ean13'], context=context):
|
||||
res = check_ean(product['ean13'])
|
||||
return res
|
||||
|
||||
_constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])]
|
||||
|
|
|
@ -183,9 +183,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -47,7 +47,6 @@ class sale_order_line(osv.osv):
|
|||
item_obj = self.pool.get('product.pricelist.item')
|
||||
price_type_obj = self.pool.get('product.price.type')
|
||||
product_obj = self.pool.get('product.product')
|
||||
template_obj = self.pool.get('product.template')
|
||||
field_name = 'list_price'
|
||||
|
||||
if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False):
|
||||
|
@ -57,9 +56,7 @@ class sale_order_line(osv.osv):
|
|||
field_name = price_type_obj.browse(cr, uid, item_base).field
|
||||
|
||||
product = product_obj.browse(cr, uid, product_id, context)
|
||||
product_tmpl_id = product.product_tmpl_id.id
|
||||
|
||||
product_read = template_obj.read(cr, uid, product_tmpl_id, [field_name], context)
|
||||
product_read = product_obj.read(cr, uid, product_id, [field_name], context=context)
|
||||
|
||||
factor = 1.0
|
||||
if uom and uom != product.uom_id.id:
|
||||
|
@ -110,7 +107,6 @@ class account_invoice_line(osv.osv):
|
|||
item_obj = self.pool.get('product.pricelist.item')
|
||||
price_type_obj = self.pool.get('product.price.type')
|
||||
product_obj = self.pool.get('product.product')
|
||||
template_obj = self.pool.get('product.template')
|
||||
field_name = 'list_price'
|
||||
|
||||
if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False):
|
||||
|
@ -120,9 +116,7 @@ class account_invoice_line(osv.osv):
|
|||
field_name = price_type_obj.browse(cr, uid, item_base).field
|
||||
|
||||
product = product_obj.browse(cr, uid, product_id, context)
|
||||
product_tmpl_id = product.product_tmpl_id.id
|
||||
|
||||
product_read = template_obj.read(cr, uid, product_tmpl_id, [field_name], context)
|
||||
product_read = product_obj.read(cr, uid, product_id, [field_name], context=context)
|
||||
|
||||
factor = 1.0
|
||||
if uom and uom != product.uom_id.id:
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-10 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 15558)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-11 05:14+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: project
|
||||
#: view:report.project.task.user:0
|
||||
|
|
|
@ -714,14 +714,14 @@ class task(base_stage, osv.osv):
|
|||
'parent_ids': fields.many2many('project.task', 'project_task_parent_rel', 'task_id', 'parent_id', 'Parent Tasks'),
|
||||
'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'),
|
||||
'notes': fields.text('Notes'),
|
||||
'planned_hours': fields.float('Planned Hours', help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
|
||||
'planned_hours': fields.float('Initially Planned Hours', help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
|
||||
'effective_hours': fields.function(_hours_get, string='Hours Spent', multi='hours', help="Computed using the sum of the task work done.",
|
||||
store = {
|
||||
'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10),
|
||||
'project.task.work': (_get_task, ['hours'], 10),
|
||||
}),
|
||||
'remaining_hours': fields.float('Remaining Hours', digits=(16,2), help="Total remaining time, can be re-estimated periodically by the assignee of the task."),
|
||||
'total_hours': fields.function(_hours_get, string='Total Hours', multi='hours', help="Computed as: Time Spent + Remaining Time.",
|
||||
'total_hours': fields.function(_hours_get, string='Total', multi='hours', help="Computed as: Time Spent + Remaining Time.",
|
||||
store = {
|
||||
'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10),
|
||||
'project.task.work': (_get_task, ['hours'], 10),
|
||||
|
@ -1222,7 +1222,7 @@ class account_analytic_account(osv.osv):
|
|||
_inherit = 'account.analytic.account'
|
||||
_description = 'Analytic Account'
|
||||
_columns = {
|
||||
'use_tasks': fields.boolean('Tasks Management',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
|
||||
'use_tasks': fields.boolean('Tasks Mgmt.',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
|
||||
'company_uom_id': fields.related('company_id', 'project_time_mode_id', type='many2one', relation='product.uom'),
|
||||
}
|
||||
|
||||
|
|
|
@ -82,17 +82,12 @@
|
|||
<h1>
|
||||
<field name="name" string="Project Name"/>
|
||||
</h1>
|
||||
<label for="parent_id" class="oe_edit_only" string="Parent Project"/>
|
||||
<h2>
|
||||
<field name="parent_id" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
|
||||
</h2>
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="user_id" string="Project Manager" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
|
||||
<field name="analytic_account_id" invisible="1" required="0"/>
|
||||
<field name="parent_id" invisible="1" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="privacy_visibility"/>
|
||||
<field name="analytic_account_id" invisible="1" required="0"/>
|
||||
</group>
|
||||
<group>
|
||||
<table>
|
||||
|
@ -139,6 +134,7 @@
|
|||
<field name="priority"/>
|
||||
<field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
|
||||
<field name="currency_id" groups="base.group_multi_company" required="1"/>
|
||||
<field name="parent_id" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -147,9 +143,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -404,11 +400,9 @@
|
|||
states="cancel,done"/>
|
||||
-->
|
||||
<button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
|
||||
states="done" context="{'button_reactivate':True}" class="oe_highlight"/>
|
||||
<button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
|
||||
states="cancelled" context="{'button_reactivate':True}"/>
|
||||
states="cancelled,done" context="{'button_reactivate':True}"/>
|
||||
<button name="action_close" string="Done" type="object"
|
||||
states="draft,open,pending"/>
|
||||
states="draft,open,pending" class="oe_highlight"/>
|
||||
<button name="do_pending" string="Pending" type="object"
|
||||
states="open"/>
|
||||
<button name="%(action_project_task_delegate)d" string="Delegate" type="action"
|
||||
|
@ -417,7 +411,7 @@
|
|||
states="draft,open,pending"/>
|
||||
<button name="stage_previous" string="Previous Stage" type="object"
|
||||
states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
|
||||
<button name="stage_next" string="Next Stage" type="object"
|
||||
<button name="stage_next" string="Next Stage" type="object" class="oe_highlight"
|
||||
states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
|
||||
</span>
|
||||
<field name="stage_id" widget="statusbar"/>
|
||||
|
@ -427,23 +421,16 @@
|
|||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<label for="project_id" class="oe_edit_only"/>
|
||||
<h2>
|
||||
<field name="project_id" on_change="onchange_project(project_id)"/>
|
||||
</h2>
|
||||
<group>
|
||||
<group>
|
||||
<field name="project_id" on_change="onchange_project(project_id)"/>
|
||||
<field name="user_id" attrs="{'readonly':[('state','in',['done', 'cancelled'])]}"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_deadline" attrs="{'readonly':[('state','in',['done', 'cancelled'])]}"/>
|
||||
<field name="planned_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}"
|
||||
groups="project.group_time_work_estimation_tasks"
|
||||
on_change="onchange_planned(planned_hours, effective_hours)"/>
|
||||
<field name="progress" widget="progressbar"
|
||||
groups="project.group_time_work_estimation_tasks"
|
||||
invisible="1"/>
|
||||
groups="project.group_time_work_estimation_tasks"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
@ -457,14 +444,15 @@
|
|||
<field name="hours" widget="float_time" sum="Spent Hours"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group class="oe_subtotal_footer oe_right" name="project_hours" groups="project.group_time_work_estimation_tasks">
|
||||
<group>
|
||||
<group class="oe_subtotal_footer oe_right" name="project_hours" groups="project.group_time_work_estimation_tasks">
|
||||
<field name="effective_hours" widget="float_time"/>
|
||||
<label for="remaining_hours" string="Remaining" groups="project.group_time_work_estimation_tasks"/>
|
||||
<div>
|
||||
<button name="%(action_project_task_reevaluate)d" string="Reevaluate" type="action" target="new" states="open,pending" icon="gtk-edit"/>
|
||||
<field name="remaining_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" groups="project.group_time_work_estimation_tasks"/>
|
||||
<field name="remaining_hours" widget="float_time" attrs="{'readonly':[('state','in',('done','cancelled'))]}" groups="project.group_time_work_estimation_tasks"/>
|
||||
</div>
|
||||
<field name="total_hours" widget="float_time" class="oe_subtotal_footer_separator"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="oe_clear"/>
|
||||
</page>
|
||||
|
@ -490,14 +478,17 @@
|
|||
<field name="priority" groups="base.group_user"/>
|
||||
<field name="sequence"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="planned_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}"
|
||||
groups="project.group_time_work_estimation_tasks"
|
||||
on_change="onchange_planned(planned_hours, effective_hours)"/>
|
||||
<field name="state" groups="base.group_no_one"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -119,26 +119,35 @@
|
|||
<sheet string="Issue">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<label for="project_id" class="oe_edit_only"/>
|
||||
<h2><field name="project_id" required="True" on_change="on_change_project(project_id)"/></h2>
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/>
|
||||
<field name="email_from"/>
|
||||
</group><group>
|
||||
<field name="task_id" on_change="onchange_task_id(task_id)"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
<field name="version_id" widget="selection"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="priority"/>
|
||||
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
|
||||
<field name="state" groups="base.group_no_one"/>
|
||||
<field name="project_id" required="True" on_change="on_change_project(project_id)"/>
|
||||
<label for="task_id"/>
|
||||
<div>
|
||||
<field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline"/>
|
||||
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
<field name="description" placeholder="Add a description..."/>
|
||||
|
||||
<notebook groups="base.group_no_one">
|
||||
<page string="Extra Info">
|
||||
<notebook>
|
||||
<page string="Description">
|
||||
<group>
|
||||
<group>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="version_id" widget="selection"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="description" placeholder="Add a description..."/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_no_one">
|
||||
<group col="4" colspan="4">
|
||||
<separator string="Statistics" colspan="4" col="4"/>
|
||||
<field name="day_open"/>
|
||||
|
@ -153,12 +162,16 @@
|
|||
<field name="id"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group colspan="4" col="4">
|
||||
<separator string="Status" colspan="4"/>
|
||||
<field name="state" groups="base.group_no_one" string="Status"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -10,11 +10,14 @@
|
|||
<field name="project_id" position="attributes">
|
||||
<attribute name="on_change">on_change_project(project_id)</attribute>
|
||||
</field>
|
||||
<xpath expr="//notebook" position="before">
|
||||
<field name="analytic_account_id"
|
||||
domain="[('parent_id','!=',False),('partner_id', '=', partner_id),('type', '!=', 'view')]"
|
||||
on_change='on_change_account_id(analytic_account_id)'/>
|
||||
</xpath>
|
||||
<field name="active" position="after">
|
||||
<newline/>
|
||||
<group colspan="4">
|
||||
<field name="analytic_account_id"
|
||||
domain="[('parent_id','!=',False),('partner_id', '=', partner_id),('type', '!=', 'view')]"
|
||||
on_change='on_change_account_id(analytic_account_id)'/>
|
||||
</group>
|
||||
</field>
|
||||
<xpath expr="//notebook/page[@string='Extra Info']" position="before">
|
||||
<page string="Worklogs">
|
||||
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}">
|
||||
|
|
|
@ -155,20 +155,21 @@
|
|||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<label for="project_id" class="oe_edit_only"/>
|
||||
<h2>
|
||||
<field name="project_id" on_change="onchange_project(project_id)" colspan="3"/>
|
||||
</h2>
|
||||
</div>
|
||||
<group>
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div>
|
||||
<div>
|
||||
<field name="duration" class="oe_inline"/>
|
||||
<field name="product_uom" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="date_start" class="oe_inline"/><label string=" - " class="oe_inline"/><field name="date_end" class="oe_inline"/>
|
||||
</div>
|
||||
<group>
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div>
|
||||
<div>
|
||||
<field name="duration" class="oe_inline"/>
|
||||
<field name="product_uom" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="date_start" class="oe_inline"/><label string=" - " class="oe_inline"/><field name="date_end" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="project_id" on_change="onchange_project(project_id)"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Planning of Users">
|
||||
|
@ -211,10 +212,9 @@
|
|||
</group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="user_force_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="Force Assigned Users"/>
|
||||
<field name="user_force_ids" widget="many2many_tags" />
|
||||
<separator string="Previous Phases"/>
|
||||
<field name="previous_phase_ids"/>
|
||||
<separator string="Next Phases"/>
|
||||
|
@ -327,7 +327,7 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="project.view_task_form2"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='effective_hours']" position="after">
|
||||
<xpath expr="//field[@name='user_id']" position="after">
|
||||
<field name="phase_id" context="{'default_project_id' : project_id}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
|
||||
"PO-Revision-Date: 2012-06-24 16:46+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-07-11 03:11+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-06-25 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 15482)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-12 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.actions.act_window,help:project_timesheet.action_project_timesheet_bill_task
|
||||
|
@ -45,12 +45,12 @@ msgid ""
|
|||
"Fill in the timesheet tab of the employee form."
|
||||
msgstr ""
|
||||
"Холбогдох ажилтанд журнал тодорхойлогдоогүй байна.\n"
|
||||
"Ажилтны формын цагийн хуваарь хавтасыг бөглө."
|
||||
"Ажилтны формын цагийн хуудас хавтасыг бөглө."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,name:project_timesheet.process_node_timesheettask0
|
||||
msgid "Timesheet task"
|
||||
msgstr "Цагийн хуваарийн даалгавар"
|
||||
msgstr "Цагийн хуудсын даалгавар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
|
@ -90,31 +90,33 @@ msgid ""
|
|||
"You cannot delete a partner which is assigned to project, we suggest you to "
|
||||
"uncheck the active box!"
|
||||
msgstr ""
|
||||
"Та төсөлд оноогдсон харилцагчийг устгах боломжгүй, тиймээс идэвхтэй "
|
||||
"тэмдэглэгээг арилгахыг зөвлөе!"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Бүлэглэх..."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,note:project_timesheet.process_node_triggerinvoice0
|
||||
msgid "Trigger invoices from sale order lines"
|
||||
msgstr ""
|
||||
msgstr "Борлуулалтын захиалгын мөрөөс нэхэмжлэх үүсгэх"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "10-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Timesheet/Task hours Report Per Month"
|
||||
msgstr ""
|
||||
msgstr "Цагийн хуудас/Даалгавар цагийн тайлан сарын хэмжээнд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:project.project:0
|
||||
msgid "Billable"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэх боломжтой"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.actions.act_window,help:project_timesheet.action_account_analytic_overdue
|
||||
|
@ -122,225 +124,227 @@ msgid ""
|
|||
"You will find here the contracts related to your customer projects in order "
|
||||
"to track the invoicing progress."
|
||||
msgstr ""
|
||||
"Энд захиалагчийн төсөлтэй холбогдсон гэрээнүүдийг харах болно. Энэ нь "
|
||||
"нэхэмжлэх явцыг зөвх хянахад туслана."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:account.analytic.line:0
|
||||
msgid "Analytic account/project"
|
||||
msgstr ""
|
||||
msgstr "Шинжилгээний данс/төсөл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: field:report.timesheet.task.user,task_hrs:0
|
||||
msgid "Task Hours"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын цагууд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
#: field:report.timesheet.task.user,year:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
msgstr "Он"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: constraint:project.project:0
|
||||
msgid "Error! project start-date must be lower then project end-date."
|
||||
msgstr ""
|
||||
msgstr "Алдаа! төслийн эхлэх огноо дуусах огноогоос бага байх ёстой."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.actions.act_window,name:project_timesheet.action_account_analytic_overdue
|
||||
msgid "Customer Projects"
|
||||
msgstr ""
|
||||
msgstr "Захиалагчийн төслууд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.model,name:project_timesheet.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
msgstr "Шинжилгээний мөр"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
msgstr "8-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,name:project_timesheet.process_transition_taskinvoice0
|
||||
msgid "Task invoice"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын нэхэмжлэл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,name:project_timesheet.process_node_taskwork0
|
||||
msgid "Task Work"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын ажил"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
msgstr "5-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! You cannot create recursive tasks."
|
||||
msgstr ""
|
||||
msgstr "Алдаа ! Та рекурсив цэс үүсгэж болохгүй!"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_project_working_hours
|
||||
msgid "Timesheet Lines"
|
||||
msgstr ""
|
||||
msgstr "Цагийн хуудсын мөрүүд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:231
|
||||
#, python-format
|
||||
msgid "Invalid action !"
|
||||
msgstr ""
|
||||
msgstr "Алдаатай үйлдэл !"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:project.project:0
|
||||
msgid "Billable Project"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэх боломжтой Төсөл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_invoicing_contracts
|
||||
msgid "Contracts to Renew"
|
||||
msgstr ""
|
||||
msgstr "Шинэчлэх Гэрээнүүд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_hr_timesheet_sign_in
|
||||
msgid "Sign in / Sign out by project"
|
||||
msgstr ""
|
||||
msgstr "Орох/Гарах үйлдлийг төслөөр харах"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Group by month of date"
|
||||
msgstr ""
|
||||
msgstr "Огнооны сараар бүлэглэх"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.model,name:project_timesheet.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
msgstr "Даалгавар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_project_billing_line
|
||||
msgid "Invoice Tasks Work"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын Ажлыг Нэхэмжлэх"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
#: field:report.timesheet.task.user,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Хэрэглэгч"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: constraint:project.project:0
|
||||
msgid "Error! You cannot assign escalation to the same project!"
|
||||
msgstr ""
|
||||
msgstr "Алдаа! Ижил төсөлд томруулалтыг олгох боломжгүй."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: field:report.timesheet.task.user,name:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Огноо"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "7-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,note:project_timesheet.process_node_timesheettask0
|
||||
msgid "Complete Your Timesheet."
|
||||
msgstr ""
|
||||
msgstr "Цагийн Хуудсаа Гүйцээ"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Task Hours in current year"
|
||||
msgstr ""
|
||||
msgstr "Энэ жилийн даалгаврын цаг"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:project.project:0
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
msgstr "Захиалагч"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,note:project_timesheet.process_node_taskwork0
|
||||
msgid "Work on task"
|
||||
msgstr ""
|
||||
msgstr "Даалгавар дахь ажил"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
msgstr "2-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.actions.act_window,name:project_timesheet.action_project_timesheet_bill_task
|
||||
msgid "Bill Tasks Works"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын ажлуудын тооцоо"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: field:report.timesheet.task.user,timesheet_hrs:0
|
||||
msgid "Timesheet Hours"
|
||||
msgstr ""
|
||||
msgstr "Цагийн хуудас дахь цагууд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,name:project_timesheet.process_transition_taskencoding0
|
||||
msgid "Task encoding"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврыг шивнэ үү"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,note:project_timesheet.process_transition_filltimesheet0
|
||||
msgid "Task summary is comes into the timesheet line"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын товчоо нь цагийн хуудсын мөр рүү очдог."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
msgstr "1-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.node,name:project_timesheet.process_node_triggerinvoice0
|
||||
msgid "Trigger Invoice"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэлийг Үүсгэх"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
msgstr "11-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Task hours of last month"
|
||||
msgstr ""
|
||||
msgstr "Өнгөрсөн сарын ажлын цагууд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "3-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.model,name:project_timesheet.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
msgstr "Төсөл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
msgstr "4-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:project.project:0
|
||||
msgid "Invoicing Data"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэх өгөгдөл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,note:project_timesheet.process_transition_taskencoding0
|
||||
msgid "Encode how much time u spent on your task"
|
||||
msgstr ""
|
||||
msgstr "Өөрийн даалгавар дээр хичнээн цаг зарцуулснаа оруулна уу"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.model,name:project_timesheet.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
msgstr "Харилцагч"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:247
|
||||
#, python-format
|
||||
msgid "Invalid Analytic Account !"
|
||||
msgstr ""
|
||||
msgstr "Буруу Шинжилгээний Данс !"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:59
|
||||
|
@ -349,6 +353,8 @@ msgid ""
|
|||
"No product defined on the related employee.\n"
|
||||
"Fill in the timesheet tab of the employee form."
|
||||
msgstr ""
|
||||
"Холбогдох ажилтан дээр бараа тодорхойлогдоогүй байна.\n"
|
||||
"Ажилтны формын цагийн хуудас хавтас дээр бөглөнө үү."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:54
|
||||
|
@ -357,17 +363,17 @@ msgstr ""
|
|||
#: code:addons/project_timesheet/project_timesheet.py:69
|
||||
#, python-format
|
||||
msgid "Bad Configuration !"
|
||||
msgstr ""
|
||||
msgstr "Буруу Тохиргоо !"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_project_billing
|
||||
msgid "Invoicing"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэл"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You cannot create recursive associated members."
|
||||
msgstr ""
|
||||
msgstr "Алдаа ! Рекурсив холбогдсон гишүүдийг үүсгэх боломжгүй."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:247
|
||||
|
@ -375,57 +381,58 @@ msgstr ""
|
|||
msgid ""
|
||||
"You cannot select a Analytic Account which is in Close or Cancelled state"
|
||||
msgstr ""
|
||||
"Хаагдсан эсвэл Цуцлагдсан төлөвтэй Шинжилгээний Дансыг сонгох боломжгүй"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid " Month-1 "
|
||||
msgstr ""
|
||||
msgstr " Сар-1 "
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "9-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
msgstr "12-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,note:project_timesheet.process_transition_taskinvoice0
|
||||
msgid "After task is completed, Create its invoice."
|
||||
msgstr ""
|
||||
msgstr "Даалгавар дуусмагц харгалзах нэхэмжлэл үүсгэнэ."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: selection:report.timesheet.task.user,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "6-р сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.model,name:project_timesheet.model_report_timesheet_task_user
|
||||
msgid "report.timesheet.task.user"
|
||||
msgstr ""
|
||||
msgstr "report.timesheet.task.user"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:report.timesheet.task.user:0
|
||||
#: field:report.timesheet.task.user,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "Сар"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_act_project_management_timesheet_sheet_form
|
||||
msgid "My Timesheet"
|
||||
msgstr ""
|
||||
msgstr "Өөрийн цагийн хуудас"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: constraint:account.analytic.line:0
|
||||
msgid "You can not create analytic line on view account."
|
||||
msgstr ""
|
||||
msgstr "Харагдац төрлийн данс дээр шинжилгээний мөрийг үүсгэх боломжгүй."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: view:project.project:0
|
||||
msgid "Invoice Task Work"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын Ажлыг Нэхэмжлэх"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: code:addons/project_timesheet/project_timesheet.py:70
|
||||
|
@ -435,15 +442,18 @@ msgid ""
|
|||
"employee.\n"
|
||||
"Fill in the timesheet tab of the employee form."
|
||||
msgstr ""
|
||||
"Холбогдох ажилтан дээр бараа болон барааны ангилалын үзүүлэлтийн данс "
|
||||
"тодорхойлогдоогүй байна.\n"
|
||||
"Ажилтны формын цагийн хуудас хавтсыг бөглөнө үү."
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:ir.actions.act_window,name:project_timesheet.action_report_timesheet_task_user
|
||||
#: model:ir.ui.menu,name:project_timesheet.menu_timesheet_task_user
|
||||
#: view:report.timesheet.task.user:0
|
||||
msgid "Task Hours Per Month"
|
||||
msgstr ""
|
||||
msgstr "Даалгаврын цагууд сарын хэмжээнд"
|
||||
|
||||
#. module: project_timesheet
|
||||
#: model:process.transition,name:project_timesheet.process_transition_filltimesheet0
|
||||
msgid "Fill Timesheet"
|
||||
msgstr ""
|
||||
msgstr "Цагийн хуудсыг бөглөх"
|
||||
|
|
|
@ -88,7 +88,7 @@
|
|||
|
||||
<!-- Menus -->
|
||||
<record id="action_project_timesheet_bill_task" model="ir.actions.act_window">
|
||||
<field name="name">Bill Tasks Works</field>
|
||||
<field name="name">Invoice Tasks Work</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
|
@ -256,9 +256,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -104,9 +104,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -262,8 +262,8 @@ class resource_calendar_attendance(osv.osv):
|
|||
'name' : fields.char("Name", size=64, required=True),
|
||||
'dayofweek': fields.selection([('0','Monday'),('1','Tuesday'),('2','Wednesday'),('3','Thursday'),('4','Friday'),('5','Saturday'),('6','Sunday')], 'Day of Week', required=True, select=True),
|
||||
'date_from' : fields.date('Starting Date'),
|
||||
'hour_from' : fields.float('Work from', size=8, required=True, help="Working time will start from", select=True),
|
||||
'hour_to' : fields.float("Work to", size=8, required=True, help="Working time will end at"),
|
||||
'hour_from' : fields.float('Work from', required=True, help="Start and End time of working.", select=True),
|
||||
'hour_to' : fields.float("Work to", required=True),
|
||||
'calendar_id' : fields.many2one("resource.calendar", "Resource's Calendar", required=True),
|
||||
}
|
||||
|
||||
|
|
|
@ -120,11 +120,12 @@
|
|||
<field name="model">resource.calendar.attendance</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Working Time">
|
||||
<tree string="Working Time" editable="top">
|
||||
<field name="name"/>
|
||||
<field name="dayofweek"/>
|
||||
<field name="hour_from" widget="float_time" />
|
||||
<field name="hour_to" widget="float_time" />
|
||||
<field name="hour_from" widget="float_time"/>
|
||||
<field name="hour_to" widget="float_time"/>
|
||||
<field name="date_from"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -135,11 +136,16 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Working Time" version="7.0">
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="date_from"/>
|
||||
<field name="dayofweek"/>
|
||||
<field name="hour_from" widget="float_time"/>
|
||||
<field name="hour_to" widget="float_time"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="date_from"/>
|
||||
<field name="dayofweek"/>
|
||||
<label for="hour_from" string="Hours"/>
|
||||
<div>
|
||||
<field name="hour_from" widget="float_time" class="oe_inline"/> -
|
||||
<field name="hour_to" widget="float_time" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -179,16 +185,18 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Resource" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="active"/>
|
||||
<newline/>
|
||||
<field name="user_id" attrs="{'required':[('resource_type','=','user')], 'readonly':[('resource_type','=','material')]}"/>
|
||||
<field name="resource_type" />
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="calendar_id" string="Working Period"/>
|
||||
<field name="time_efficiency"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="user_id" attrs="{'required':[('resource_type','=','user')], 'readonly':[('resource_type','=','material')]}"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="resource_type" />
|
||||
<field name="calendar_id"/>
|
||||
<field name="time_efficiency"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -204,7 +212,7 @@
|
|||
<field name="user_id" />
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="resource_type" />
|
||||
<field name="calendar_id" string="Working Period"/>
|
||||
<field name="calendar_id"/>
|
||||
<field name="time_efficiency"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -225,25 +233,29 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Leave Detail" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="resource_id" on_change="onchange_resource(resource_id)"/>
|
||||
<field name="name" string="Reason"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="calendar_id"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="resource_id" on_change="onchange_resource(resource_id)"/>
|
||||
<field name="name" string="Reason"/>
|
||||
<label for="date_from" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_from" class="oe_inline"/> -
|
||||
<field name="date_to" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_from"/>
|
||||
<field name="calendar_id" string="Working Period"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_to"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_calendar_leave_tree" model="ir.ui.view">
|
||||
<field name="name">resource.calendar.leaves.tree</field>
|
||||
<field name="model">resource.calendar.leaves</field>
|
||||
|
|
|
@ -845,7 +845,8 @@ class sale_order(osv.osv):
|
|||
'procure_method': line.type,
|
||||
'move_id': move_id,
|
||||
'company_id': order.company_id.id,
|
||||
'note': line.notes
|
||||
'note': line.notes,
|
||||
'property_ids': [(6, 0, [x.id for x in line.property_ids])]
|
||||
}
|
||||
|
||||
def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, context=None):
|
||||
|
|
|
@ -318,9 +318,9 @@
|
|||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
|
||||
"PO-Revision-Date: 2012-06-29 23:16+0000\n"
|
||||
"PO-Revision-Date: 2012-07-11 05:35+0000\n"
|
||||
"Last-Translator: Akira Hiyama <Unknown>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-01 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15520)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-12 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15593)\n"
|
||||
|
||||
#. module: stock
|
||||
#: field:product.product,track_outgoing:0
|
||||
|
|
|
@ -243,13 +243,16 @@ class product_product(osv.osv):
|
|||
child_location_ids = location_obj.search(cr, uid, [('location_id', 'child_of', location_ids)])
|
||||
location_ids = child_location_ids or location_ids
|
||||
|
||||
# this will be a dictionary of the UoM resources we need for conversion purposes, by UoM id
|
||||
uoms_o = {}
|
||||
# this will be a dictionary of the product UoM by product id
|
||||
product2uom = {}
|
||||
for product in self.browse(cr, uid, ids, context=context):
|
||||
product2uom[product.id] = product.uom_id.id
|
||||
uoms_o[product.uom_id.id] = product.uom_id
|
||||
uom_ids = []
|
||||
for product in self.read(cr, uid, ids, ['uom_id'], context=context):
|
||||
product2uom[product['id']] = product['uom_id'][0]
|
||||
uom_ids.append(product['uom_id'][0])
|
||||
# this will be a dictionary of the UoM resources we need for conversion purposes, by UoM id
|
||||
uoms_o = {}
|
||||
for uom in self.pool.get('product.uom').browse(cr, uid, uom_ids, context=context):
|
||||
uoms_o[uom.id] = uom
|
||||
|
||||
results = []
|
||||
results2 = []
|
||||
|
|
|
@ -977,9 +977,9 @@
|
|||
<field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4" string="Customer"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/sheet" position="after">
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
|
@ -1090,9 +1090,9 @@
|
|||
<field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4" string="Supplier"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/sheet" position="after">
|
||||
<footer>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
|
||||
</footer>
|
||||
</div>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
|
|
|
@ -103,20 +103,14 @@ class stock_change_product_qty(osv.osv_memory):
|
|||
self.change_product_qty_send_note(cr, uid, [data.id], context)
|
||||
return {}
|
||||
|
||||
def change_product_qty_send_note (self, cr, uid, ids, context=None):
|
||||
def change_product_qty_send_note(self, cr, uid, ids, context=None):
|
||||
prod_obj = self.pool.get('product.product')
|
||||
location_obj = self.pool.get('stock.location')
|
||||
prod_temp_obj = self.pool.get('product.template')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
|
||||
for data in self.browse(cr, uid, ids, context=context):
|
||||
for location in location_obj.browse(cr, uid, [data.location_id.id], context=context):
|
||||
location_name = location.name
|
||||
for prod in prod_obj.browse(cr, uid, [data.product_id.id], context=context):
|
||||
for prod_temp in prod_temp_obj.browse(cr, uid, [prod.product_tmpl_id.id], context=context):
|
||||
for uom in uom_obj.browse(cr, uid, [prod_temp.uom_id.id], context=context):
|
||||
message = _("<b>Quantity has been changed</b> to <em>%s %s </em> for <em>%s</em> location.") % (data.new_quantity,uom.name,location_name)
|
||||
prod_obj.message_append_note(cr, uid, [prod.id], body=message, context=context)
|
||||
location_name = location_obj.browse(cr, uid, data.location_id.id, context=context).name
|
||||
message = _("<b>Quantity has been changed</b> to <em>%s %s </em> for <em>%s</em> location.") % (data.new_quantity, data.product_id.uom_id.name, location_name)
|
||||
prod_obj.message_append_note(cr, uid, [data.product_id.id], body=message, context=context)
|
||||
|
||||
stock_change_product_qty()
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ class stock_invoice_onshipping(osv.osv_memory):
|
|||
context = {}
|
||||
|
||||
model = context.get('active_model')
|
||||
if not model or model != 'stock.picking':
|
||||
if not model or 'stock.picking' not in model:
|
||||
return []
|
||||
|
||||
model_pool = self.pool.get(model)
|
||||
|
|
|
@ -56,7 +56,6 @@ class stock_planning_createlines(osv.osv_memory):
|
|||
planning_obj = self.pool.get('stock.planning')
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
prod_categ_obj = self.pool.get('product.category')
|
||||
template_obj = self.pool.get('product.template')
|
||||
planning_lines = []
|
||||
for f in self.browse(cr, uid, ids, context=context):
|
||||
if f.forecasted_products:
|
||||
|
@ -67,8 +66,7 @@ class stock_planning_createlines(osv.osv_memory):
|
|||
else:
|
||||
categ_ids = f.product_categ_id.id and [f.product_categ_id.id] or []
|
||||
prod_categ_ids = prod_categ_obj.search(cr,uid,[('parent_id','child_of',categ_ids)])
|
||||
templates_ids = template_obj.search(cr,uid,[('categ_id','in',prod_categ_ids)])
|
||||
products_id1 = product_obj.search(cr,uid,[('product_tmpl_id','in',templates_ids)])
|
||||
products_id1 = product_obj.search(cr,uid,[('categ_id','in',prod_categ_ids)])
|
||||
if len(products_id1)==0:
|
||||
raise osv.except_osv(_('Error !'), _('No forecasts for selected period or no products in selected category !'))
|
||||
|
||||
|
|
|
@ -49,13 +49,11 @@ class stock_sale_forecast_createlines(osv.osv_memory):
|
|||
forecast_obj = self.pool.get('stock.sale.forecast')
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
prod_categ_obj = self.pool.get('product.category')
|
||||
template_obj = self.pool.get('product.template')
|
||||
forecast_lines = []
|
||||
for f in self.browse(cr, uid, ids, context=context):
|
||||
categ_ids = f.product_categ_id.id and [f.product_categ_id.id] or []
|
||||
prod_categ_ids = prod_categ_obj.search(cr, uid, [('parent_id','child_of', categ_ids)])
|
||||
templates_ids = template_obj.search(cr, uid, [('categ_id','in',prod_categ_ids)])
|
||||
products_ids = product_obj.search(cr, uid, [('product_tmpl_id','in',templates_ids)])
|
||||
products_ids = product_obj.search(cr, uid, [('categ_id','in',prod_categ_ids)])
|
||||
if len(products_ids) == 0:
|
||||
raise osv.except_osv(_('Error !'), _('No products in selected category !'))
|
||||
copy = f.copy_forecast
|
||||
|
|
Loading…
Reference in New Issue