[MERGE] branch merge with lp:~openerp-dev/openobject-addons/trunk-v62_config
bzr revid: jap@tinyerp.com-20120404063611-mzllkq13rgmy92fp
This commit is contained in:
commit
517c707c18
|
@ -37,4 +37,6 @@ import ir_sequence
|
|||
import company
|
||||
import res_currency
|
||||
import edi
|
||||
import res_config
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -125,6 +125,7 @@ module named account_voucher.
|
|||
'board_account_view.xml',
|
||||
"edi/invoice_action_data.xml",
|
||||
"account_bank_view.xml",
|
||||
"res_config_view.xml",
|
||||
"account_pre_install.yml"
|
||||
],
|
||||
'demo_xml': [
|
||||
|
|
|
@ -1079,7 +1079,7 @@ class account_period(osv.osv):
|
|||
|
||||
def build_ctx_periods(self, cr, uid, period_from_id, period_to_id):
|
||||
if period_from_id == period_to_id:
|
||||
return period_from_id
|
||||
return [period_from_id]
|
||||
period_from = self.browse(cr, uid, period_from_id)
|
||||
period_date_start = period_from.date_start
|
||||
company1_id = period_from.company_id.id
|
||||
|
@ -1652,7 +1652,7 @@ class account_move_reconcile(osv.osv):
|
|||
'create_date': fields.date('Creation date', readonly=True),
|
||||
}
|
||||
_defaults = {
|
||||
'name': lambda self,cr,uid,ctx={}: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile') or '/',
|
||||
'name': lambda self,cr,uid,ctx=None: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile', context=ctx) or '/',
|
||||
}
|
||||
|
||||
def reconcile_partial_check(self, cr, uid, ids, type='auto', context=None):
|
||||
|
@ -1841,7 +1841,7 @@ class account_tax(osv.osv):
|
|||
PERCENT: tax = price * amount
|
||||
FIXED: tax = price + amount
|
||||
NONE: no tax line
|
||||
CODE: execute python code. localcontext = {'price_unit':pu, 'address':address_object}
|
||||
CODE: execute python code. localcontext = {'price_unit':pu}
|
||||
return result in the context
|
||||
Ex: result=round(price_unit*0.21,4)
|
||||
"""
|
||||
|
@ -1963,8 +1963,8 @@ class account_tax(osv.osv):
|
|||
return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
|
||||
|
||||
_defaults = {
|
||||
'python_compute': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''',
|
||||
'python_compute_inv': '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''',
|
||||
'python_compute': '''# price_unit\n# or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''',
|
||||
'python_compute_inv': '''# price_unit\n# product: product.product object or False\n\nresult = price_unit * 0.10''',
|
||||
'applicable_type': 'true',
|
||||
'type': 'percent',
|
||||
'amount': 0,
|
||||
|
@ -1981,12 +1981,11 @@ class account_tax(osv.osv):
|
|||
}
|
||||
_order = 'sequence'
|
||||
|
||||
def _applicable(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None):
|
||||
def _applicable(self, cr, uid, taxes, price_unit, product=None, partner=None):
|
||||
res = []
|
||||
obj_partener_address = self.pool.get('res.partner.address')
|
||||
for tax in taxes:
|
||||
if tax.applicable_type=='code':
|
||||
localdict = {'price_unit':price_unit, 'address':obj_partener_address.browse(cr, uid, address_id), 'product':product, 'partner':partner}
|
||||
localdict = {'price_unit':price_unit, 'product':product, 'partner':partner}
|
||||
exec tax.python_applicable in localdict
|
||||
if localdict.get('result', False):
|
||||
res.append(tax)
|
||||
|
@ -1994,11 +1993,10 @@ class account_tax(osv.osv):
|
|||
res.append(tax)
|
||||
return res
|
||||
|
||||
def _unit_compute(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None, quantity=0):
|
||||
taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner)
|
||||
def _unit_compute(self, cr, uid, taxes, price_unit, product=None, partner=None, quantity=0):
|
||||
taxes = self._applicable(cr, uid, taxes, price_unit ,product, partner)
|
||||
res = []
|
||||
cur_price_unit=price_unit
|
||||
obj_partener_address = self.pool.get('res.partner.address')
|
||||
for tax in taxes:
|
||||
# we compute the amount for the current tax object and append it to the result
|
||||
data = {'id':tax.id,
|
||||
|
@ -2026,8 +2024,7 @@ class account_tax(osv.osv):
|
|||
data['tax_amount']=quantity
|
||||
# data['amount'] = quantity
|
||||
elif tax.type=='code':
|
||||
address = address_id and obj_partener_address.browse(cr, uid, address_id) or None
|
||||
localdict = {'price_unit':cur_price_unit, 'address':address, 'product':product, 'partner':partner}
|
||||
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner}
|
||||
exec tax.python_compute in localdict
|
||||
amount = localdict['result']
|
||||
data['amount'] = amount
|
||||
|
@ -2040,7 +2037,7 @@ class account_tax(osv.osv):
|
|||
if tax.child_depend:
|
||||
latest = res.pop()
|
||||
amount = amount2
|
||||
child_tax = self._unit_compute(cr, uid, tax.child_ids, amount, address_id, product, partner, quantity)
|
||||
child_tax = self._unit_compute(cr, uid, tax.child_ids, amount, product, partner, quantity)
|
||||
res.extend(child_tax)
|
||||
if tax.child_depend:
|
||||
for r in res:
|
||||
|
@ -2060,7 +2057,7 @@ class account_tax(osv.osv):
|
|||
cur_price_unit+=amount2
|
||||
return res
|
||||
|
||||
def compute_all(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None, force_excluded=False):
|
||||
def compute_all(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, force_excluded=False):
|
||||
"""
|
||||
:param force_excluded: boolean used to say that we don't want to consider the value of field price_include of
|
||||
tax. It's used in encoding by line where you don't matter if you encoded a tax with that boolean to True or
|
||||
|
@ -2080,7 +2077,7 @@ class account_tax(osv.osv):
|
|||
tex.append(tax)
|
||||
else:
|
||||
tin.append(tax)
|
||||
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, address_id=address_id, product=product, partner=partner)
|
||||
tin = self.compute_inv(cr, uid, tin, price_unit, quantity, product=product, partner=partner)
|
||||
for r in tin:
|
||||
totalex -= r.get('amount', 0.0)
|
||||
totlex_qty = 0.0
|
||||
|
@ -2088,7 +2085,7 @@ class account_tax(osv.osv):
|
|||
totlex_qty = totalex/quantity
|
||||
except:
|
||||
pass
|
||||
tex = self._compute(cr, uid, tex, totlex_qty, quantity, address_id=address_id, product=product, partner=partner)
|
||||
tex = self._compute(cr, uid, tex, totlex_qty, quantity,product=product, partner=partner)
|
||||
for r in tex:
|
||||
totalin += r.get('amount', 0.0)
|
||||
return {
|
||||
|
@ -2097,13 +2094,13 @@ class account_tax(osv.osv):
|
|||
'taxes': tin + tex
|
||||
}
|
||||
|
||||
def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
|
||||
def compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel("warning", netsvc.LOG_WARNING,
|
||||
"Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included")
|
||||
return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner)
|
||||
return self._compute(cr, uid, taxes, price_unit, quantity, product, partner)
|
||||
|
||||
def _compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
|
||||
def _compute(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
"""
|
||||
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
|
||||
|
||||
|
@ -2112,7 +2109,7 @@ 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
|
||||
"""
|
||||
res = self._unit_compute(cr, uid, taxes, price_unit, address_id, product, partner, quantity)
|
||||
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:
|
||||
|
@ -2123,9 +2120,8 @@ class account_tax(osv.osv):
|
|||
total += r['amount']
|
||||
return res
|
||||
|
||||
def _unit_compute_inv(self, cr, uid, taxes, price_unit, address_id=None, product=None, partner=None):
|
||||
taxes = self._applicable(cr, uid, taxes, price_unit, address_id, product, partner)
|
||||
obj_partener_address = self.pool.get('res.partner.address')
|
||||
def _unit_compute_inv(self, cr, uid, taxes, price_unit, product=None, partner=None):
|
||||
taxes = self._applicable(cr, uid, taxes, price_unit, product, partner)
|
||||
res = []
|
||||
taxes.reverse()
|
||||
cur_price_unit = price_unit
|
||||
|
@ -2150,8 +2146,7 @@ class account_tax(osv.osv):
|
|||
amount = tax.amount
|
||||
|
||||
elif tax.type=='code':
|
||||
address = address_id and obj_partener_address.browse(cr, uid, address_id) or None
|
||||
localdict = {'price_unit':cur_price_unit, 'address':address, 'product':product, 'partner':partner}
|
||||
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner}
|
||||
exec tax.python_compute_inv in localdict
|
||||
amount = localdict['result']
|
||||
elif tax.type=='balance':
|
||||
|
@ -2185,7 +2180,7 @@ class account_tax(osv.osv):
|
|||
del res[-1]
|
||||
amount = price_unit
|
||||
|
||||
parent_tax = self._unit_compute_inv(cr, uid, tax.child_ids, amount, address_id, product, partner)
|
||||
parent_tax = self._unit_compute_inv(cr, uid, tax.child_ids, amount, product, partner)
|
||||
res.extend(parent_tax)
|
||||
|
||||
total = 0.0
|
||||
|
@ -2197,7 +2192,7 @@ class account_tax(osv.osv):
|
|||
r['todo'] = 0
|
||||
return res
|
||||
|
||||
def compute_inv(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
|
||||
def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None):
|
||||
"""
|
||||
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
|
||||
Price Unit is a VAT included price
|
||||
|
@ -2207,7 +2202,7 @@ 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
|
||||
"""
|
||||
res = self._unit_compute_inv(cr, uid, taxes, price_unit, address_id, product, partner=None)
|
||||
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:
|
||||
|
@ -2806,8 +2801,8 @@ class account_tax_template(osv.osv):
|
|||
return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
|
||||
|
||||
_defaults = {
|
||||
'python_compute': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''',
|
||||
'python_compute_inv': lambda *a: '''# price_unit\n# address: res.partner.address object or False\n# product: product.product object or False\n\nresult = price_unit * 0.10''',
|
||||
'python_compute': lambda *a: '''# price_unit\n# product: product.product object or None\n# partner: res.partner object or None\n\nresult = price_unit * 0.10''',
|
||||
'python_compute_inv': lambda *a: '''# price_unit\n# product: product.product object or False\n\nresult = price_unit * 0.10''',
|
||||
'applicable_type': 'true',
|
||||
'type': 'percent',
|
||||
'amount': 0,
|
||||
|
|
|
@ -55,7 +55,7 @@ class bank(osv.osv):
|
|||
# Find the code and parent of the bank account to create
|
||||
dig = 6
|
||||
current_num = 1
|
||||
ids = obj_acc.search(cr, uid, [('type','=','liquidity')], context=context)
|
||||
ids = obj_acc.search(cr, uid, [('type','=','liquidity'), ('company_id', '=', bank.company_id.id)], context=context)
|
||||
# No liquidity account exists, no template available
|
||||
if not ids: continue
|
||||
|
||||
|
|
|
@ -341,11 +341,11 @@ class account_bank_statement(osv.osv):
|
|||
if not st.name == '/':
|
||||
st_number = st.name
|
||||
else:
|
||||
c = {'fiscalyear_id': st.period_id.fiscalyear_id.id}
|
||||
if st.journal_id.sequence_id:
|
||||
c = {'fiscalyear_id': st.period_id.fiscalyear_id.id}
|
||||
st_number = obj_seq.next_by_id(cr, uid, st.journal_id.sequence_id.id, context=c)
|
||||
else:
|
||||
st_number = obj_seq.next_by_code(cr, uid, 'account.bank.statement')
|
||||
st_number = obj_seq.next_by_code(cr, uid, 'account.bank.statement', context=c)
|
||||
|
||||
for line in st.move_line_ids:
|
||||
if line.state <> 'valid':
|
||||
|
|
|
@ -50,13 +50,5 @@
|
|||
id="menu_action_bank_tree"
|
||||
action="action_bank_tree"/>
|
||||
|
||||
|
||||
<record id="account_configuration_bank_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_bank_tree"/>
|
||||
<field name="category_id" ref="category_accounting_configuration"/>
|
||||
<field name="sequence">4</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -279,11 +279,11 @@ class account_cash_statement(osv.osv):
|
|||
raise osv.except_osv(_('Error !'), (_('User %s does not have rights to access %s journal !') % (statement.user_id.name, statement.journal_id.name)))
|
||||
|
||||
if statement.name and statement.name == '/':
|
||||
c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id}
|
||||
if statement.journal_id.sequence_id:
|
||||
c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id}
|
||||
st_number = obj_seq.next_by_id(cr, uid, statement.journal_id.sequence_id.id, context=c)
|
||||
else:
|
||||
st_number = obj_seq.next_by_code(cr, uid, 'account.cash.statement')
|
||||
st_number = obj_seq.next_by_code(cr, uid, 'account.cash.statement', context=c)
|
||||
vals.update({
|
||||
'name': st_number
|
||||
})
|
||||
|
|
|
@ -62,48 +62,5 @@
|
|||
<field name="type">automatic</field>
|
||||
</record>
|
||||
|
||||
<record id="action_view_financial_accounts_installer" model="ir.actions.act_window">
|
||||
<field name="name">Review your Financial Accounts</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.account</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'config_invisible': False}</field>
|
||||
</record>
|
||||
|
||||
<record id="view_financial_accounts_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_view_financial_accounts_installer" />
|
||||
<field name="category_id" ref="category_accounting_configuration" />
|
||||
<field name="groups_id" eval="[(6, 0, [ref('account.group_account_user')])]" />
|
||||
</record>
|
||||
|
||||
<record id="action_review_financial_journals_installer" model="ir.actions.act_window">
|
||||
<field name="name">Review your Financial Journals</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.journal</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help">Setup your accounting journals. For bank accounts, it's better to use the 'Setup Your Bank Accounts' tool that will automatically create the accounts and journals for you.</field>
|
||||
</record>
|
||||
|
||||
<record id="review_financial_journals_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_review_financial_journals_installer" />
|
||||
<field name="category_id" ref="category_accounting_configuration" />
|
||||
<field name="groups_id" eval="[(6, 0, [ref('account.group_account_user')])]" />
|
||||
</record>
|
||||
<record id="action_review_payment_terms_installer" model="ir.actions.act_window">
|
||||
<field name="name">Review your Payment Terms</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.payment.term</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help">Payment terms define the conditions to pay a customer or supplier invoice in one or several payments. Customers periodic reminders will use the payment terms for each letter. Each customer or supplier can be assigned to one of these payment terms.</field>
|
||||
</record>
|
||||
|
||||
<record id="review_payment_terms_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_review_payment_terms_installer" />
|
||||
<field name="category_id" ref="category_accounting_configuration" />
|
||||
<field name="groups_id" eval="[(6, 0, [ref('account.group_account_user')])]" />
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -216,8 +216,6 @@ class account_invoice(osv.osv):
|
|||
help="If you use payment terms, the due date will be computed automatically at the generation "\
|
||||
"of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}),
|
||||
'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}),
|
||||
'payment_term': fields.many2one('account.payment.term', 'Payment Term',readonly=True, states={'draft':[('readonly',False)]},
|
||||
help="If you use payment terms, the due date will be computed automatically at the generation "\
|
||||
"of accounting entries. If you keep the payment term and the due date empty, it means direct payment. "\
|
||||
|
@ -396,7 +394,6 @@ class account_invoice(osv.osv):
|
|||
def onchange_partner_id(self, cr, uid, ids, type, partner_id,\
|
||||
date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
|
||||
invoice_addr_id = False
|
||||
contact_addr_id = False
|
||||
partner_payment_term = False
|
||||
acc_id = False
|
||||
bank_id = False
|
||||
|
@ -406,8 +403,7 @@ class account_invoice(osv.osv):
|
|||
if partner_id:
|
||||
|
||||
opt.insert(0, ('id', partner_id))
|
||||
res = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['contact', 'invoice'])
|
||||
contact_addr_id = res['contact']
|
||||
res = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['invoice'])
|
||||
invoice_addr_id = res['invoice']
|
||||
p = self.pool.get('res.partner').browse(cr, uid, partner_id)
|
||||
if company_id:
|
||||
|
@ -442,8 +438,6 @@ class account_invoice(osv.osv):
|
|||
bank_id = p.bank_ids[0].id
|
||||
|
||||
result = {'value': {
|
||||
'address_contact_id': contact_addr_id,
|
||||
'address_invoice_id': invoice_addr_id,
|
||||
'account_id': acc_id,
|
||||
'payment_term': partner_payment_term,
|
||||
'fiscal_position': fiscal_position
|
||||
|
@ -1092,7 +1086,7 @@ class account_invoice(osv.osv):
|
|||
return map(lambda x: (0,0,x), lines)
|
||||
|
||||
def refund(self, cr, uid, ids, date=None, period_id=None, description=None, journal_id=None):
|
||||
invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'address_invoice_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id'])
|
||||
invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id'])
|
||||
obj_invoice_line = self.pool.get('account.invoice.line')
|
||||
obj_invoice_tax = self.pool.get('account.invoice.tax')
|
||||
obj_journal = self.pool.get('account.journal')
|
||||
|
@ -1140,7 +1134,7 @@ class account_invoice(osv.osv):
|
|||
'name': description,
|
||||
})
|
||||
# take the id part of the tuple returned for many2one fields
|
||||
for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
|
||||
for field in ('partner_id',
|
||||
'account_id', 'currency_id', 'payment_term', 'journal_id'):
|
||||
invoice[field] = invoice[field] and invoice[field][0]
|
||||
# create the new invoice
|
||||
|
@ -1257,7 +1251,7 @@ class account_invoice_line(osv.osv):
|
|||
cur_obj = self.pool.get('res.currency')
|
||||
for line in self.browse(cr, uid, ids):
|
||||
price = line.price_unit * (1-(line.discount or 0.0)/100.0)
|
||||
taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, address_id=line.invoice_id.address_invoice_id, partner=line.invoice_id.partner_id)
|
||||
taxes = tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, price, line.quantity, product=line.product_id, partner=line.invoice_id.partner_id)
|
||||
res[line.id] = taxes['total']
|
||||
if line.invoice_id:
|
||||
cur = line.invoice_id.currency_id
|
||||
|
@ -1277,7 +1271,7 @@ class account_invoice_line(osv.osv):
|
|||
taxes = l[2].get('invoice_line_tax_id')
|
||||
if len(taxes[0]) >= 3 and taxes[0][2]:
|
||||
taxes = tax_obj.browse(cr, uid, list(taxes[0][2]))
|
||||
for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), context.get('address_invoice_id', False), l[2].get('product_id', False), context.get('partner_id', False))['taxes']:
|
||||
for tax in tax_obj.compute_all(cr, uid, taxes, p,l[2].get('quantity'), l[2].get('product_id', False), context.get('partner_id', False))['taxes']:
|
||||
t = t - tax['amount']
|
||||
return t
|
||||
return 0
|
||||
|
@ -1322,7 +1316,7 @@ class account_invoice_line(osv.osv):
|
|||
res['arch'] = etree.tostring(doc)
|
||||
return res
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
company_id = company_id if company_id != None else context.get('company_id',False)
|
||||
|
@ -1397,14 +1391,14 @@ class account_invoice_line(osv.osv):
|
|||
res_final['value']['price_unit'] = new_price
|
||||
return res_final
|
||||
|
||||
def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
|
||||
def uos_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
company_id = company_id if company_id != None else context.get('company_id',False)
|
||||
context = dict(context)
|
||||
context.update({'company_id': company_id})
|
||||
warning = {}
|
||||
res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context)
|
||||
res = self.product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context=context)
|
||||
if 'uos_id' in res['value']:
|
||||
del res['value']['uos_id']
|
||||
if not uom:
|
||||
|
@ -1437,7 +1431,7 @@ class account_invoice_line(osv.osv):
|
|||
tax_code_found= False
|
||||
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id,
|
||||
(line.price_unit * (1.0 - (line['discount'] or 0.0) / 100.0)),
|
||||
line.quantity, inv.address_invoice_id.id, line.product_id,
|
||||
line.quantity, line.product_id,
|
||||
inv.partner_id)['taxes']:
|
||||
|
||||
if inv.type in ('out_invoice', 'in_invoice'):
|
||||
|
@ -1572,7 +1566,7 @@ class account_invoice_tax(osv.osv):
|
|||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
for line in inv.invoice_line:
|
||||
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, inv.address_invoice_id.id, line.product_id, inv.partner_id)['taxes']:
|
||||
for tax in tax_obj.compute_all(cr, uid, line.invoice_line_tax_id, (line.price_unit* (1-(line.discount or 0.0)/100.0)), line.quantity, line.product_id, inv.partner_id)['taxes']:
|
||||
tax['price_unit'] = cur_obj.round(cr, uid, cur, tax['price_unit'])
|
||||
val={}
|
||||
val['invoice_id'] = inv.id
|
||||
|
|
|
@ -51,12 +51,12 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Invoice Line">
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/>
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||
<field colspan="2" name="name"/>
|
||||
<label string="Quantity :" align="1.0"/>
|
||||
<group colspan="1" col="2">
|
||||
<field name="quantity" nolabel="1"/>
|
||||
<field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)" nolabel="1"/>
|
||||
<field name="uos_id" on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)" nolabel="1"/>
|
||||
</group>
|
||||
<field name="price_unit"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/>
|
||||
|
@ -153,7 +153,6 @@
|
|||
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/>
|
||||
<newline/>
|
||||
<field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" options='{"quick_create": false}' domain="[('supplier', '=', True)]"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/>
|
||||
<field name="fiscal_position" groups="base.group_extended" widget="selection"/>
|
||||
<newline/>
|
||||
<field name="date_invoice"/>
|
||||
|
@ -168,9 +167,9 @@
|
|||
<field name="reference_type" nolabel="1" size="0"/>
|
||||
<field name="reference" nolabel="1"/>
|
||||
<field name="date_due"/>
|
||||
<field colspan="4" context="{'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1">
|
||||
<field colspan="4" context="{'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line" nolabel="1">
|
||||
<tree string="Invoice lines">
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, context, parent.company_id)"/>
|
||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)"/>
|
||||
<field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
|
||||
<field domain="[('type','<>','view'), ('company_id', '=', parent.company_id), ('parent_id', '!=', False)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
|
@ -223,7 +222,6 @@
|
|||
<field name="name"/>
|
||||
<newline/>
|
||||
<field name="origin" groups="base.group_extended"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_contact_id" groups="base.group_extended"/>
|
||||
<field name="user_id"/>
|
||||
<field name="move_id" groups="account.group_account_user"/>
|
||||
<separator colspan="4" string="Additional Information"/>
|
||||
|
@ -263,7 +261,6 @@
|
|||
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/>
|
||||
<newline/>
|
||||
<field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}" options='{"quick_create": false}' domain="[('customer', '=', True)]"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}" options='{"quick_create": false}'/>
|
||||
<field name="fiscal_position" groups="base.group_extended" widget="selection" options='{"quick_create": false}'/>
|
||||
<newline/>
|
||||
<field name="date_invoice"/>
|
||||
|
@ -306,7 +303,7 @@
|
|||
<button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','<>','paid'), ('reconciled', '=', True)]}" icon="gtk-convert" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
|
||||
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid' icon="gtk-execute"/>
|
||||
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="terp-gtk-media-pause" groups="account.group_account_user"/>
|
||||
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="terp-gtk-media-pause" groups="account.group_proforma_invoices"/>
|
||||
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-go-forward"/>
|
||||
<button name="%(account_invoices)d" string="Print Invoice" type="action" icon="gtk-print" states="open,paid,proforma,sale,proforma2"/>
|
||||
</group>
|
||||
|
@ -321,8 +318,6 @@
|
|||
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"
|
||||
groups="base.group_extended"/>
|
||||
<field name="origin"/>
|
||||
<field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id"
|
||||
groups="base.group_extended"/>
|
||||
<field name="move_id" groups="account.group_account_user"/>
|
||||
<separator colspan="4" string="Additional Information"/>
|
||||
<field colspan="4" name="comment" nolabel="1"/>
|
||||
|
@ -355,7 +350,7 @@
|
|||
<search string="Search Invoice">
|
||||
<group>
|
||||
<filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
|
||||
<filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices"/>
|
||||
<filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/>
|
||||
<filter name="invoices" icon="terp-dolar" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter name="unpaid" icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
|
||||
|
|
|
@ -10,27 +10,28 @@
|
|||
<menuitem id="menu_finance_payables" name="Suppliers" parent="menu_finance" sequence="3"/>
|
||||
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="4"
|
||||
groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="9" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="13" groups="group_account_user,group_account_manager"/>
|
||||
<!-- This menu is used in account_code module -->
|
||||
<menuitem id="menu_account_pp_statements" name="Statements" parent="menu_finance_periodical_processing" sequence="12"/>
|
||||
<menuitem id="periodical_processing_journal_entries_validation" name="Draft Entries" parent="menu_finance_periodical_processing"/>
|
||||
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
|
||||
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
|
||||
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" groups="account.group_account_user" sequence="6"/>
|
||||
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="13"/>
|
||||
<menuitem id="menu_finance_reporting" name="Accounting" parent="base.menu_reporting" sequence="35"/>
|
||||
<menuitem id="menu_finance_reporting_budgets" name="Budgets" parent="menu_finance_reporting" groups="group_account_user"/>
|
||||
<menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reporting"/>
|
||||
<menuitem id="menu_finance_reports" name="Reporting" parent="menu_finance" sequence="14" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reports"/>
|
||||
<menuitem id="menu_finance_management_belgian_reports" name="Belgian Reports" parent="menu_finance_reporting"/>
|
||||
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="14" groups="group_account_manager"/>
|
||||
<menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration"/>
|
||||
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting"/>
|
||||
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="group_account_manager"/>
|
||||
<menuitem id="menu_finance_accounting" name="Financial Accounting" parent="menu_finance_configuration" sequence="1"/>
|
||||
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting" sequence="40"/>
|
||||
<menuitem id="menu_analytic" parent="menu_analytic_accounting" name="Accounts" groups="analytic.group_analytic_accounting"/>
|
||||
<menuitem id="menu_journals" sequence="9" name="Journals" parent="menu_finance_accounting" groups="group_account_manager"/>
|
||||
<menuitem id="menu_configuration_misc" name="Miscellaneous" parent="menu_finance_configuration" sequence="30"/>
|
||||
<menuitem id="base.menu_action_currency_form" parent="menu_configuration_misc" sequence="20"/>
|
||||
<menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="menu_finance_reporting" sequence="100"/>
|
||||
<menuitem id="menu_journals" sequence="15" name="Journals" parent="menu_finance_configuration" groups="group_account_manager"/>
|
||||
<menuitem id="menu_configuration_misc" name="Miscellaneous" parent="menu_finance_configuration" sequence="55"/>
|
||||
<menuitem id="base.menu_action_currency_form" parent="menu_configuration_misc" sequence="20" groups="base.group_no_one"/>
|
||||
<menuitem id="menu_finance_generic_reporting" name="Generic Reporting" parent="menu_finance_reports" sequence="100"/>
|
||||
<menuitem id="menu_finance_entries" name="Journal Entries" parent="menu_finance" sequence="5" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_accounting" sequence="18"/>
|
||||
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" sequence="30" />
|
||||
|
||||
<menuitem id="account.menu_finance_recurrent_entries" name="Recurring Entries"
|
||||
parent="menu_finance_periodical_processing" sequence="15"
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
wiz = wizards.browse(cr, uid, ref('account.account_configuration_installer_todo'))
|
||||
part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner'))
|
||||
# if we know the country and the wizard has not yet been executed, we do it
|
||||
if (part.country.id) and (wiz.state=='open'):
|
||||
mod = 'l10n_'+part.country.code.lower()
|
||||
if (part.country_id.id) and (wiz.state=='open'):
|
||||
mod = 'l10n_'+part.country_id.code.lower()
|
||||
ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context)
|
||||
if ids:
|
||||
wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], {
|
||||
|
|
|
@ -5,14 +5,12 @@
|
|||
<record id="test_invoice_1" model="account.invoice">
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="address_invoice_id" ref="base.res_partner_address_tang"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
<field name="journal_id" ref="account.sales_journal"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="type">out_invoice</field>
|
||||
<field name="account_id" ref="account.a_recv"/>
|
||||
<field name="name">Test invoice 1</field>
|
||||
<field name="address_contact_id" ref="base.res_partner_address_tang"/>
|
||||
</record>
|
||||
<record id="test_tax_line" model="account.invoice.tax">
|
||||
<field name="name">Test Tax</field>
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
<field name="help">Define your company's financial year according to your needs. A financial year is a period at the end of which a company's accounts are made up (usually 12 months). The financial year is usually referred to by the date in which it ends. For example, if a company's financial year ends November 30, 2011, then everything between December 1, 2010 and November 30, 2011 would be referred to as FY 2011. You are not obliged to follow the actual calendar year.</field>
|
||||
</record>
|
||||
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_accounting" sequence="8" />
|
||||
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_configuration" sequence="5" />
|
||||
<menuitem action="action_account_fiscalyear_form" id="menu_action_account_fiscalyear_form" parent="next_id_23"/>
|
||||
|
||||
<!--
|
||||
|
@ -149,7 +149,7 @@
|
|||
<field name="context">{'search_default_draft': 1}</field>
|
||||
<field name="help">Here you can define a financial period, an interval of time in your company's financial year. An accounting period typically is a month or a quarter. It usually corresponds to the periods of the tax declaration. Create and manage periods from here and decide whether a period should be closed or left open depending on your company's activities over a specific period.</field>
|
||||
</record>
|
||||
<menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23"/>
|
||||
<menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23" groups="base.group_no_one"/>
|
||||
|
||||
|
||||
<!--
|
||||
|
@ -265,7 +265,7 @@
|
|||
<field name="view_id" ref="view_account_list"/>
|
||||
<field name="help">Create and manage the accounts you need to record journal entries. An account is part of a ledger allowing your company to register all kinds of debit and credit transactions. Companies present their annual accounts in two main parts: the balance sheet and the income statement (profit and loss account). The annual accounts of a company are required by law to disclose a certain amount of information. They have to be certified by an external auditor annually.</field>
|
||||
</record>
|
||||
<menuitem id="account_account_menu" name="Accounts" parent="menu_finance_accounting"/>
|
||||
<menuitem id="account_account_menu" name="Accounts" parent="account.menu_finance_configuration" sequence="15"/>
|
||||
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
|
||||
|
||||
<record id="view_account_tree" model="ir.ui.view">
|
||||
|
@ -740,7 +740,7 @@
|
|||
</record>
|
||||
|
||||
<menuitem string="Bank Statements" action="action_bank_statement_tree" id="menu_bank_statement_tree" parent="menu_finance_bank_and_cash" sequence="7"/>
|
||||
<menuitem name="Statements Reconciliation" action="action_bank_statement_periodic_tree" id="menu_menu_Bank_process" parent="account.menu_account_pp_statements" sequence="7"/>
|
||||
<menuitem name="Statements Reconciliation" action="action_bank_statement_periodic_tree" id="menu_menu_Bank_process" parent="account.periodical_processing_reconciliation" sequence="15"/>
|
||||
|
||||
|
||||
<record id="action_bank_statement_draft_tree" model="ir.actions.act_window">
|
||||
|
@ -810,7 +810,7 @@
|
|||
<field name="search_view_id" ref="view_account_type_search"/>
|
||||
<field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
|
||||
</record>
|
||||
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_extended"/>
|
||||
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_no_one"/>
|
||||
<!--
|
||||
Entries
|
||||
-->
|
||||
|
@ -923,8 +923,8 @@
|
|||
<field name="search_view_id" ref="view_tax_code_search"/>
|
||||
<field name="help">The tax code definition depends on the tax declaration of your country. OpenERP allows you to define the tax structure and manage it from this menu. You can define both numeric and alphanumeric tax codes.</field>
|
||||
</record>
|
||||
<menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_accounting"/>
|
||||
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12"/>
|
||||
<menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_configuration" sequence="20"/>
|
||||
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12" groups="base.group_no_one"/>
|
||||
|
||||
|
||||
<!--
|
||||
|
@ -2505,15 +2505,6 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<field name="name">New Company Financial Setting</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="menu_act_ir_actions_bleble" model="ir.ui.menu">
|
||||
<field name="name">New Company Financial Setting</field>
|
||||
<field eval="1" name="sequence"/>
|
||||
<field name="parent_id" ref="account.menu_finance_accounting"/>
|
||||
<field name="icon">STOCK_EXECUTE</field>
|
||||
<field name="action" ref="ir_actions_server_action_wizard_multi_chart"/>
|
||||
</record>
|
||||
|
||||
<record id="account_account_graph" model="ir.ui.view">
|
||||
<field name="name">account.account.graph</field>
|
||||
<field name="model">account.account</field>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<field name="view_id" ref="board_account_form"/>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_dashboard_acc" name="Dashboard" sequence="2" parent="account.menu_finance_reporting" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem id="menu_dashboard_acc" name="Accounting" sequence="30" parent="base.menu_reporting_dashboard" groups="group_account_user,group_account_manager"/>
|
||||
<menuitem action="open_board_account" icon="terp-graph" id="menu_board_account" parent="menu_dashboard_acc" sequence="1"/>
|
||||
<menuitem icon="terp-account" id="account.menu_finance" name="Accounting" sequence="14" action="open_board_account"/>
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ from osv import fields, osv
|
|||
class res_company(osv.osv):
|
||||
_inherit = "res.company"
|
||||
_columns = {
|
||||
'expects_chart_of_accounts': fields.boolean('Expects a Chart of Accounts'),
|
||||
'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(
|
||||
|
@ -37,6 +38,7 @@ class res_company(osv.osv):
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'expects_chart_of_accounts': True,
|
||||
'overdue_msg': '''Our records indicate that the following payments are still due. If the amount
|
||||
has already been paid, please disregard this notice. However, if you have any
|
||||
queries regarding your account, please contact us.
|
||||
|
|
|
@ -6,9 +6,7 @@
|
|||
<field name="payment_term" ref="account.account_payment_term"/>
|
||||
<field name="journal_id" ref="account.expenses_journal"/>
|
||||
<field name="currency_id" ref="base.EUR"/>
|
||||
<field name="address_invoice_id" ref="base.res_partner_address_wong"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="address_contact_id" ref="base.res_partner_address_wong"/>
|
||||
<field name="reference_type">none</field>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="state">draft</field>
|
||||
|
|
|
@ -75,7 +75,7 @@ class account_invoice(osv.osv, EDIMixin):
|
|||
"""Exports a supplier or customer invoice"""
|
||||
edi_struct = dict(edi_struct or INVOICE_EDI_STRUCT)
|
||||
res_company = self.pool.get('res.company')
|
||||
res_partner_address = self.pool.get('res.partner.address')
|
||||
res_partner = self.pool.get('res.partner')
|
||||
edi_doc_list = []
|
||||
for invoice in records:
|
||||
# generate the main report
|
||||
|
@ -84,8 +84,7 @@ class account_invoice(osv.osv, EDIMixin):
|
|||
edi_doc.update({
|
||||
'company_address': res_company.edi_export_address(cr, uid, invoice.company_id, context=context),
|
||||
'company_paypal_account': invoice.company_id.paypal_account,
|
||||
'partner_address': res_partner_address.edi_export(cr, uid, [invoice.address_invoice_id], context=context)[0],
|
||||
|
||||
'partner_address': res_partner.edi_export(cr, uid, [invoice.partner_id], context=context)[0],
|
||||
'currency': self.pool.get('res.currency').edi_export(cr, uid, [invoice.currency_id], context=context)[0],
|
||||
'partner_ref': invoice.reference or False,
|
||||
})
|
||||
|
@ -125,34 +124,32 @@ class account_invoice(osv.osv, EDIMixin):
|
|||
# the desired company among the user's allowed companies
|
||||
|
||||
self._edi_requires_attributes(('company_id','company_address','type'), edi_document)
|
||||
res_partner_address = self.pool.get('res.partner.address')
|
||||
res_partner = self.pool.get('res.partner')
|
||||
|
||||
# imported company = new partner
|
||||
src_company_id, src_company_name = edi_document.pop('company_id')
|
||||
partner_id = self.edi_import_relation(cr, uid, 'res.partner', src_company_name,
|
||||
src_company_id, context=context)
|
||||
|
||||
invoice_type = edi_document['type']
|
||||
partner_value = {}
|
||||
if invoice_type in ('out_invoice', 'out_refund'):
|
||||
partner_value.update({'customer': True})
|
||||
if invoice_type in ('in_invoice', 'in_refund'):
|
||||
partner_value.update({'supplier': True})
|
||||
res_partner.write(cr, uid, [partner_id], partner_value, context=context)
|
||||
|
||||
# imported company_address = new partner address
|
||||
address_info = edi_document.pop('company_address')
|
||||
address_info['partner_id'] = (src_company_id, src_company_name)
|
||||
if 'name' not in address_info:
|
||||
address_info['name'] = src_company_name
|
||||
address_info['type'] = 'invoice'
|
||||
address_id = res_partner_address.edi_import(cr, uid, address_info, context=context)
|
||||
address_info.update(partner_value)
|
||||
address_id = res_partner.edi_import(cr, uid, address_info, context=context)
|
||||
|
||||
# modify edi_document to refer to new partner
|
||||
partner_address = res_partner_address.browse(cr, uid, address_id, context=context)
|
||||
edi_document['partner_id'] = (src_company_id, src_company_name)
|
||||
partner_address = res_partner.browse(cr, uid, address_id, context=context)
|
||||
address_edi_m2o = self.edi_m2o(cr, uid, partner_address, context=context)
|
||||
edi_document['partner_id'] = address_edi_m2o
|
||||
edi_document.pop('partner_address', False) # ignored
|
||||
edi_document['address_invoice_id'] = self.edi_m2o(cr, uid, partner_address, context=context)
|
||||
|
||||
return partner_id
|
||||
return address_id
|
||||
|
||||
|
||||
def edi_import(self, cr, uid, edi_document, context=None):
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<field name="context">{'search_default_model_id':'account.invoice'}</field>
|
||||
<field name="context" eval="{'search_default_model_id': ref('account.model_account_invoice')}"/>
|
||||
</record>
|
||||
<menuitem id="menu_email_templates" parent="menu_configuration_misc" action="action_email_templates" sequence="30"/>
|
||||
<menuitem id="menu_email_templates" parent="menu_configuration_misc" action="action_email_templates" sequence="30" groups="base.group_no_one"/>
|
||||
|
||||
</data>
|
||||
|
||||
|
@ -40,14 +40,14 @@
|
|||
<field name="name">Automated Invoice Notification Mail</field>
|
||||
<field name="email_from">${object.user_id.user_email or object.company_id.email or 'noreply@localhost'}</field>
|
||||
<field name="subject">${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })</field>
|
||||
<field name="email_to">${object.address_invoice_id.email or ''}</field>
|
||||
<field name="email_to">${object.partner_id.email or ''}</field>
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
<field name="body_html"><![CDATA[
|
||||
<div style="font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">
|
||||
|
||||
<p>Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''},</p>
|
||||
|
||||
<p>Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},</p>
|
||||
|
||||
<p>A new invoice is available for ${object.partner_id.name}: </p>
|
||||
|
||||
<p style="border-left: 1px solid #8e0000; margin-left: 30px;">
|
||||
|
@ -124,7 +124,7 @@
|
|||
</div>
|
||||
]]></field>
|
||||
<field name="body_text"><![CDATA[
|
||||
Hello${object.address_invoice_id.name and ' ' or ''}${object.address_invoice_id.name or ''},
|
||||
Hello${object.partner_id.name and ' ' or ''}${object.partner_id.name or ''},
|
||||
|
||||
A new invoice is available for ${object.partner_id.name}:
|
||||
| Invoice number: *${object.number}*
|
||||
|
|
|
@ -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:35+0000\n"
|
||||
"PO-Revision-Date: 2012-03-18 19:30+0000\n"
|
||||
"Last-Translator: Tryfon Farmakakis <farmakakistryfon@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-03-21 21:33+0000\n"
|
||||
"Last-Translator: Christos Ververidis <Unknown>\n"
|
||||
"Language-Team: Greek <el@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-03-19 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 14969)\n"
|
||||
"X-Launchpad-Export-Date: 2012-03-22 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 14981)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -145,7 +145,7 @@ msgstr "Συμφωνία"
|
|||
#: field:account.move.line,ref:0
|
||||
#: field:account.subscription,ref:0
|
||||
msgid "Reference"
|
||||
msgstr "Παραπομπή"
|
||||
msgstr "Παραπομπές"
|
||||
|
||||
#. module: account
|
||||
#: view:account.open.closed.fiscalyear: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 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-02-21 04:07+0000\n"
|
||||
"PO-Revision-Date: 2012-03-27 01:25+0000\n"
|
||||
"Last-Translator: Jeff Wang <wjfonhand@hotmail.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-02-22 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 14838)\n"
|
||||
"X-Launchpad-Export-Date: 2012-03-28 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15027)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -6492,7 +6492,7 @@ msgstr "当前期间凭证列表"
|
|||
msgid ""
|
||||
"Check this box if you want to allow the cancellation the entries related to "
|
||||
"this journal or of the invoice related to this journal"
|
||||
msgstr "请勾选这,如果您允许作废此账簿的分录或发票。"
|
||||
msgstr "勾选这里,则此凭证簿下的亏即凭证或发票可以被作废。"
|
||||
|
||||
#. module: account
|
||||
#: view:account.fiscalyear.close:0
|
||||
|
@ -6736,7 +6736,7 @@ msgstr "此报表用于生成一个试算平衡表的PDF报表。这样你可以
|
|||
msgid ""
|
||||
"Check this box if you are unsure of that journal entry and if you want to "
|
||||
"note it as 'to be reviewed' by an accounting expert."
|
||||
msgstr "勾选这里,如果您不肯定账簿的分录,您可以把它标注为“待审核”状态交由会计师来确定。"
|
||||
msgstr "勾选这里,如果您不确定凭证是否正确,您可以把它标注为“待审核”状态交由会计师来确定。"
|
||||
|
||||
#. module: account
|
||||
#: field:account.chart.template,complete_tax_set:0
|
||||
|
@ -6986,7 +6986,7 @@ msgstr "税模板"
|
|||
#. module: account
|
||||
#: view:account.journal.select:0
|
||||
msgid "Are you sure you want to open Journal Entries?"
|
||||
msgstr "您确定要打开账簿的分录吗?"
|
||||
msgstr "你确定要显示这个凭证簿的会计凭证么?"
|
||||
|
||||
#. module: account
|
||||
#: view:account.state.open:0
|
||||
|
@ -8830,7 +8830,8 @@ msgid ""
|
|||
"in which order. You can create your own view for a faster encoding in each "
|
||||
"journal."
|
||||
msgstr ""
|
||||
"选择在输入或显示 账簿分录的视图。这视图可以定义字段是否显示,是否必输,是否只读,按什么序列显示。您可以为每个账簿的分录定义视图用于快速输入。"
|
||||
"选择在输入或显示该凭证簿中的会计凭证行所使用的的视图。这视图可以定义字段是否显示,是否必输,是否只读,按什么序列显示。您可以为每个凭证簿定义视图用于快速输"
|
||||
"入会计凭证行。"
|
||||
|
||||
#. module: account
|
||||
#: field:account.period,date_stop:0
|
||||
|
|
|
@ -48,6 +48,8 @@ class ir_sequence(osv.osv):
|
|||
}
|
||||
|
||||
def _next(self, cr, uid, seq_ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
for seq in self.browse(cr, uid, seq_ids, context):
|
||||
for line in seq.fiscal_ids:
|
||||
if line.fiscalyear_id.id == context.get('fiscalyear_id'):
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
<separator string="Supplier Debit" colspan="2"/>
|
||||
<field name="debit"/>
|
||||
</group>
|
||||
<field colspan="4" context="{'address': address}" name="bank_ids" nolabel="1">
|
||||
<field colspan="4" name="bank_ids" nolabel="1">
|
||||
<form string="Bank account">
|
||||
<field name="state"/>
|
||||
<newline/>
|
||||
|
|
|
@ -103,7 +103,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="state">open</field>
|
||||
<field name="partner_id" ref="base.res_partner_seagate"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_seagate"/>
|
||||
</record>
|
||||
<record id="analytic_seagate_p2" model="account.analytic.account">
|
||||
<field name="name">Seagate P2</field>
|
||||
|
@ -112,7 +111,6 @@
|
|||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="state">open</field>
|
||||
<field name="partner_id" ref="base.res_partner_seagate"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_seagate"/>
|
||||
</record>
|
||||
<record id="analytic_magasin_bml_1" model="account.analytic.account">
|
||||
<field name="name">Magasin BML 1</field>
|
||||
|
@ -120,7 +118,6 @@
|
|||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_14"/>
|
||||
</record>
|
||||
<record id="analytic_integration_c2c" model="account.analytic.account">
|
||||
<field name="name">CampToCamp</field>
|
||||
|
@ -130,7 +127,6 @@
|
|||
<field eval="time.strftime('%Y-12-31')" name="date"/>
|
||||
<field name="parent_id" ref="analytic_integration"/>
|
||||
<field name="partner_id" ref="base.res_partner_c2c"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_Camptocamp"/>
|
||||
<field name="state">open</field>
|
||||
</record>
|
||||
<record id="analytic_agrolait" model="account.analytic.account">
|
||||
|
@ -139,7 +135,6 @@
|
|||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_agrolait"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_8"/>
|
||||
</record>
|
||||
<record id="analytic_asustek" model="account.analytic.account">
|
||||
<field name="name">Asustek</field>
|
||||
|
@ -147,7 +142,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_tang"/>
|
||||
</record>
|
||||
<record id="analytic_distripc" model="account.analytic.account">
|
||||
<field name="name">DistriPC</field>
|
||||
|
@ -155,7 +149,6 @@
|
|||
<field name="parent_id" ref="analytic_customers"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_4"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_7"/>
|
||||
</record>
|
||||
<record id="analytic_sednacom" model="account.analytic.account">
|
||||
<field name="name">Sednacom</field>
|
||||
|
@ -165,7 +158,6 @@
|
|||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="type">normal</field>
|
||||
<field name="partner_id" ref="base.res_partner_sednacom"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_11"/>
|
||||
<field name="state">open</field>
|
||||
</record>
|
||||
<record id="analytic_thymbra" model="account.analytic.account">
|
||||
|
@ -176,7 +168,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_thymbra"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_thymbra"/>
|
||||
<field name="state">open</field>
|
||||
</record>
|
||||
<record id="analytic_leclerc" model="account.analytic.account">
|
||||
|
@ -187,7 +178,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_15"/>
|
||||
</record>
|
||||
<record id="analytic_desertic_hispafuentes" model="account.analytic.account">
|
||||
<field name="name">Desertic - Hispafuentes</field>
|
||||
|
@ -197,7 +187,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_3000"/>
|
||||
</record>
|
||||
<record id="analytic_tiny_at_work" model="account.analytic.account">
|
||||
<field name="name">OpenERP SA AT Work</field>
|
||||
|
@ -205,7 +194,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_tinyatwork"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_tinyatwork"/>
|
||||
</record>
|
||||
<record id="analytic_partners_camp_to_camp" model="account.analytic.account">
|
||||
<field name="name">Camp to Camp</field>
|
||||
|
@ -215,7 +203,6 @@
|
|||
<field name="type">normal</field>
|
||||
<field name="parent_id" ref="analytic_partners"/>
|
||||
<field name="partner_id" ref="base.res_partner_c2c"/>
|
||||
<field name="contact_id" ref="base.res_partner_address_Camptocamp"/>
|
||||
<field name="state">open</field>
|
||||
</record>
|
||||
<record id="analytic_project_2_support" model="account.analytic.account">
|
||||
|
|
|
@ -92,8 +92,7 @@
|
|||
<page string="Account Data">
|
||||
<group colspan="2" col="2">
|
||||
<separator colspan="2" string="Contacts"/>
|
||||
<field name="partner_id" on_change="on_change_partner_id(partner_id)"/>
|
||||
<field name="contact_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id"/>
|
||||
</group>
|
||||
<group colspan="2" col="2" name="contract">
|
||||
|
|
|
@ -65,8 +65,6 @@ class account_invoice_report(osv.osv):
|
|||
('cancel','Cancelled')
|
||||
], 'Invoice State', readonly=True),
|
||||
'date_due': fields.date('Due Date', readonly=True),
|
||||
'address_contact_id': fields.many2one('res.partner.address', 'Contact Address Name', readonly=True),
|
||||
'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address Name', readonly=True),
|
||||
'account_id': fields.many2one('account.account', 'Account',readonly=True),
|
||||
'account_line_id': fields.many2one('account.account', 'Account Line',readonly=True),
|
||||
'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True),
|
||||
|
@ -103,8 +101,6 @@ class account_invoice_report(osv.osv):
|
|||
ai.state,
|
||||
pt.categ_id,
|
||||
ai.date_due as date_due,
|
||||
ai.address_contact_id as address_contact_id,
|
||||
ai.address_invoice_id as address_invoice_id,
|
||||
ai.account_id as account_id,
|
||||
ail.account_id as account_line_id,
|
||||
ai.partner_bank_id as partner_bank_id,
|
||||
|
@ -186,8 +182,6 @@ class account_invoice_report(osv.osv):
|
|||
ai.state,
|
||||
pt.categ_id,
|
||||
ai.date_due,
|
||||
ai.address_contact_id,
|
||||
ai.address_invoice_id,
|
||||
ai.account_id,
|
||||
ail.account_id,
|
||||
ai.partner_bank_id,
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
<field name="period_id" invisible="1"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="journal_id" invisible="1"/>
|
||||
<field name="address_contact_id" invisible="1"/>
|
||||
<field name="address_invoice_id" invisible="1"/>
|
||||
<field name="partner_bank_id" invisible="1"/>
|
||||
<field name="date_due" invisible="1"/>
|
||||
<field name="account_id" invisible="1"/>
|
||||
|
|
|
@ -162,13 +162,13 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id,'invoice') ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
@ -210,7 +210,7 @@
|
|||
<para style="terp_default_Centre_9">[[ o.origin or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para>
|
||||
<para style="terp_default_Centre_9">[[ (o.partner_id.ref) or ' ' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -38,7 +38,6 @@ class Overdue(report_sxw.rml_parse):
|
|||
def _adr_get(self, partner, type):
|
||||
res = []
|
||||
res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
|
||||
res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
|
||||
addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type])
|
||||
adr_id = addresses and addresses[type] or False
|
||||
result = {
|
||||
|
@ -51,7 +50,7 @@ class Overdue(report_sxw.rml_parse):
|
|||
'country_id': False,
|
||||
}
|
||||
if adr_id:
|
||||
result = res_partner_address.read(self.cr, self.uid, [adr_id], context=self.context.copy())
|
||||
result = res_partner.read(self.cr, self.uid, [adr_id], context=self.context.copy())
|
||||
result[0]['country_id'] = result[0]['country_id'] and result[0]['country_id'][1] or False
|
||||
result[0]['state_id'] = result[0]['state_id'] and result[0]['state_id'][1] or False
|
||||
return result
|
||||
|
@ -62,7 +61,6 @@ class Overdue(report_sxw.rml_parse):
|
|||
def _tel_get(self,partner):
|
||||
if not partner:
|
||||
return False
|
||||
res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
|
||||
res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
|
||||
addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice'])
|
||||
adr_id = addresses and addresses['invoice'] or False
|
||||
|
@ -70,7 +68,7 @@ class Overdue(report_sxw.rml_parse):
|
|||
adr=res_partner_address.read(self.cr, self.uid, [adr_id])[0]
|
||||
return adr['phone']
|
||||
else:
|
||||
return partner.address and partner.address[0].phone or False
|
||||
return partner.phone or False
|
||||
return False
|
||||
|
||||
def _lines_get(self, partner):
|
||||
|
|
|
@ -0,0 +1,282 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Business Applications
|
||||
# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from operator import itemgetter
|
||||
from os.path import join as opj
|
||||
|
||||
from tools.translate import _
|
||||
from osv import osv, fields
|
||||
import tools
|
||||
|
||||
class account_config_settings(osv.osv_memory):
|
||||
_name = 'account.config.settings'
|
||||
_inherit = 'res.config.settings'
|
||||
|
||||
_columns = {
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'has_default_company': fields.boolean('Has default company', readonly=True),
|
||||
|
||||
'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean',
|
||||
string='Chart of Accounts for this Company'),
|
||||
'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True,
|
||||
string='Main currency', help="Main currency of the company."),
|
||||
'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128,
|
||||
string='Paypal account', help="Paypal account (email) for receiving online payments (credit card, etc.)"),
|
||||
'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True,
|
||||
string='Bank Accounts on Reports', help="Bank accounts as printed on footer of reports."),
|
||||
|
||||
'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"),
|
||||
'seq_journal': fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."),
|
||||
'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 (%)'),
|
||||
'purchase_tax_rate': fields.float('Purchase Tax (%)'),
|
||||
'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'),
|
||||
|
||||
'has_fiscal_year': fields.boolean('Company has a fiscal year'),
|
||||
'date_start': fields.date('Start Date', required=True),
|
||||
'date_stop': fields.date('End Date', required=True),
|
||||
'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
|
||||
|
||||
'sale_journal_id': fields.many2one('account.journal', 'Sale Journal'),
|
||||
'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice Sequence'),
|
||||
'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Invoice Number'),
|
||||
'sale_refund_journal_id': fields.many2one('account.journal', 'Sale Refund Journal'),
|
||||
'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Refund Sequence'),
|
||||
'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Refund Number'),
|
||||
'purchase_journal_id': fields.many2one('account.journal', 'Purchase Journal'),
|
||||
'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Invoice Sequence'),
|
||||
'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Invoice Number'),
|
||||
'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase Refund Journal'),
|
||||
'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Refund Sequence'),
|
||||
'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Refund Number'),
|
||||
|
||||
'module_account_check_writing': fields.boolean('Support check writings',
|
||||
help="""This allows you to check writing and printing.
|
||||
This installs the module account_check_writing."""),
|
||||
'module_account_accountant': fields.boolean('Accountant Features',
|
||||
help="""This allows you to access all the accounting features, like the journal items and the chart of accounts.
|
||||
This installs the module account_accountant."""),
|
||||
'module_account_asset': fields.boolean('Assets Management',
|
||||
help="""This allows you to manage the assets owned by a company or a person.
|
||||
It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.
|
||||
This installs the module account_asset."""),
|
||||
'module_account_budget': fields.boolean('Budgets Management',
|
||||
help="""This allows accountants to manage analytic and crossovered budgets.
|
||||
Once the master budgets and the budgets are defined,
|
||||
the project managers can set the planned amount on each analytic account.
|
||||
This installs the module account_budget."""),
|
||||
'module_account_payment': fields.boolean('Supplier Payment Orders',
|
||||
help="""This allows you to create and manage your payment orders, with purposes to
|
||||
* serve as base for an easy plug-in of various automated payment mechanisms, and
|
||||
* provide a more efficient way to manage invoice payments.
|
||||
This installs the module account_payment."""),
|
||||
'module_account_voucher': fields.boolean('Manage Customer Payments',
|
||||
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
|
||||
This installs the module account_voucher."""),
|
||||
'module_account_followup': fields.boolean('Customer Follow-Ups',
|
||||
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
|
||||
This installs the module account_followup."""),
|
||||
'module_account_analytic_plans': fields.boolean('Support Multiple Analytic Plans',
|
||||
help="""This allows to use several analytic plans, according to the general journal.
|
||||
This installs the module account_analytic_plans."""),
|
||||
'module_account_analytic_default': fields.boolean('Rules for Analytic Assignation',
|
||||
help="""Set default values for your analytic accounts.
|
||||
Allows to automatically select analytic accounts based on criteria like product, partner, user, company, date.
|
||||
This installs the module account_analytic_default."""),
|
||||
'module_account_invoice_layout': fields.boolean('Allow notes and subtotals',
|
||||
help="""This provides some features to improve the layout of invoices.
|
||||
It gives you the possibility to:
|
||||
* order all the lines of an invoice
|
||||
* add titles, comment lines, sub total lines
|
||||
* draw horizontal lines and put page breaks.
|
||||
This installs the module account_invoice_layout."""),
|
||||
|
||||
'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
|
||||
implied_group='account.group_proforma_invoices',
|
||||
help="Allows you to put invoices in pro-forma state."),
|
||||
|
||||
'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax'),
|
||||
'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax'),
|
||||
}
|
||||
|
||||
def _default_company(self, cr, uid, context=None):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
return user.company_id.id
|
||||
|
||||
def _default_has_default_company(self, cr, uid, context=None):
|
||||
count = self.pool.get('res.company').search_count(cr, uid, [], context=context)
|
||||
return bool(count == 1)
|
||||
|
||||
_defaults = {
|
||||
'company_id': _default_company,
|
||||
'has_default_company': _default_has_default_company,
|
||||
'seq_journal': True,
|
||||
'date_start': lambda *a: time.strftime('%Y-01-01'),
|
||||
'date_stop': lambda *a: time.strftime('%Y-12-31'),
|
||||
'period': 'month',
|
||||
}
|
||||
|
||||
def create(self, cr, uid, values, context=None):
|
||||
id = super(account_config_settings, self).create(cr, uid, values, context)
|
||||
# Hack: to avoid some nasty bug, related fields are not written upon record creation.
|
||||
# Hence we write on those fields here.
|
||||
vals = {}
|
||||
for fname, field in self._columns.iteritems():
|
||||
if isinstance(field, fields.related) and fname in values:
|
||||
vals[fname] = values[fname]
|
||||
self.write(cr, uid, [id], vals, context)
|
||||
return id
|
||||
|
||||
def onchange_company_id(self, cr, uid, ids, company_id):
|
||||
# update related fields
|
||||
company = self.pool.get('res.company').browse(cr, uid, company_id)
|
||||
has_chart_of_accounts = company_id not in self.pool.get('account.installer').get_unconfigured_cmp(cr, uid)
|
||||
fiscalyear_count = self.pool.get('account.fiscalyear').search_count(cr, uid,
|
||||
[('date_start', '<=', time.strftime('%Y-%m-%d')), ('date_stop', '>=', time.strftime('%Y-%m-%d')),
|
||||
('company_id', '=', company_id)])
|
||||
values = {
|
||||
'expects_chart_of_accounts': company.expects_chart_of_accounts,
|
||||
'currency_id': company.currency_id.id,
|
||||
'paypal_account': company.paypal_account,
|
||||
'company_footer': company.rml_footer2,
|
||||
'has_chart_of_accounts': has_chart_of_accounts,
|
||||
'has_fiscal_year': bool(fiscalyear_count),
|
||||
'chart_template_id': False,
|
||||
}
|
||||
# update journals and sequences
|
||||
for journal_type in ('sale', 'sale_refund', 'purchase', 'purchase_refund'):
|
||||
for suffix in ('_journal_id', '_sequence_prefix', '_sequence_next'):
|
||||
values[journal_type + suffix] = False
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
journal_ids = journal_obj.search(cr, uid, [('company_id', '=', company_id)])
|
||||
for journal in journal_obj.browse(cr, uid, journal_ids):
|
||||
if journal.type in ('sale', 'sale_refund', 'purchase', 'purchase_refund'):
|
||||
values.update({
|
||||
journal.type + '_journal_id': journal.id,
|
||||
journal.type + '_sequence_prefix': journal.sequence_id.prefix,
|
||||
journal.type + '_sequence_next': journal.sequence_id.number_next,
|
||||
})
|
||||
# update taxes
|
||||
ir_values = self.pool.get('ir.values')
|
||||
taxes_id = ir_values.get_default(cr, uid, 'product.product', 'taxes_id', company_id=company_id)
|
||||
supplier_taxes_id = ir_values.get_default(cr, uid, 'product.product', 'supplier_taxes_id', company_id=company_id)
|
||||
values.update({
|
||||
'default_sale_tax': isinstance(taxes_id, list) and taxes_id[0] or taxes_id,
|
||||
'default_purchase_tax': isinstance(supplier_taxes_id, list) and supplier_taxes_id[0] or supplier_taxes_id,
|
||||
})
|
||||
return {'value': values}
|
||||
|
||||
def onchange_chart_template_id(self, cr, uid, ids, chart_template_id, context=None):
|
||||
tax_templ_obj = self.pool.get('account.tax.template')
|
||||
res = {'value': {
|
||||
'complete_tax_set': False, 'sale_tax': False, 'purchase_tax': False,
|
||||
'sale_tax_rate': 15, 'purchase_tax_rate': 15,
|
||||
}}
|
||||
if chart_template_id:
|
||||
# update complete_tax_set, sale_tax and purchase_tax
|
||||
chart_template = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
|
||||
res['value'].update({'complete_tax_set': chart_template.complete_tax_set})
|
||||
if chart_template.complete_tax_set:
|
||||
# default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while isntalling the generic chart of account
|
||||
sale_tax_ids = tax_templ_obj.search(cr, uid,
|
||||
[("chart_template_id", "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))],
|
||||
order="sequence, id desc")
|
||||
purchase_tax_ids = tax_templ_obj.search(cr, uid,
|
||||
[("chart_template_id", "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))],
|
||||
order="sequence, id desc")
|
||||
res['value']['sale_tax'] = sale_tax_ids and sale_tax_ids[0] or False
|
||||
res['value']['purchase_tax'] = purchase_tax_ids and purchase_tax_ids[0] or False
|
||||
if chart_template.code_digits:
|
||||
res['value']['code_digits'] = chart_template.code_digits
|
||||
return res
|
||||
|
||||
def onchange_tax_rate(self, cr, uid, ids, rate, context=None):
|
||||
return {'value': {'purchase_tax_rate': rate or False}}
|
||||
|
||||
def onchange_start_date(self, cr, uid, id, start_date):
|
||||
if start_date:
|
||||
start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
|
||||
end_date = (start_date + relativedelta(months=12)) - relativedelta(days=1)
|
||||
return {'value': {'date_stop': end_date.strftime('%Y-%m-%d')}}
|
||||
return {}
|
||||
|
||||
def set_default_taxes(self, cr, uid, ids, context=None):
|
||||
""" set default sale and purchase taxes for products """
|
||||
ir_values = self.pool.get('ir.values')
|
||||
config = self.browse(cr, uid, ids[0], context)
|
||||
ir_values.set_default(cr, uid, 'product.product', 'taxes_id',
|
||||
config.default_sale_tax and [config.default_sale_tax.id] or False, company_id=config.company_id.id)
|
||||
ir_values.set_default(cr, uid, 'product.product', 'supplier_taxes_id',
|
||||
config.default_purchase_tax and [config.default_purchase_tax.id] or False, company_id=config.company_id.id)
|
||||
|
||||
def set_chart_of_accounts(self, cr, uid, ids, context=None):
|
||||
""" install a chart of accounts for the given company (if required) """
|
||||
config = self.browse(cr, uid, ids[0], context)
|
||||
if config.chart_template_id:
|
||||
assert config.expects_chart_of_accounts and not config.has_chart_of_accounts
|
||||
wizard = self.pool.get('wizard.multi.charts.accounts')
|
||||
wizard_id = wizard.create(cr, uid, {
|
||||
'company_id': config.company_id.id,
|
||||
'chart_template_id': config.chart_template_id.id,
|
||||
'code_digits': config.code_digits or 6,
|
||||
'seq_journal': config.seq_journal,
|
||||
'sale_tax': config.sale_tax.id,
|
||||
'purchase_tax': config.purchase_tax.id,
|
||||
'sale_tax_rate': config.sale_tax_rate,
|
||||
'purchase_tax_rate': config.purchase_tax_rate,
|
||||
'complete_tax_set': config.complete_tax_set,
|
||||
}, context)
|
||||
wizard.execute(cr, uid, [wizard_id], context)
|
||||
|
||||
def set_fiscalyear(self, cr, uid, ids, context=None):
|
||||
""" create a fiscal year for the given company (if necessary) """
|
||||
config = self.browse(cr, uid, ids[0], context)
|
||||
if config.has_chart_of_accounts or config.chart_template_id:
|
||||
fiscalyear = self.pool.get('account.fiscalyear')
|
||||
fiscalyear_count = fiscalyear.search_count(cr, uid,
|
||||
[('date_start', '<=', config.date_start), ('date_stop', '>=', config.date_stop),
|
||||
('company_id', '=', config.company_id.id)],
|
||||
context=context)
|
||||
if not fiscalyear_count:
|
||||
name = code = config.date_start[:4]
|
||||
if int(name) != int(config.date_stop[:4]):
|
||||
name = config.date_start[:4] +'-'+ config.date_stop[:4]
|
||||
code = config.date_start[2:4] +'-'+ config.date_stop[2:4]
|
||||
vals = {
|
||||
'name': name,
|
||||
'code': code,
|
||||
'date_start': config.date_start,
|
||||
'date_stop': config.date_stop,
|
||||
'company_id': config.company_id.id,
|
||||
}
|
||||
fiscalyear_id = fiscalyear.create(cr, uid, vals, context=context)
|
||||
if config.period == 'month':
|
||||
fiscalyear.create_period(cr, uid, [fiscalyear_id])
|
||||
elif config.period == '3months':
|
||||
fiscalyear.create_period3(cr, uid, [fiscalyear_id])
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,115 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="open_account_charts_modules" model="ir.actions.act_window">
|
||||
<field name="name">Chart Templates</field>
|
||||
<field name="res_model">ir.module.module</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="context" eval="{'search_default_category_id': ref('base.module_category_localization_account_charts')}"/>
|
||||
<field name="search_view_id" ref="base.view_module_filter"/>
|
||||
</record>
|
||||
|
||||
<record id="view_account_config_settings" model="ir.ui.view">
|
||||
<field name="name">account settings</field>
|
||||
<field name="model">account.config.settings</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Configure Accounting">
|
||||
<field name="has_default_company" invisible="1" />
|
||||
<field name="company_id" widget="selection" on_change="onchange_company_id(company_id)"
|
||||
attrs="{'invisible': [('has_default_company', '=', True)]}"/>
|
||||
<field name="expects_chart_of_accounts"/>
|
||||
|
||||
<field name="has_chart_of_accounts" invisible="1"/>
|
||||
<group string="No Chart of Accounts exists for this Company" colspan="4" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
|
||||
<label string="Please select a chart template to install a chart of accounts." colspan="4"/>
|
||||
<field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
|
||||
<button string="Install More Chart Templates" icon="gtk-go-forward"
|
||||
name="%(open_account_charts_modules)d" type="action"/>
|
||||
<field name ="code_digits" groups="account.group_account_user"/>
|
||||
<field name ="seq_journal" groups="base.group_extended"/>
|
||||
<newline/>
|
||||
<field name ="complete_tax_set" invisible="1"/>
|
||||
<field name="sale_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
||||
<field name="purchase_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
|
||||
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
|
||||
<field name ="sale_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
|
||||
<field name ="purchase_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}"/>
|
||||
</group>
|
||||
|
||||
<field name="has_fiscal_year" invisible="1"/>
|
||||
<group string="No Fiscal Year exists for this Company" colspan="4" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
|
||||
<field name="date_start" on_change="onchange_start_date(date_start)"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="period" colspan="4"/>
|
||||
</group>
|
||||
|
||||
<group colspan="4">
|
||||
<separator string="Accounting Configuration" colspan="4"/>
|
||||
<field name ="complete_tax_set" invisible="1"/>
|
||||
<newline/>
|
||||
<group colspan="2" col="2">
|
||||
<field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"/>
|
||||
<field name="module_account_accountant"/>
|
||||
<field name="module_account_asset"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"/>
|
||||
<field name="currency_id" widget="selection"/>
|
||||
<field name="module_account_budget"/>
|
||||
</group>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Customer Invoices" colspan="2"/>
|
||||
<field name="sale_journal_id" invisible="1"/>
|
||||
<field name="sale_sequence_next" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
|
||||
<field name="sale_refund_journal_id" invisible="1"/>
|
||||
<field name="sale_refund_sequence_next" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
|
||||
<field name="module_account_invoice_layout"/>
|
||||
<field name="module_account_voucher"/>
|
||||
<field name="module_account_followup"/>
|
||||
<field name="group_proforma_invoices"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Supplier Invoices" colspan="2"/>
|
||||
<field name="purchase_journal_id" invisible="1"/>
|
||||
<field name="purchase_sequence_next" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
|
||||
<field name="purchase_refund_journal_id" invisible="1"/>
|
||||
<field name="purchase_refund_sequence_next" attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
|
||||
<field name="module_account_payment"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Electronic Payments" colspan="2"/>
|
||||
<field name="paypal_account"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Bank & Cash" colspan="2"/>
|
||||
<label string="Configure Bank Accounts :"/>
|
||||
<button name="%(action_bank_tree)d" string="Configure Bank Accounts" icon="gtk-go-forward" type="action"/>
|
||||
<field name="company_footer"/>
|
||||
<field name="module_account_check_writing"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Analytic Accounting" colspan="2"/>
|
||||
<group name="analytic_accounting" colspan="2"/>
|
||||
<field name="module_account_analytic_plans"/>
|
||||
<field name="module_account_analytic_default"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_config" model="ir.actions.act_window">
|
||||
<field name="name">Configure Accounting</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.config.settings</field>
|
||||
<field name="view_mode">form</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_account_config" name="Accounting" parent="base.menu_config"
|
||||
sequence="6" action="action_account_config"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -16,6 +16,11 @@
|
|||
<field name="implied_ids" eval="[(4, ref('group_account_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_proforma_invoices" model="res.groups">
|
||||
<field name="name">Pro-forma Invoices</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="account_move_comp_rule" model="ir.rule">
|
||||
<field name="name">Account Entry</field>
|
||||
<field ref="model_account_move" name="model_id"/>
|
||||
|
|
|
@ -88,9 +88,7 @@ access_account_invoice_tax_accountant,account.invoice.tax accountant,model_accou
|
|||
access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0
|
||||
access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1
|
||||
access_account_invoice_line_accountant,account.invoice.line accountant,model_account_invoice_line,account.group_account_user,1,0,0,0
|
||||
access_res_partner_address_accountant,res.partner.address accountant,base.model_res_partner_address,account.group_account_user,1,0,0,0
|
||||
access_account_account_invoice,account.account invoice,model_account_account,account.group_account_invoice,1,1,1,1
|
||||
access_res_partner_address_invoice,res.partner.address invoice,base.model_res_partner_address,account.group_account_invoice,1,1,1,1
|
||||
access_account_analytic_accountant,account.analytic.account accountant,analytic.model_account_analytic_account,account.group_account_user,1,1,1,1
|
||||
access_account_account_type_invoice,account.account.type invoice,model_account_account_type,account.group_account_invoice,1,1,1,1
|
||||
access_report_account_receivable_invoice,report.account.receivable.invoice,model_report_account_receivable,account.group_account_invoice,1,1,1,1
|
||||
|
|
|
|
@ -3,8 +3,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_currency}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_state}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
|
|
|
@ -4,13 +4,11 @@
|
|||
!record {model: account.invoice, id: test_invoice_1}:
|
||||
currency_id: base.EUR
|
||||
company_id: base.main_company
|
||||
address_invoice_id: base.res_partner_address_tang
|
||||
partner_id: base.res_partner_asus
|
||||
state: draft
|
||||
type: out_invoice
|
||||
account_id: account.a_recv
|
||||
name: Test invoice 1
|
||||
address_contact_id: base.res_partner_address_tang
|
||||
-
|
||||
In order to test the PDF reports defined on an invoice, we will print an Invoice Report
|
||||
-
|
||||
|
|
|
@ -16,8 +16,6 @@
|
|||
- I create a draft customer invoice in a period of the demo fiscal year
|
||||
- !record {model: account.invoice, id: invoice_seq_test}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_zen
|
||||
address_invoice_id: base.res_partner_address_zen
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_supplier0}:
|
||||
account_id: account.a_pay
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
check_total: 3000.0
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
name: Precision Test
|
||||
type: out_invoice
|
||||
partner_id: base.res_partner_2
|
||||
address_invoice_id: base.res_partner_address_1
|
||||
account_id: account.a_recv
|
||||
date_invoice: !eval time.strftime('%Y-%m-%d')
|
||||
invoice_line:
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
journal_id: 1
|
||||
partner_id: base.res_partner_agrolait
|
||||
currency_id: base.EUR
|
||||
address_invoice_id: base.res_partner_address_8invoice
|
||||
company_id: 1
|
||||
account_id: account.a_pay
|
||||
date_invoice: !eval "'%s' % (time.strftime('%Y-%m-%d'))"
|
||||
|
@ -58,11 +57,12 @@
|
|||
"company_address": {
|
||||
"__id": "base:b22acf7a-ddcd-11e0-a4db-701a04e25543.main_address",
|
||||
"__module": "base",
|
||||
"__model": "res.partner.address",
|
||||
"city": "Gerompont",
|
||||
"zip": "1367",
|
||||
"country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"],
|
||||
"phone": "(+32).81.81.37.00",
|
||||
"__model": "res.partner",
|
||||
"city": "Gerompont",
|
||||
"name": "Company main address",
|
||||
"zip": "1367",
|
||||
"country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"],
|
||||
"phone": "(+32).81.81.37.00",
|
||||
"street": "Chaussee de Namur 40",
|
||||
"bank_ids": [
|
||||
["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.res_partner_bank-ZrTWzesfsdDJzGbp","Sample bank: 123465789-156113"]
|
||||
|
@ -80,12 +80,13 @@
|
|||
"partner_address": {
|
||||
"__id": "base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_address_7wdsjasdjh",
|
||||
"__module": "base",
|
||||
"__model": "res.partner.address",
|
||||
"phone": "(+32).81.81.37.00",
|
||||
"street": "Chaussee de Namur 40",
|
||||
"city": "Gerompont",
|
||||
"zip": "1367",
|
||||
"country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"],
|
||||
"__model": "res.partner",
|
||||
"name": "Default Address",
|
||||
"phone": "(+32).81.81.37.00",
|
||||
"street": "Chaussee de Namur 40",
|
||||
"city": "Gerompont",
|
||||
"zip": "1367",
|
||||
"country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"],
|
||||
},
|
||||
"date_invoice": time.strftime('%Y-%m-%d'),
|
||||
"name": "sample invoice",
|
||||
|
|
|
@ -176,7 +176,6 @@ class account_invoice_refund(osv.osv_memory):
|
|||
invoice = inv_obj.read(cr, uid, [inv.id],
|
||||
['name', 'type', 'number', 'reference',
|
||||
'comment', 'date_due', 'partner_id',
|
||||
'address_contact_id', 'address_invoice_id',
|
||||
'partner_insite', 'partner_contact',
|
||||
'partner_ref', 'payment_term', 'account_id',
|
||||
'currency_id', 'invoice_line', 'tax_line',
|
||||
|
@ -197,8 +196,8 @@ class account_invoice_refund(osv.osv_memory):
|
|||
'period_id': period,
|
||||
'name': description
|
||||
})
|
||||
for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
|
||||
'account_id', 'currency_id', 'payment_term', 'journal_id'):
|
||||
for field in ('partner_id', 'account_id', 'currency_id',
|
||||
'payment_term', 'journal_id'):
|
||||
invoice[field] = invoice[field] and invoice[field][0]
|
||||
inv_id = inv_obj.create(cr, uid, invoice, {})
|
||||
if inv.payment_term.id:
|
||||
|
|
|
@ -123,6 +123,7 @@ class account_common_report(osv.osv_memory):
|
|||
|
||||
_defaults = {
|
||||
'fiscalyear_id': _get_fiscalyear,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.common.report',context=c),
|
||||
'journal_ids': _get_all_journal,
|
||||
'filter': 'filter_no',
|
||||
'chart_account_id': _get_account,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
|
||||
|
||||
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
|
||||
<field name="name">All Uninvoiced Entries</field>
|
||||
<field name="name">Time & Costs to Invoice</field>
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
@ -11,7 +11,7 @@
|
|||
<field name="context">{'search_default_to_invoice': 1}</field>
|
||||
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced"/>
|
||||
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced" sequence="5"/>
|
||||
|
||||
<record id="view_account_analytic_account_overdue_search" model="ir.ui.view">
|
||||
<field name="name">account.analytic.account.search</field>
|
||||
|
@ -81,7 +81,7 @@
|
|||
<menuitem id="base.menu_sales" name="Sales"
|
||||
parent="base.menu_base_partner"
|
||||
sequence="1"/>
|
||||
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="50" parent="base.menu_sales"/>
|
||||
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="6" parent="base.menu_sales"/>
|
||||
|
||||
|
||||
</data>
|
||||
|
|
|
@ -111,19 +111,5 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_contract_installation" model="ir.ui.view">
|
||||
<field name="name">Sales Application</field>
|
||||
<field name="model">sale.config.settings</field>
|
||||
<field name="inherit_id" ref="sale.view_sales_config"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<group name="config_contracts" position="inside">
|
||||
<separator string="Contracts" colspan="4"/>
|
||||
<field name="module_analytic_user_function"/>
|
||||
<field name="module_analytic_journal_billing_rate"/>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -32,9 +32,7 @@ Here is the list of contracts to renew:
|
|||
% endif
|
||||
- Dates: ${account.date_start} to ${account.date and account.date or '???'}
|
||||
- Contacts:
|
||||
% for address in account.partner_id.address:
|
||||
. ${address.name}, ${address.phone}, ${address.email}
|
||||
% endfor
|
||||
${account.partner_id.name}, ${account.partner_id.phone}, ${account.partner_id.email}
|
||||
|
||||
% endfor
|
||||
% endfor
|
||||
|
|
|
@ -73,8 +73,8 @@ class account_invoice_line(osv.osv):
|
|||
_inherit = "account.invoice.line"
|
||||
_description = "Invoice Line"
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
|
||||
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id=currency_id, context=context, company_id=company_id)
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id)
|
||||
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context)
|
||||
if rec:
|
||||
res_prod['value'].update({'account_analytic_id': rec.analytic_id.id})
|
||||
|
@ -89,8 +89,8 @@ class stock_picking(osv.osv):
|
|||
_inherit = "stock.picking"
|
||||
|
||||
def _get_account_analytic_invoice(self, cursor, user, picking, move_line):
|
||||
partner_id = picking.address_id and picking.address_id.partner_id or False
|
||||
rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id and partner_id.id, user, time.strftime('%Y-%m-%d'), context={})
|
||||
partner_id = picking.partner_id and picking.partner_id.id or False
|
||||
rec = self.pool.get('account.analytic.default').account_get(cursor, user, move_line.product_id.id, partner_id , user, time.strftime('%Y-%m-%d'), context={})
|
||||
|
||||
if rec:
|
||||
return rec.analytic_id.id
|
||||
|
|
|
@ -71,7 +71,6 @@ of distribution models.
|
|||
'account_analytic_plans_report.xml',
|
||||
'wizard/analytic_plan_create_model_view.xml',
|
||||
'wizard/account_crossovered_analytic_view.xml',
|
||||
'account_analytic_plans_installer_view.xml'
|
||||
],
|
||||
'demo_xml': [],
|
||||
'test': ['test/acount_analytic_plans_report.yml'],
|
||||
|
|
|
@ -307,8 +307,8 @@ class account_invoice_line(osv.osv):
|
|||
res ['analytics_id'] = line.analytics_id and line.analytics_id.id or False
|
||||
return res
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
|
||||
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context=context, company_id=company_id)
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context=context, company_id=company_id)
|
||||
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context)
|
||||
if rec and rec.analytics_id:
|
||||
res_prod['value'].update({'analytics_id': rec.analytics_id.id})
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="ir.actions.act_window" id="account_analytic_plan_form_action_installer">
|
||||
<field name="name">Define your Analytic Plans</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.analytic.plan</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="help">To setup a multiple analytic plans environment, you must define the root analytic accounts for each plan set. Then, you must attach a plan set to your account journals.</field>
|
||||
</record>
|
||||
|
||||
<record id="account_analytic_plan_installer_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="account_analytic_plan_form_action_installer"/>
|
||||
<field name="category_id" ref="account.category_accounting_configuration"/>
|
||||
<field name="sequence">15</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,98 @@
|
|||
# Japanese translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-04-01 05:17+0000\n"
|
||||
"Last-Translator: Masaki Yamaya <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-04-02 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15032)\n"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: sql_constraint:purchase.order:0
|
||||
msgid "Order Reference must be unique per Company!"
|
||||
msgstr "発注参照は会社ごとにユニークなければいけません"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: view:product.category:0
|
||||
msgid " Accounting Property"
|
||||
msgstr " 経理属性"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_product_category
|
||||
msgid "Product Category"
|
||||
msgstr "製品カテゴリー"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: sql_constraint:stock.picking:0
|
||||
msgid "Reference must be unique per Company!"
|
||||
msgstr "参照は会社ごとにユニークでなければいけません"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: constraint:product.category:0
|
||||
msgid "Error ! You cannot create recursive categories."
|
||||
msgstr "エラー:再帰カテゴリーを作成することはできません"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "無効なBBA構造のコミュニケーション"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: constraint:product.template:0
|
||||
msgid ""
|
||||
"Error: The default UOM and the purchase UOM must be in the same category."
|
||||
msgstr "エラー:デフォールトのUOMと購入UOMは同じカテゴリーでなければいけません"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line
|
||||
msgid "Invoice Line"
|
||||
msgstr "請求明細"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_purchase_order
|
||||
msgid "Purchase Order"
|
||||
msgstr "購買発注"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "製品テンプレート"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: field:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: field:product.template,property_account_creditor_price_difference:0
|
||||
msgid "Price Difference Account"
|
||||
msgstr "価格が異なるアカウント"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "請求書"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: model:ir.model,name:account_anglo_saxon.model_stock_picking
|
||||
msgid "Picking List"
|
||||
msgstr "選択リスト"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "請求書番号は会社ごとにユニークでなければいけません"
|
||||
|
||||
#. module: account_anglo_saxon
|
||||
#: help:product.category,property_account_creditor_price_difference_categ:0
|
||||
#: help:product.template,property_account_creditor_price_difference:0
|
||||
msgid ""
|
||||
"This account will be used to value price difference between purchase price "
|
||||
"and cost price."
|
||||
msgstr "このアカウントを使って購買価格とコスト価格の違いを計算します"
|
|
@ -136,9 +136,9 @@ class account_invoice_line(osv.osv):
|
|||
res += diff_res
|
||||
return res
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None, company_id=None):
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||
fiscal_pool = self.pool.get('account.fiscal.position')
|
||||
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context, company_id)
|
||||
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id)
|
||||
if not product:
|
||||
return res
|
||||
if type in ('in_invoice','in_refund'):
|
||||
|
|
|
@ -288,7 +288,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_finance_assets" name="Assets" parent="account.menu_finance"/>
|
||||
<menuitem id="menu_finance_assets" name="Assets" parent="account.menu_finance" sequence="9"/>
|
||||
<menuitem parent="menu_finance_assets" id="menu_action_account_asset_asset_tree"
|
||||
groups="base.group_extended"
|
||||
sequence="100"
|
||||
|
@ -306,7 +306,7 @@
|
|||
|
||||
<act_window id="act_entries_open" name="Entries" res_model="account.move.line" src_model="account.asset.asset" context="{'search_default_asset_id': [active_id], 'default_asset_id': active_id}"/>
|
||||
|
||||
<menuitem id="menu_finance_config_assets" name="Assets" parent="account.menu_finance_accounting"/>
|
||||
<menuitem id="menu_finance_config_assets" name="Assets" parent="account.menu_finance_configuration" sequence="25"/>
|
||||
<record model="ir.actions.act_window" id="action_account_asset_asset_list_normal">
|
||||
<field name="name">Asset Categories</field>
|
||||
<field name="res_model">account.asset.category</field>
|
||||
|
@ -316,18 +316,5 @@
|
|||
|
||||
<menuitem parent="menu_finance_config_assets" id="menu_action_account_asset_asset_list_normal" action="action_account_asset_asset_list_normal"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_account_asset_asset_form_normal">
|
||||
<field name="name">Review Asset Categories</field>
|
||||
<field name="res_model">account.asset.category</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record id="asset_category_form_view_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_account_asset_asset_form_normal"/>
|
||||
<field name="category_id" ref="account.category_accounting_configuration"/>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,833 @@
|
|||
# Spanish (Ecuador) translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
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-03-24 03:16+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Ecuador) <es_EC@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-03-25 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 14981)\n"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Assets in draft and open states"
|
||||
msgstr "Activos en estado borrador y abierto"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,method_end:0
|
||||
#: field:account.asset.history,method_end:0 field:asset.modify,method_end:0
|
||||
msgid "Ending date"
|
||||
msgstr "Fecha de finalización"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,value_residual:0
|
||||
msgid "Residual Value"
|
||||
msgstr "Valor residual"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_expense_depreciation_id:0
|
||||
msgid "Depr. Expense Account"
|
||||
msgstr "Cuenta gastos amortización"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
msgid "Compute Asset"
|
||||
msgstr "Calcular activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Group By..."
|
||||
msgstr "Agrupar por..."
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.asset.report,gross_value:0
|
||||
msgid "Gross Amount"
|
||||
msgstr "Importe bruto"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 field:account.asset.asset,name:0
|
||||
#: field:account.asset.depreciation.line,asset_id:0
|
||||
#: field:account.asset.history,asset_id:0 field:account.move.line,asset_id:0
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,asset_id:0
|
||||
#: model:ir.model,name:account_asset.model_account_asset_asset
|
||||
msgid "Asset"
|
||||
msgstr "Activo Fijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,prorata:0 help:account.asset.category,prorata:0
|
||||
msgid ""
|
||||
"Indicates that the first depreciation entry for this asset have to be done "
|
||||
"from the purchase date instead of the first January"
|
||||
msgstr ""
|
||||
"Indica que el primer asiento de depreciación para este activo tiene que ser "
|
||||
"hecho desde la fecha de compra en vez de desde el 1 de enero"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.history,name:0
|
||||
msgid "History name"
|
||||
msgstr "Nombre histórico"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,company_id:0
|
||||
#: field:account.asset.category,company_id:0 view:asset.asset.report:0
|
||||
#: field:asset.asset.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Compañia"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
msgid "Modify"
|
||||
msgstr "Modificar"
|
||||
|
||||
#. module: account_asset
|
||||
#: selection:account.asset.asset,state:0 view:asset.asset.report:0
|
||||
#: selection:asset.asset.report,state:0
|
||||
msgid "Running"
|
||||
msgstr "En proceso"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,amount:0
|
||||
msgid "Depreciation Amount"
|
||||
msgstr "Importe de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
#: model:ir.actions.act_window,name:account_asset.action_asset_asset_report
|
||||
#: model:ir.model,name:account_asset.model_asset_asset_report
|
||||
#: model:ir.ui.menu,name:account_asset.menu_action_asset_asset_report
|
||||
msgid "Assets Analysis"
|
||||
msgstr "Análisis activos"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.modify,name:0
|
||||
msgid "Reason"
|
||||
msgstr "Motivo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_progress_factor:0
|
||||
#: field:account.asset.category,method_progress_factor:0
|
||||
msgid "Degressive Factor"
|
||||
msgstr "Factor degresivo"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
|
||||
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
|
||||
msgid "Asset Categories"
|
||||
msgstr "Categorías de Activo Fijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
msgid ""
|
||||
"This wizard will post the depreciation lines of running assets that belong "
|
||||
"to the selected period."
|
||||
msgstr ""
|
||||
"Este asistente asentará las líneas de depreciación de los activos en "
|
||||
"ejecución que pertenezcan al periodo seleccionado"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,account_move_line_ids:0
|
||||
#: field:account.move.line,entry_ids:0
|
||||
#: model:ir.actions.act_window,name:account_asset.act_entries_open
|
||||
msgid "Entries"
|
||||
msgstr "Asientos"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
#: field:account.asset.asset,depreciation_line_ids:0
|
||||
msgid "Depreciation Lines"
|
||||
msgstr "Detalle de Depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,salvage_value:0
|
||||
msgid "It is the amount you plan to have that you cannot depreciate."
|
||||
msgstr "Es el importe que prevee tener y que no puede depreciar"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,depreciation_date:0
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,depreciation_date:0
|
||||
msgid "Depreciation Date"
|
||||
msgstr "Fecha de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_asset_id:0
|
||||
msgid "Asset Account"
|
||||
msgstr "Cuenta de Activo Fijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.asset.report,posted_value:0
|
||||
msgid "Posted Amount"
|
||||
msgstr "Monto Contabilizado"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 view:asset.asset.report:0
|
||||
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
|
||||
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
|
||||
#: model:ir.ui.menu,name:account_asset.menu_finance_assets
|
||||
#: model:ir.ui.menu,name:account_asset.menu_finance_config_assets
|
||||
msgid "Assets"
|
||||
msgstr "Activos Fijos"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_depreciation_id:0
|
||||
msgid "Depreciation Account"
|
||||
msgstr "Cuenta de Depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 view:account.asset.category:0
|
||||
#: view:account.asset.history:0 view:asset.modify:0 field:asset.modify,note:0
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,move_id:0
|
||||
msgid "Depreciation Entry"
|
||||
msgstr "Asiento de Depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr "¡Valor erróneo en el debe o en el haber del asiento contable!"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,nbr:0
|
||||
msgid "# of Depreciation Lines"
|
||||
msgstr "# de líneas de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets in draft state"
|
||||
msgstr "Depreciaciones en estado borrador"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_end:0
|
||||
#: selection:account.asset.asset,method_time:0
|
||||
#: selection:account.asset.category,method_time:0
|
||||
#: selection:account.asset.history,method_time:0
|
||||
msgid "Ending Date"
|
||||
msgstr "Fecha de Cierre"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,code:0
|
||||
msgid "Reference"
|
||||
msgstr "Ref."
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr "¡Estructura de comunicación BBA no válida!"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Account Asset"
|
||||
msgstr "Cuenta de activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard
|
||||
#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard
|
||||
msgid "Compute Assets"
|
||||
msgstr "Calcular Depreciación de Activos Fijos"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,sequence:0
|
||||
msgid "Sequence of the depreciation"
|
||||
msgstr "Secuencia de Depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_period:0
|
||||
#: field:account.asset.category,method_period:0
|
||||
#: field:account.asset.history,method_period:0
|
||||
#: field:asset.modify,method_period:0
|
||||
msgid "Period Length"
|
||||
msgstr "Tiempo a Depreciar"
|
||||
|
||||
#. module: account_asset
|
||||
#: selection:account.asset.asset,state:0 view:asset.asset.report:0
|
||||
#: selection:asset.asset.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Date of asset purchase"
|
||||
msgstr "Fecha de compra del activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_number:0
|
||||
msgid "Calculates Depreciation within specified interval"
|
||||
msgstr "Calcula la depreciación en el período especificado"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Change Duration"
|
||||
msgstr "Cambiar duración"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,account_analytic_id:0
|
||||
msgid "Analytic account"
|
||||
msgstr "Cuenta Analitica"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method:0 field:account.asset.category,method:0
|
||||
msgid "Computation Method"
|
||||
msgstr "Método de cálculo"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_period:0
|
||||
msgid "State here the time during 2 depreciations, in months"
|
||||
msgstr "Ponga aquí el tiempo entre 2 amortizaciones, en meses"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.asset.asset:0
|
||||
msgid ""
|
||||
"Prorata temporis can be applied only for time method \"number of "
|
||||
"depreciations\"."
|
||||
msgstr ""
|
||||
"Prorata temporis puede ser aplicado solo para método de tiempo \"numero de "
|
||||
"depreciaciones\""
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.history,method_time:0
|
||||
msgid ""
|
||||
"The method to use to compute the dates and number of depreciation lines.\n"
|
||||
"Number of Depreciations: Fix the number of depreciation lines and the time "
|
||||
"between 2 depreciations.\n"
|
||||
"Ending Date: Choose the time between 2 depreciations and the date the "
|
||||
"depreciations won't go beyond."
|
||||
msgstr ""
|
||||
"El método usado para calcular las fechas número de líneas de depreciación\n"
|
||||
"Número de depreciaciones: Ajusta el número de líneas de depreciación y el "
|
||||
"tiempo entre 2 depreciaciones\n"
|
||||
"Fecha de fin: Escoja un tiempo entre 2 amortizaciones y la fecha de "
|
||||
"depreciación no irá más allá."
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,purchase_value:0
|
||||
msgid "Gross value "
|
||||
msgstr "Valor bruto "
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.asset.asset:0
|
||||
msgid "Error ! You can not create recursive assets."
|
||||
msgstr "¡Error! No puede crear activos recursivos"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.history,method_period:0
|
||||
msgid "Time in month between two depreciations"
|
||||
msgstr "Tiempo en meses entre 2 depreciaciones"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,name:0
|
||||
msgid "Year"
|
||||
msgstr "Año"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
#: model:ir.actions.act_window,name:account_asset.action_asset_modify
|
||||
#: model:ir.model,name:account_asset.model_asset_modify
|
||||
msgid "Modify Asset"
|
||||
msgstr "Modificar Activo Fijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Other Information"
|
||||
msgstr "Otra Información"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,salvage_value:0
|
||||
msgid "Salvage Value"
|
||||
msgstr "Valor de salvaguarda"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.invoice.line,asset_category_id:0 view:asset.asset.report:0
|
||||
msgid "Asset Category"
|
||||
msgstr "Categoría de Activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Set to Close"
|
||||
msgstr "Marcar cerrado"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
|
||||
msgid "Compute assets"
|
||||
msgstr "Calcular Activos Fijos"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
|
||||
msgid "Modify asset"
|
||||
msgstr "Modificar activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Assets in closed state"
|
||||
msgstr "Activos en cerrados"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,parent_id:0
|
||||
msgid "Parent Asset"
|
||||
msgstr "Padre del activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.history:0
|
||||
#: model:ir.model,name:account_asset.model_account_asset_history
|
||||
msgid "Asset history"
|
||||
msgstr "Histórico del activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets purchased in current year"
|
||||
msgstr "Activos comprados en el año actual"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,state:0 field:asset.asset.report,state:0
|
||||
msgid "State"
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_invoice_line
|
||||
msgid "Invoice Line"
|
||||
msgstr "Detalle de Factura"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"The selected account of your Journal Entry forces to provide a secondary "
|
||||
"currency. You should remove the secondary currency on the account or select "
|
||||
"a multi-currency view on the journal."
|
||||
msgstr ""
|
||||
"La cuenta selecionada de su diario obliga a tener una moneda secundaria. "
|
||||
"Usted debería eliminar la moneda secundaria de la cuenta o asignar una vista "
|
||||
"de multi-moneda al diario."
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Depreciation Board"
|
||||
msgstr "Tabla de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr "Asientos Contables"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.asset.report,unposted_value:0
|
||||
msgid "Unposted Amount"
|
||||
msgstr "Importe no contabilizado"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_time:0
|
||||
#: field:account.asset.category,method_time:0
|
||||
#: field:account.asset.history,method_time:0
|
||||
msgid "Time Method"
|
||||
msgstr "Método de tiempo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Analytic information"
|
||||
msgstr "Información analítica"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.modify:0
|
||||
msgid "Asset durations to modify"
|
||||
msgstr "Duraciones de activo para modificar"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"The date of your Journal Entry is not in the defined period! You should "
|
||||
"change the date or remove this constraint from the journal."
|
||||
msgstr ""
|
||||
"¡La fecha de su asiento no está en el periodo definido! Usted debería "
|
||||
"cambiar la fecha o borrar esta restricción del diario."
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,note:0 field:account.asset.category,note:0
|
||||
#: field:account.asset.history,note:0
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method:0 help:account.asset.category,method:0
|
||||
msgid ""
|
||||
"Choose the method to use to compute the amount of depreciation lines.\n"
|
||||
" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n"
|
||||
" * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"
|
||||
msgstr ""
|
||||
"Escoja el método para usar en el cálculo del importe de las líneas de "
|
||||
"depreciación\n"
|
||||
" * Lineal: calculado en base a: valor bruto / número de depreciaciones\n"
|
||||
" * Regresivo: calculado en base a: valor remanente/ factor de regresión"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,method_time:0
|
||||
#: help:account.asset.category,method_time:0
|
||||
msgid ""
|
||||
"Choose the method to use to compute the dates and number of depreciation "
|
||||
"lines.\n"
|
||||
" * Number of Depreciations: Fix the number of depreciation lines and the "
|
||||
"time between 2 depreciations.\n"
|
||||
" * Ending Date: Choose the time between 2 depreciations and the date the "
|
||||
"depreciations won't go beyond."
|
||||
msgstr ""
|
||||
"Escoja el método utilizado para calcular las fechas y número de las líneas "
|
||||
"de depreciación\n"
|
||||
" * Número de depreciaciones: Establece el número de líneas de depreciación "
|
||||
"y el tiempo entre dos depreciaciones.\n"
|
||||
" * Fecha fin: Seleccione el tiempo entre 2 depreciaciones y la fecha de la "
|
||||
"depreciación no irá más allá."
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets in running state"
|
||||
msgstr "Activos en depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Closed"
|
||||
msgstr "Cerrado"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,partner_id:0
|
||||
#: field:asset.asset.report,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,depreciation_value:0
|
||||
msgid "Amount of Depreciation Lines"
|
||||
msgstr "Importe de las líneas de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Posted depreciation lines"
|
||||
msgstr "Detalle de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be the same for its related account and period."
|
||||
msgstr "La compañía debe ser la misma para su cuenta y periodos relacionados"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,child_ids:0
|
||||
msgid "Children Assets"
|
||||
msgstr "Activos hijos"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Date of depreciation"
|
||||
msgstr "Fecha de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.history,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.history,date:0
|
||||
msgid "Date"
|
||||
msgstr "Fecha"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets purchased in current month"
|
||||
msgstr "Activos comprados en el mes actual"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create journal items on an account of type view."
|
||||
msgstr "No puede crear asientos en una cuenta de tipo vista"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr "Filtros extendidos..."
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 view:asset.depreciation.confirmation.wizard:0
|
||||
msgid "Compute"
|
||||
msgstr "Calcular"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Search Asset Category"
|
||||
msgstr "Buscar categoría de activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard
|
||||
msgid "asset.depreciation.confirmation.wizard"
|
||||
msgstr "asset.depreciation.confirmation.wizard"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,active:0
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
|
||||
msgid "Close asset"
|
||||
msgstr "Cerrar Activo Fijo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,parent_state:0
|
||||
msgid "State of Asset"
|
||||
msgstr "Estado del activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,name:0
|
||||
msgid "Depreciation Name"
|
||||
msgstr "Nombre depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 field:account.asset.asset,history_ids:0
|
||||
msgid "History"
|
||||
msgstr "Histórico"
|
||||
|
||||
#. module: account_asset
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr "¡El número de factura debe ser único por compañía!"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:asset.depreciation.confirmation.wizard,period_id:0
|
||||
msgid "Period"
|
||||
msgstr "Período"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,prorata:0 field:account.asset.category,prorata:0
|
||||
msgid "Prorata Temporis"
|
||||
msgstr "Prorata Temporis"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.category:0
|
||||
msgid "Accounting information"
|
||||
msgstr "Información contable"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form_normal
|
||||
msgid "Review Asset Categories"
|
||||
msgstr "Revisar categorías de activos"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0 view:asset.modify:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_asset
|
||||
#: selection:account.asset.asset,state:0 selection:asset.asset.report,state:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 view:account.asset.category:0
|
||||
msgid "Depreciation Method"
|
||||
msgstr "Método de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,purchase_date:0 view:asset.asset.report:0
|
||||
#: field:asset.asset.report,purchase_date:0
|
||||
msgid "Purchase Date"
|
||||
msgstr "Fecha de compra"
|
||||
|
||||
#. module: account_asset
|
||||
#: selection:account.asset.asset,method:0
|
||||
#: selection:account.asset.category,method:0
|
||||
msgid "Degressive"
|
||||
msgstr "Disminución"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:asset.depreciation.confirmation.wizard,period_id:0
|
||||
msgid ""
|
||||
"Choose the period for which you want to automatically post the depreciation "
|
||||
"lines of running assets"
|
||||
msgstr ""
|
||||
"Escoja el periodo para el que desea asentar automáticamente las líneas de "
|
||||
"depreciación para los activos en ejecución"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Current"
|
||||
msgstr "Actual"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,remaining_value:0
|
||||
msgid "Amount to Depreciate"
|
||||
msgstr "Importe a depreciar"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,open_asset:0
|
||||
msgid "Skip Draft State"
|
||||
msgstr "Omitir estado borrador"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0 view:account.asset.category:0
|
||||
#: view:account.asset.history:0
|
||||
msgid "Depreciation Dates"
|
||||
msgstr "Fechas de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,journal_id:0
|
||||
msgid "Journal"
|
||||
msgstr "Diario"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,depreciated_value:0
|
||||
msgid "Amount Already Depreciated"
|
||||
msgstr "importe depreciado"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.depreciation.line,move_check:0
|
||||
#: view:asset.asset.report:0 field:asset.asset.report,move_check:0
|
||||
msgid "Posted"
|
||||
msgstr "Contabilizado"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.asset,state:0
|
||||
msgid ""
|
||||
"When an asset is created, the state is 'Draft'.\n"
|
||||
"If the asset is confirmed, the state goes in 'Running' and the depreciation "
|
||||
"lines can be posted in the accounting.\n"
|
||||
"You can manually close an asset when the depreciation is over. If the last "
|
||||
"line of depreciation is posted, the asset automatically goes in that state."
|
||||
msgstr ""
|
||||
"Cuando un activo es creado, su estado es 'Borrador'.\n"
|
||||
"Si el activo es confirmado, el estado pasa a 'en ejecución' y las líneas de "
|
||||
"amortización pueden ser asentados en la contabilidad.\n"
|
||||
"Puede cerrar manualmente un activo cuando su amortización ha finalizado. Si "
|
||||
"la última línea de depreciación se asienta, el activo automáticamente pasa a "
|
||||
"este estado."
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.category,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.category,open_asset:0
|
||||
msgid ""
|
||||
"Check this if you want to automatically confirm the assets of this category "
|
||||
"when created by invoices."
|
||||
msgstr ""
|
||||
"Valide si desea confirmar automáticamente el activo de esta categoría cuando "
|
||||
"es creado desde una factura."
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Set to Draft"
|
||||
msgstr "Cambiar a borrador"
|
||||
|
||||
#. module: account_asset
|
||||
#: selection:account.asset.asset,method:0
|
||||
#: selection:account.asset.category,method:0
|
||||
msgid "Linear"
|
||||
msgstr "Lineal"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Month-1"
|
||||
msgstr "Mes-1"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.model,name:account_asset.model_account_asset_depreciation_line
|
||||
msgid "Asset depreciation line"
|
||||
msgstr "Línea de depreciación del activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,category_id:0 view:account.asset.category:0
|
||||
#: field:asset.asset.report,asset_category_id:0
|
||||
#: model:ir.model,name:account_asset.model_account_asset_category
|
||||
msgid "Asset category"
|
||||
msgstr "Categoría de activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.asset.report:0
|
||||
msgid "Assets purchased in last month"
|
||||
msgstr "Activos comprados en el último mes"
|
||||
|
||||
#. module: account_asset
|
||||
#: code:addons/account_asset/wizard/wizard_asset_compute.py:49
|
||||
#, python-format
|
||||
msgid "Created Asset Moves"
|
||||
msgstr "Movimientos de activos creados"
|
||||
|
||||
#. module: account_asset
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create journal items on closed account."
|
||||
msgstr "No puede crear asientos en cuentas cerradas"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.act_window,help:account_asset.action_asset_asset_report
|
||||
msgid ""
|
||||
"From this report, you can have an overview on all depreciation. The tool "
|
||||
"search can also be used to personalise your Assets reports and so, match "
|
||||
"this analysis to your needs;"
|
||||
msgstr ""
|
||||
"Para este informe, puede tener una visión general de todas las "
|
||||
"depreciaciones. La herramienta de búsqueda también puede ser utilizada para "
|
||||
"personalizar sus informes de activos y por lo tanto adecuar este análisis a "
|
||||
"sus necesidades;"
|
||||
|
||||
#. module: account_asset
|
||||
#: help:account.asset.category,method_period:0
|
||||
msgid "State here the time between 2 depreciations, in months"
|
||||
msgstr "Establezca aquí el tiempo entre 2 depreciaciones, en meses"
|
||||
|
||||
#. module: account_asset
|
||||
#: field:account.asset.asset,method_number:0
|
||||
#: selection:account.asset.asset,method_time:0
|
||||
#: field:account.asset.category,method_number:0
|
||||
#: selection:account.asset.category,method_time:0
|
||||
#: field:account.asset.history,method_number:0
|
||||
#: selection:account.asset.history,method_time:0
|
||||
#: field:asset.modify,method_number:0
|
||||
msgid "Number of Depreciations"
|
||||
msgstr "Número de depreciaciones"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Create Move"
|
||||
msgstr "Crear asiento"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:asset.depreciation.confirmation.wizard:0
|
||||
msgid "Post Depreciation Lines"
|
||||
msgstr "Asentar líneas de depreciación"
|
||||
|
||||
#. module: account_asset
|
||||
#: view:account.asset.asset:0
|
||||
msgid "Confirm Asset"
|
||||
msgstr "Confirmar activo"
|
||||
|
||||
#. module: account_asset
|
||||
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
|
||||
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
|
||||
msgid "Asset Hierarchy"
|
||||
msgstr "Jerarquía de activos"
|
|
@ -0,0 +1,374 @@
|
|||
# Italian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-03-30 19:02+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Italian <it@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-03-31 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 15032)\n"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Search Bank Transactions"
|
||||
msgstr "Cerca transazioni bancarie"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: selection:account.bank.statement.line,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr "Confermato"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement:0
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Glob. Id"
|
||||
msgstr "Glob. Id"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "CODA"
|
||||
msgstr "CODA"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,parent_id:0
|
||||
msgid "Parent Code"
|
||||
msgstr "Codice Genitore"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Debit"
|
||||
msgstr "Debito"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
|
||||
msgid "Cancel selected statement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:res.partner.bank:0
|
||||
msgid "The RIB and/or IBAN is not valid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Group By..."
|
||||
msgstr "Ragguppa per..."
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,state:0
|
||||
msgid "State"
|
||||
msgstr "Stato"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: selection:account.bank.statement.line,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Bozza"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement"
|
||||
msgstr "Dichiarazione"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
|
||||
msgid "Confirm selected statement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
|
||||
msgid "Bank Statement Balances Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
msgid "Cancel Lines"
|
||||
msgstr "Cancella linee"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global
|
||||
msgid "Batch Payment Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Confirm Lines"
|
||||
msgstr "Conferma linee"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Delete operation not allowed ! Please go to the associated bank "
|
||||
"statement in order to delete and/or modify this bank statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,type:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: field:account.bank.statement.line,journal_id:0
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Journal"
|
||||
msgstr "Registro"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Confirmed Statement Lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Credit Transactions."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
|
||||
msgid "cancel selected statement lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_number:0
|
||||
msgid "Counterparty Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
msgid "Transactions"
|
||||
msgstr "Transazioni"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr "Attenzione"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Closing Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: field:account.bank.statement.line,globalisation_amount:0
|
||||
msgid "Glob. Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Debit Transactions."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Confirmed lines cannot be changed anymore."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:res.partner.bank:0
|
||||
msgid ""
|
||||
"\n"
|
||||
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
|
||||
"valid payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,val_date:0
|
||||
msgid "Valuta Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
|
||||
msgid "Confirm selected statement lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "ISO 20022"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Fin.Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_currency:0
|
||||
msgid "Counterparty Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_bic:0
|
||||
msgid "Counterparty BIC"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,child_ids:0
|
||||
msgid "Child Codes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:account.bank.statement.line:0
|
||||
msgid ""
|
||||
"The amount of the voucher must be the same amount as the one on the "
|
||||
"statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: help:account.bank.statement.line,globalisation_id:0
|
||||
msgid ""
|
||||
"Code to identify transactions belonging to the same globalisation level "
|
||||
"within a batch payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Draft Statement Lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Glob. Am."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
|
||||
msgid "Bank Statement Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,code:0
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_name:0
|
||||
msgid "Counterparty Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,name:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:account.bank.statement:0
|
||||
msgid "The journal and period chosen have to belong to the same company."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
|
||||
msgid "Bank Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: sql_constraint:account.bank.statement.line.global:0
|
||||
msgid "The code must be unique !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,bank_statement_line_ids:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
|
||||
#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
|
||||
msgid "Bank Statement Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
msgid "Child Batch Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Total Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,globalisation_id:0
|
||||
msgid "Globalisation ID"
|
||||
msgstr ""
|
|
@ -46,7 +46,7 @@
|
|||
<field name="search_view_id" ref="view_budget_post_search"/>
|
||||
</record>
|
||||
<menuitem id="next_id_31" name="Budgets" parent="account.menu_finance" sequence="6"/>
|
||||
<menuitem id="next_id_pos" name="Budgets" parent="account.menu_finance_configuration" sequence="20"/>
|
||||
<menuitem id="next_id_pos" name="Budgets" parent="account.menu_finance_configuration" sequence="50"/>
|
||||
<menuitem action="open_budget_post_form" id="menu_budget_post_form" parent="next_id_pos" sequence="20"/>
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Japanese translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-03-31 18:46+0000\n"
|
||||
"Last-Translator: Masaki Yamaya <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-04-01 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15032)\n"
|
||||
|
||||
#. module: account_cancel
|
||||
#: view:account.invoice:0
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
|
@ -0,0 +1,28 @@
|
|||
# Japanese translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2012-03-31 18:48+0000\n"
|
||||
"Last-Translator: Masaki Yamaya <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-04-01 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15032)\n"
|
||||
|
||||
#. module: account_chart
|
||||
#: model:ir.module.module,description:account_chart.module_meta_information
|
||||
msgid "Remove minimal account chart"
|
||||
msgstr "最小限の勘定科目を削除してください"
|
||||
|
||||
#. module: account_chart
|
||||
#: model:ir.module.module,shortdesc:account_chart.module_meta_information
|
||||
msgid "Charts of Accounts"
|
||||
msgstr "勘定科目"
|
|
@ -169,7 +169,7 @@
|
|||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<blockTable colWidths="568.0" style="Table3">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -245,7 +245,7 @@
|
|||
</blockTable>
|
||||
<para style="P2">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</para>
|
||||
<blockTable colWidths="568.0" style="Table1">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -259,7 +259,7 @@
|
|||
<td>
|
||||
<para style="P9">[[ voucher.journal_id.use_preprint_check and voucher.chk_seq or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P9"></para>
|
||||
|
@ -281,10 +281,10 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="P15">[[ voucher.partner_id.name ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id.address) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.street or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.country_id.name]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
@ -295,7 +295,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
|
||||
<blockTable colWidths="25.0,500" style="Table12">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -306,11 +306,11 @@
|
|||
<td>
|
||||
<para style="P3">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</para>
|
||||
<!--para style="P15">[[ voucher.name ]]</para-->
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<para style="P3">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -193,7 +193,7 @@
|
|||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<blockTable colWidths="550.0" rowHeights="10" style="Table5">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -215,7 +215,7 @@
|
|||
<td>
|
||||
<para style="P9"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P9"></para>
|
||||
|
@ -237,10 +237,10 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="P15">[[ voucher.partner_id.name ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id.address) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.street or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.country_id.name]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
@ -254,11 +254,11 @@
|
|||
<td>
|
||||
<para style="P3">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</para>
|
||||
<!--para style="P15">[[ voucher.name ]]</para-->
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<para style="P3">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="P6">
|
||||
|
@ -123,7 +123,7 @@
|
|||
<para style="P9">[[ formatLang(voucher.date , date=True) or '' ]] [[ voucher.journal_id.use_preprint_check and voucher.chk_seq or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<blockTable colWidths="54.0,425.0,85.0" rowHeights="21.5" style="Table4">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -153,15 +153,15 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="P9">[[ voucher.partner_id.name ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id.address[0]) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para>
|
||||
<para style="P15">[[ voucher.partner_id.street2 or removeParentNode('para') ]]</para>
|
||||
<para style="P15">[[ get_zip_line(voucher.partner_id) ]] </para>
|
||||
<para style="P15">[[ voucher.partner_id.country_id.name]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<blockTable colWidths="25.0,350,150" rowHeights="10.5" style="Table12">
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -176,7 +176,7 @@
|
|||
<para style="P3">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<para style="P3">
|
||||
|
@ -184,7 +184,7 @@
|
|||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</blockTable>
|
||||
<blockTable colWidths="568.0" style="Table2" rowHeights="255">
|
||||
<tr>
|
||||
<td>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<data>
|
||||
|
||||
<!-- CODA Configuration -->
|
||||
<menuitem id="menu_manage_coda" name="CODA Configuration" parent="account.menu_finance_accounting" sequence="30"/>
|
||||
<menuitem id="menu_manage_coda" name="CODA Configuration" parent="account.menu_finance_configuration" sequence="30"/>
|
||||
|
||||
<!-- CODA Bank Account Configuration -->
|
||||
<record id="view_coda_bank_account_search" model="ir.ui.view">
|
||||
|
@ -77,7 +77,7 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_coda_bank_account_search"/>
|
||||
</record>
|
||||
<menuitem action="action_coda_bank_account_form" id="menu_action_coda_bank_account_form" parent="menu_manage_coda" sequence="1"/>
|
||||
<menuitem action="action_coda_bank_account_form" id="menu_action_coda_bank_account_form" parent="menu_manage_coda" sequence="1" groups="base.group_no_one"/>
|
||||
|
||||
<!-- CODA Transaction Types -->
|
||||
<record id="view_account_coda_trans_type_tree" model="ir.ui.view">
|
||||
|
@ -111,7 +111,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="action_account_coda_trans_type_form" id="menu_action_account_coda_trans_type_form" parent="menu_manage_coda" sequence="2"/>
|
||||
<menuitem action="action_account_coda_trans_type_form" id="menu_action_account_coda_trans_type_form" parent="menu_manage_coda" sequence="2" groups="base.group_no_one"/>
|
||||
|
||||
<!-- CODA Transaction Codes -->
|
||||
<record id="view_account_coda_trans_code_tree" model="ir.ui.view">
|
||||
|
@ -148,7 +148,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="action_account_coda_trans_code_form" id="menu_action_account_coda_trans_code_form" parent="menu_manage_coda" sequence="3"/>
|
||||
<menuitem action="action_account_coda_trans_code_form" id="menu_action_account_coda_trans_code_form" parent="menu_manage_coda" sequence="3" groups="base.group_no_one"/>
|
||||
|
||||
<!-- CODA Transaction Categories -->
|
||||
<record id="view_account_coda_trans_category_tree" model="ir.ui.view">
|
||||
|
@ -180,7 +180,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="action_account_coda_trans_category_form" id="menu_action_account_coda_trans_category_form" parent="menu_manage_coda" sequence="4"/>
|
||||
<menuitem action="action_account_coda_trans_category_form" id="menu_action_account_coda_trans_category_form" parent="menu_manage_coda" sequence="4" groups="base.group_no_one"/>
|
||||
|
||||
<!-- CODA Structured Communication Types -->
|
||||
<record id="view_account_coda_comm_type_tree" model="ir.ui.view">
|
||||
|
@ -212,7 +212,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="action_account_coda_comm_type_form" id="menu_action_account_coda_comm_type_form" parent="menu_manage_coda" sequence="5"/>
|
||||
<menuitem action="action_account_coda_comm_type_form" id="menu_action_account_coda_comm_type_form" parent="menu_manage_coda" sequence="5" groups="base.group_no_one"/>
|
||||
|
||||
<!-- CODA Processing -->
|
||||
<menuitem name="CODA Processing" parent="account.menu_finance_bank_and_cash" id="menu_account_coda" groups="base.group_extended" sequence="40"/>
|
||||
|
|
|
@ -157,25 +157,5 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Configure Follow-Ups Wizard -->
|
||||
|
||||
<record id="action_view_account_followup_followup_form" model="ir.actions.act_window">
|
||||
<field name="name">Review Invoicing Follow-Ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account_followup.followup</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form,tree</field>
|
||||
<field name="context" eval="'{\'res_id\': %s}' % (ref('demo_followup1'),)"/>
|
||||
<field name="view_id" ref="view_account_followup_followup_form"/>
|
||||
</record>
|
||||
|
||||
<!-- register configuration wizard -->
|
||||
<record id="config_wizard_view_account_followup_followup_form" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_view_account_followup_followup_form"/>
|
||||
<field name="category_id" ref="account.category_accounting_configuration"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -45,9 +45,8 @@ class report_rappel(report_sxw.rml_parse):
|
|||
|
||||
def _adr_get(self, stat_line, type):
|
||||
res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
|
||||
res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
|
||||
adr = res_partner.address_get(self.cr, self.uid, [stat_line.partner_id.id], [type])[type]
|
||||
return adr and res_partner_address.read(self.cr, self.uid, [adr]) or [{}]
|
||||
return adr and res_partner.read(self.cr, self.uid, [adr]) or [{}]
|
||||
|
||||
def _lines_get(self, stat_by_partner_line):
|
||||
pool = pooler.get_pool(self.cr.dbname)
|
||||
|
|
|
@ -89,8 +89,8 @@ class account_followup_stat_by_partner(osv.osv):
|
|||
tools.drop_view_if_exists(cr, 'account_followup_stat_by_partner')
|
||||
# Here we don't have other choice but to create a virtual ID based on the concatenation
|
||||
# of the partner_id and the company_id, because if a partner is shared between 2 companies,
|
||||
# we want to see 2 lines for him in this table. It means that both company should be able
|
||||
# to send him followups separately . An assumption that the number of companies will not
|
||||
# we want to see 2 lines for him in this table. It means that both company should be able
|
||||
# to send him followups separately . An assumption that the number of companies will not
|
||||
# reach 10 000 records is made, what should be enough for a time.
|
||||
cr.execute("""
|
||||
create or replace view account_followup_stat_by_partner as (
|
||||
|
@ -234,14 +234,13 @@ class account_followup_print_all(osv.osv_memory):
|
|||
for line in data_lines:
|
||||
total_amt += line.debit - line.credit
|
||||
dest = False
|
||||
if partner.address:
|
||||
for adr in partner.address:
|
||||
if adr.type=='contact':
|
||||
if adr.email:
|
||||
dest = [adr.email]
|
||||
if (not dest) and adr.type=='default':
|
||||
if adr.email:
|
||||
dest = [adr.email]
|
||||
if partner:
|
||||
if partner.type=='contact':
|
||||
if adr.email:
|
||||
dest = [partner.email]
|
||||
if (not dest) and partner.type=='default':
|
||||
if partner.email:
|
||||
dest = [partner.email]
|
||||
src = tools.config.options['email_from']
|
||||
if not data.partner_lang:
|
||||
body = data.email_body
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
<field name="search_view_id" ref="view_notify_message_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Notification Message" id="menu_finan_config_notify_message" parent="account.menu_finance_configuration"/>
|
||||
<menuitem name="Notification Message" id="menu_finan_config_notify_message" parent="account.menu_finance_configuration" sequence="45"/>
|
||||
<menuitem name="All Notification Messages" id="menu_notify_mesage_tree_form" action="notify_mesage_tree_form" parent="menu_finan_config_notify_message"/>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -193,13 +193,13 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">VAT : [[ (o.partner_id.vat) or removeParentNode('para') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
@ -247,7 +247,7 @@
|
|||
<para style="terp_default_Centre_9">[[ o.name or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para>
|
||||
<para style="terp_default_Centre_9">[[ (o.partner_id.ref) or ' ' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -197,12 +197,12 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="terp_default_8">[[ (o.partner_id and o.partner_id.title and o.partner_id.title.name) or '' ]] [[ (o.partner_id and o.partner_id.name) or '' ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.address_invoice_id) ]]</para>
|
||||
<para style="terp_default_8">[[ display_address(o.partner_id, 'invoice') ]]</para>
|
||||
<para style="terp_default_8">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.address_invoice_id and o.address_invoice_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.address_invoice_id and o.address_invoice_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Tel. : [[ (o.partner_id.phone) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">Fax : [[ (o.partner_id.fax) or removeParentNode('para') ]]</para>
|
||||
<para style="terp_default_8">VAT : [[ (o.partner_id and o.partner_id.vat) or removeParentNode('para') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -251,7 +251,7 @@
|
|||
<para style="terp_default_Centre_9">[[ o.name or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="terp_default_Centre_9">[[ (o.address_invoice_id and o.address_invoice_id.partner_id and o.address_invoice_id.partner_id.ref) or ' ' ]]</para>
|
||||
<para style="terp_default_Centre_9">[[ ( o.partner_id.ref) or ' ' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -35,7 +35,7 @@ class payment_mode(osv.osv):
|
|||
domain=[('type', 'in', ('bank','cash'))], help='Bank or Cash Journal for the Payment Mode'),
|
||||
'company_id': fields.many2one('res.company', 'Company',required=True),
|
||||
'partner_id':fields.related('company_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True,),
|
||||
|
||||
|
||||
}
|
||||
_defaults = {
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
|
||||
|
@ -51,14 +51,14 @@ class payment_mode(osv.osv):
|
|||
JOIN payment_mode pm ON (pm.bank_id = pb.id)
|
||||
WHERE pm.id = %s """, [payment_code])
|
||||
return [x[0] for x in cr.fetchall()]
|
||||
|
||||
|
||||
def onchange_company_id (self, cr, uid, ids, company_id=False, context=None):
|
||||
result = {}
|
||||
if company_id:
|
||||
partner_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).partner_id.id
|
||||
result['partner_id'] = partner_id
|
||||
return {'value': result}
|
||||
|
||||
|
||||
|
||||
payment_mode()
|
||||
|
||||
|
@ -183,57 +183,30 @@ class payment_line(osv.osv):
|
|||
"reference": "ref"}.get(orig, orig)
|
||||
|
||||
def info_owner(self, cr, uid, ids, name=None, args=None, context=None):
|
||||
if not ids: return {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
|
||||
result = {}
|
||||
info=''
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
owner = line.order_id.mode.bank_id.partner_id
|
||||
result[line.id] = False
|
||||
if owner.address:
|
||||
for ads in owner.address:
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
if 'zip_id' in ads:
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id] = info
|
||||
break
|
||||
result[line.id] = self._get_info_partner(cr, uid, owner, context=context)
|
||||
return result
|
||||
|
||||
def info_partner(self, cr, uid, ids, name=None, args=None, context=None):
|
||||
if not ids: return {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
result = {}
|
||||
info = ''
|
||||
def _get_info_partner(self,cr, uid, partner_record, context=None):
|
||||
if not partner_record:
|
||||
return False
|
||||
st = partner_record.street or ''
|
||||
st1 = partner_record.street2 or ''
|
||||
zip = partner_record.zip or ''
|
||||
city = partner_record.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
cntry = partner_record.country_id and partner_record.country_id.name or ''
|
||||
return partner_record.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
|
||||
def info_partner(self, cr, uid, ids, name=None, args=None, context=None):
|
||||
result = {}
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
result[line.id] = False
|
||||
if not line.partner_id:
|
||||
break
|
||||
partner = line.partner_id.name or ''
|
||||
if line.partner_id.address:
|
||||
for ads in line.partner_id.address:
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
if 'zip_id' in ads:
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
result[line.id] = info
|
||||
break
|
||||
result[line.id] = self._get_info_partner(cr, uid, line.partner_id, context=context)
|
||||
return result
|
||||
|
||||
#dead code
|
||||
|
@ -420,7 +393,6 @@ class payment_line(osv.osv):
|
|||
|
||||
def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None):
|
||||
data = {}
|
||||
partner_zip_obj = self.pool.get('res.partner.zip')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
payment_mode_obj = self.pool.get('payment.mode')
|
||||
data['info_partner'] = data['bank_id'] = False
|
||||
|
@ -428,24 +400,7 @@ class payment_line(osv.osv):
|
|||
if partner_id:
|
||||
part_obj = partner_obj.browse(cr, uid, partner_id, context=context)
|
||||
partner = part_obj.name or ''
|
||||
|
||||
if part_obj.address:
|
||||
for ads in part_obj.address:
|
||||
if ads.type == 'default':
|
||||
st = ads.street and ads.street or ''
|
||||
st1 = ads.street2 and ads.street2 or ''
|
||||
|
||||
if 'zip_id' in ads:
|
||||
zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
|
||||
else:
|
||||
zip = ads.zip and ads.zip or ''
|
||||
city = ads.city and ads.city or ''
|
||||
zip_city = zip + ' ' + city
|
||||
|
||||
cntry = ads.country_id and ads.country_id.name or ''
|
||||
info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
|
||||
|
||||
data['info_partner'] = info
|
||||
data['info_partner'] = self._get_info_partner(cr, uid, part_obj, context=context)
|
||||
|
||||
if part_obj.bank_ids and payment_type:
|
||||
bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context)
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<field name="search_view_id" ref="view_payment_mode_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_payment_mode_form" id="menu_action_payment_mode_form" parent="account.menu_configuration_misc"/>
|
||||
<menuitem action="action_payment_mode_form" id="menu_action_payment_mode_form" parent="account.menu_configuration_misc" groups="base.group_no_one"/>
|
||||
|
||||
<record id="view_payment_order_form" model="ir.ui.view">
|
||||
<field name="name">payment.order.form</field>
|
||||
|
|
|
@ -0,0 +1,726 @@
|
|||
# Amharic translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-03-21 15:50+0000\n"
|
||||
"Last-Translator: Araya <info@climaxtechnologies.com>\n"
|
||||
"Language-Team: Amharic <am@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-03-22 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 14981)\n"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_scheduled:0
|
||||
msgid "Scheduled date if fixed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,currency:0
|
||||
msgid "Partner Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Set to draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,mode:0
|
||||
msgid "Select the Payment Mode to be applied."
|
||||
msgstr "የአከፋፈል መንገድ ምረጥ"
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.mode:0
|
||||
#: view:payment.order:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,line_ids:0
|
||||
msgid "Payment lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: field:payment.line,info_owner:0
|
||||
#: view:payment.order:0
|
||||
msgid "Owner Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,state:0
|
||||
msgid ""
|
||||
"When an order is placed the state is 'Draft'.\n"
|
||||
" Once the bank is confirmed the state is set to 'Confirmed'.\n"
|
||||
" Then the order is paid the state is 'Done'."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:account.invoice,amount_to_pay:0
|
||||
msgid ""
|
||||
"The amount which should be paid at the current date\n"
|
||||
"minus the amount which is already in payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,company_id:0
|
||||
#: field:payment.mode,company_id:0
|
||||
#: field:payment.order,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_prefered:0
|
||||
msgid "Preferred date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:res.groups,name:account_payment.group_account_payment
|
||||
msgid "Accounting / Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.line,state:0
|
||||
msgid "Free"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
#: field:payment.order.create,entries:0
|
||||
msgid "Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Used Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_maturity_date:0
|
||||
#: field:payment.order.create,duedate:0
|
||||
msgid "Due Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Account Entry Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "_Add to payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
|
||||
msgid "Payment Populate statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
#: view:payment.order:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Total in Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new
|
||||
msgid "New Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
#: field:payment.order,reference:0
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: sql_constraint:payment.line:0
|
||||
msgid "The payment line name must be unique!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
|
||||
#: model:ir.ui.menu,name:account_payment.menu_action_payment_order_form
|
||||
msgid "Payment Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"The date of your Journal Entry is not in the defined period! You should "
|
||||
"change the date or remove this constraint from the journal."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Directly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_line_form
|
||||
#: model:ir.model,name:account_payment.model_payment_line
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Amount Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,ml_date_created:0
|
||||
msgid "Invoice Effective Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Execution Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.line,state:0
|
||||
msgid "Structured"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: field:payment.order,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Transaction Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
|
||||
#: model:ir.model,name:account_payment.model_payment_mode
|
||||
#: model:ir.ui.menu,name:account_payment.menu_action_payment_mode_form
|
||||
#: view:payment.mode:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_date_created:0
|
||||
msgid "Effective Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_inv_ref:0
|
||||
msgid "Invoice Ref."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,date_prefered:0
|
||||
msgid ""
|
||||
"Choose an option for the Payment Order:'Fixed' stands for a date specified "
|
||||
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
|
||||
"scheduled date of execution."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Total debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_done:0
|
||||
msgid "Execution date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,journal:0
|
||||
msgid "Bank or Cash Journal for the Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Fixed date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,info_partner:0
|
||||
#: view:payment.order:0
|
||||
msgid "Destination Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Desitination Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Search Payment Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,create_date:0
|
||||
msgid "Created"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Select Invoices to Pay"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Currency Amount Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Make Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,state:0
|
||||
msgid "Communication Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,partner_id:0
|
||||
#: field:payment.mode,partner_id:0
|
||||
#: report:payment.order:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,bank_statement_line_id:0
|
||||
msgid "Bank statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Due date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.invoice,amount_to_pay:0
|
||||
msgid "Amount to be paid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"The selected account of your Journal Entry forces to provide a secondary "
|
||||
"currency. You should remove the secondary currency on the account or select "
|
||||
"a multi-currency view on the journal."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,info_owner:0
|
||||
msgid "Address of the Main Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,date:0
|
||||
msgid ""
|
||||
"If no payment date is specified, the bank will treat this payment line "
|
||||
"directly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
|
||||
msgid "Account Payment Populate Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,name:0
|
||||
msgid "Mode of Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Value Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Payment Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,amount_currency:0
|
||||
msgid "Payment amount in the partner currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,communication2:0
|
||||
msgid "The successor message of Communication."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "No partner defined on entry line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,info_partner:0
|
||||
msgid "Address of the Ordering Customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.populate.statement:0
|
||||
msgid "Populate Statement:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Total credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,date_scheduled:0
|
||||
msgid "Select a date if you have chosen Preferred Date to be fixed."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.payment.populate.statement,lines:0
|
||||
msgid "Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create journal items on an account of type view."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,move_line_id:0
|
||||
msgid ""
|
||||
"This Entry Line will be referred for the information of the ordering "
|
||||
"customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.report.xml,name:account_payment.payment_order1
|
||||
#: model:ir.model,name:account_payment.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,date:0
|
||||
msgid "Payment Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Total:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_created:0
|
||||
msgid "Creation date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.populate.statement:0
|
||||
msgid "ADD"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.bank.statement:0
|
||||
msgid "Import payment lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.move.line,amount_to_pay:0
|
||||
msgid "Amount to pay"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,amount:0
|
||||
msgid "Amount in Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,partner_id:0
|
||||
msgid "The Ordering Customer"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_payment_make_payment
|
||||
msgid "Account make payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Invoice Ref"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,name:0
|
||||
msgid "Your Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "General Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,communication:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
#: view:account.payment.populate.statement:0
|
||||
#: view:payment.order:0
|
||||
#: view:payment.order.create:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,bank_id:0
|
||||
msgid "Destination Bank Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be the same for its related account and period."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
|
||||
msgid ""
|
||||
"A payment order is a payment request from your company to pay a supplier "
|
||||
"invoice or a customer credit note. Here you can register all payment orders "
|
||||
"that should be done, keep track of all payment orders and mention the "
|
||||
"invoice reference and the partner the payment should be done for."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,amount:0
|
||||
msgid "Payment amount in the company currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "Search Payment lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,amount_currency:0
|
||||
msgid "Amount in Partner Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,communication2:0
|
||||
msgid "Communication 2"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
msgid "Are you sure you want to make payment?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.mode:0
|
||||
#: field:payment.mode,journal:0
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.mode,bank_id:0
|
||||
msgid "Bank account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Confirm Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,company_currency:0
|
||||
#: report:payment.order:0
|
||||
msgid "Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.ui.menu,name:account_payment.menu_main_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Payment Order / Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,move_line_id:0
|
||||
msgid "Entry line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,communication:0
|
||||
msgid ""
|
||||
"Used as the message between ordering customer and current company. Depicts "
|
||||
"'What do you want to say to the recipient about this order ?'"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.mode,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Bank Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Entry Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,order_id:0
|
||||
msgid "Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create journal items on closed account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,total:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
|
||||
msgid "Make Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,mode:0
|
||||
msgid "Payment mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
|
||||
msgid "Populate Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,bank_id:0
|
||||
msgid "Bank Account for the Payment Mode"
|
||||
msgstr ""
|
|
@ -903,7 +903,7 @@ class account_voucher(osv.osv):
|
|||
if voucher_brw.number:
|
||||
name = voucher_brw.number
|
||||
elif voucher_brw.journal_id.sequence_id:
|
||||
name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id)
|
||||
name = seq_obj.next_by_id(cr, uid, voucher_brw.journal_id.sequence_id.id, context=context)
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('Please define a sequence on the journal !'))
|
||||
|
|
|
@ -73,8 +73,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_jan}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
@ -108,8 +106,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_feb}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
|
||||
|
|
|
@ -44,8 +44,6 @@
|
|||
!record {model: account.invoice, id: account_first_invoice_jan_suppl}:
|
||||
account_id: account.a_pay
|
||||
type : in_invoice
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
@ -80,8 +78,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_second_invoice_feb_suppl}:
|
||||
account_id: account.a_pay
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
|
||||
|
|
|
@ -79,8 +79,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_first_invoice_jan}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
@ -114,8 +112,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_second_invoice_feb}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
|
||||
|
|
|
@ -79,8 +79,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_first_invoice_jan_michal}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
@ -114,8 +112,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_second_invoice_feb_michal}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.USD
|
||||
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
|
||||
|
|
|
@ -33,8 +33,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_first_invoice_jan_eur}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
@ -68,8 +66,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_second_invoice_feb_eur}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
date_invoice: !eval "'%s-02-01' %(datetime.now().year)"
|
||||
|
|
|
@ -67,8 +67,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_first_invoice_jan_cad}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_3000
|
||||
address_invoice_id: base.res_partner_address_3000
|
||||
company_id: base.main_company
|
||||
currency_id: base.CAD
|
||||
date_invoice: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
-
|
||||
!record {model: account.invoice, id: account_invoice_0}:
|
||||
account_id: account.a_recv
|
||||
address_contact_id: base.res_partner_address_7
|
||||
address_invoice_id: base.res_partner_address_7
|
||||
company_id: base.main_company
|
||||
currency_id: base.EUR
|
||||
invoice_line:
|
||||
|
|
|
@ -165,7 +165,6 @@ class account_analytic_account(osv.osv):
|
|||
'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
|
||||
'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of time to work on the contract.'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'contact_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
'user_id': fields.many2one('res.users', 'Account Manager'),
|
||||
'date_start': fields.date('Date Start'),
|
||||
'date': fields.date('Date End', select=True),
|
||||
|
@ -199,7 +198,6 @@ class account_analytic_account(osv.osv):
|
|||
'state': 'open',
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
'partner_id': lambda self, cr, uid, ctx: ctx.get('partner_id', False),
|
||||
'contact_id': lambda self, cr, uid, ctx: ctx.get('contact_id', False),
|
||||
'date_start': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'currency_id': _get_default_currency,
|
||||
}
|
||||
|
@ -219,12 +217,6 @@ class account_analytic_account(osv.osv):
|
|||
default['line_ids'] = []
|
||||
return super(account_analytic_account, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
def on_change_partner_id(self, cr, uid, id, partner_id, context={}):
|
||||
if not partner_id:
|
||||
return {'value': {'contact_id': False}}
|
||||
addr = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['invoice'])
|
||||
return {'value': {'contact_id': addr.get('invoice', False)}}
|
||||
|
||||
def on_change_company(self, cr, uid, id, company_id):
|
||||
if not company_id:
|
||||
return {}
|
||||
|
@ -244,13 +236,6 @@ class account_analytic_account(osv.osv):
|
|||
res['value']['partner_id'] = partner
|
||||
return res
|
||||
|
||||
def onchange_partner_id(self, cr, uid, ids, partner, context=None):
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
if not partner:
|
||||
return {'value':{'contact_id': False}}
|
||||
address = partner_obj.address_get(cr, uid, [partner], ['contact'])
|
||||
return {'value':{'contact_id': address['contact']}}
|
||||
|
||||
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
|
||||
if not args:
|
||||
args=[]
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
id,model_name,field_name
|
||||
anonymization_field_res_partner_name,res.partner,name
|
||||
anonymization_field_res_partner_code,res.partner,ref
|
||||
anonymization_field_res_partner_address_name,res.partner.address,name
|
||||
anonymization_field_res_partner_address_city,res.partner.address,city
|
||||
anonymization_field_res_partner_address_street,res.partner.address,street
|
||||
anonymization_field_res_partner_address_street2,res.partner.address,street2
|
||||
anonymization_field_res_partner_address_zip,res.partner.address,zip
|
||||
anonymization_field_res_partner_address_phone,res.partner.address,phone
|
||||
anonymization_field_res_partner_address_fax,res.partner.address,fax
|
||||
anonymization_field_res_partner_address_mobile,res.partner.address,mobile
|
||||
anonymization_field_res_partner_address_email,res.partner.address,email
|
||||
anonymization_field_res_partner_name,res.partner,name
|
||||
anonymization_field_res_partner_city,res.partner,city
|
||||
anonymization_field_res_partner_street,res.partner,street
|
||||
anonymization_field_res_partner_street2,res.partner,street2
|
||||
anonymization_field_res_partner_zip,res.partner,zip
|
||||
anonymization_field_res_partner_phone,res.partner,phone
|
||||
anonymization_field_res_partner_fax,res.partner,fax
|
||||
anonymization_field_res_partner_mobile,res.partner,mobile
|
||||
anonymization_field_res_partner_email,res.partner,email
|
||||
anonymization_field_account_invoice_amount_untaxed,account.invoice,amount_untaxed
|
||||
anonymization_field_account_invoice_amount_tax,account.invoice,amount_tax
|
||||
anonymization_field_account_invoice_amount_total,account.invoice,amount_total
|
||||
|
|
|
|
@ -9,6 +9,6 @@
|
|||
web_icon="images/association.png"
|
||||
web_icon_hover="images/association-hover.png"/>
|
||||
<menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="30" groups="base.group_extended"/>
|
||||
<menuitem name="Reporting" id="base.menu_report_association" parent="base.menu_association" sequence="20"/>
|
||||
<menuitem name="Association" id="base.menu_report_association" parent="base.menu_reporting" sequence="23"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -687,9 +687,9 @@ class auction_lots(osv.osv):
|
|||
if (lot.auction_id.id, lot.ach_uid.id) in invoices:
|
||||
inv_id = invoices[(lot.auction_id.id, lot.ach_uid.id)]
|
||||
else:
|
||||
add = res_obj.read(cr, uid, [lot.ach_uid.id], ['address'])[0]['address']
|
||||
if not len(add):
|
||||
raise orm.except_orm(_('Missed Address !'), _('The Buyer has no Invoice Address.'))
|
||||
add = res_obj.address_get(cr, uid, [lot.ach_uid.id], ['default'])['default']
|
||||
if not add:
|
||||
raise orm.except_orm(_('Missed Address !'), _('The Buyer has no Address.'))
|
||||
inv = {
|
||||
'name':lot.auction_id.name or '',
|
||||
'reference': lot.ach_login,
|
||||
|
@ -751,8 +751,8 @@ class auction_bid(osv.osv):
|
|||
if not partner_id:
|
||||
return {'value': {'contact_tel':False}}
|
||||
contact = self.pool.get('res.partner').browse(cr, uid, partner_id)
|
||||
if len(contact.address):
|
||||
v_contact=contact.address[0] and contact.address[0].phone
|
||||
if contact:
|
||||
v_contact=contact.phone
|
||||
else:
|
||||
v_contact = False
|
||||
return {'value': {'contact_tel': v_contact}}
|
||||
|
|
|
@ -107,9 +107,10 @@
|
|||
|
||||
<record id="partner_record1" model="res.partner">
|
||||
<field name="name">Unknown</field>
|
||||
<field name="is_company">1</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_unknown_address_1" model="res.partner.address">
|
||||
<record id="res_partner_unknown_address_1" model="res.partner">
|
||||
<field name="city">Bruxelles1</field>
|
||||
<field name="name">Benoit Mortie1r1</field>
|
||||
<field name="zip">1030</field>
|
||||
|
@ -118,22 +119,24 @@
|
|||
<field name="phone">(+32)2 211 34 83</field>
|
||||
<field name="street">Rue des Palais 44, bte 33</field>
|
||||
<field name="type">default</field>
|
||||
<field name="partner_id" ref="partner_record1"/>
|
||||
<field name="use_parent_address" eval="0"/>
|
||||
<field name="parent_id" ref="partner_record1"/>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_unknown_address_2" model="res.partner.address">
|
||||
<record id="res_partner_unknown_address_2" model="res.partner">
|
||||
<field name="city">Avignon CEDEX 091</field>
|
||||
<field name="name">Laurent Jacot1</field>
|
||||
<field name="name">Lara</field>
|
||||
<field name="zip">84911</field>
|
||||
<field name="country_id" model="res.country" search="[('name','=','France')]"/>
|
||||
<field name="email">contact@tecsas.fr</field>
|
||||
<field name="phone">(+33)4.32.74.10.57</field>
|
||||
<field name="street">85 rue du traite de Rome</field>
|
||||
<field name="type">default</field>
|
||||
<field name="partner_id" ref="partner_record1"/>
|
||||
<field name="use_parent_address" eval="0"/>
|
||||
<field name="parent_id" ref="partner_record1"/>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_unknown_address_3" model="res.partner.address">
|
||||
<record id="res_partner_unknown_address_3" model="res.partner">
|
||||
<field name="city">Louvain-la-Neuve</field>
|
||||
<field name="name">Thomas Passot</field>
|
||||
<field name="zip">1348</field>
|
||||
|
@ -141,7 +144,8 @@
|
|||
<field name="email">info@mediapole.net</field>
|
||||
<field name="phone">(+32).10.45.17.73</field>
|
||||
<field name="street">Rue de l'Angelique, 1</field>
|
||||
<field name="partner_id" ref="partner_record1"/>
|
||||
<field name="use_parent_address" eval="0"/>
|
||||
<field name="parent_id" ref="partner_record1"/>
|
||||
</record>
|
||||
|
||||
<!-- demo data for the auction_artist object-->
|
||||
|
|
|
@ -770,7 +770,7 @@
|
|||
<menuitem name="Buyers" id="auction_buyers_menu" parent="auction_menu_root" sequence="4"/>
|
||||
<menuitem name="Bids" parent="auction_buyers_menu" action="action_bid_open" id="menu_action_bid_open"/>
|
||||
|
||||
<menuitem name="Reporting" id="auction_report_menu" parent="auction_menu_root" sequence="6" groups="group_auction_manager"/>
|
||||
<menuitem name="Auction" id="auction_report_menu" parent="base.menu_reporting" sequence="70" groups="group_auction_manager"/>
|
||||
|
||||
<act_window name="Deposit slip"
|
||||
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<field name="view_id" ref="board_auction_form1"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Dashboard" id="menu_board_auction" parent="auction.auction_report_menu" sequence="0"/>
|
||||
<menuitem name="Auction" id="menu_board_auction" parent="base.menu_reporting_dashboard" sequence="40"/>
|
||||
|
||||
<menuitem
|
||||
name="Auction DashBoard"
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="Addressee">[[ o['partner'] and o['partner'].name or False]]</para>
|
||||
<para style="Addressee">[[o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) ]]</para>
|
||||
<para style="Addressee">[[o['partner'] and o['partner'] and display_address(o['partner']) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
</para>
|
||||
<para style="P5">[[o.bord_vnd_id.partner_id.title]]</para>
|
||||
<para style="P5">[[o.bord_vnd_id.partner_id.name]]</para>
|
||||
<para style="P5">[[o.bord_vnd_id.partner_id.address and display_address(o.bord_vnd_id.partner_id.address[0]) ]] </para>
|
||||
<para style="P5">[[o.bord_vnd_id.partner_id and display_address(o.bord_vnd_id.partner_id) ]] </para>
|
||||
<para style="P6">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="Addressee">[[ o['partner'] and o['partner'].name or False]]</para>
|
||||
<para style="Addressee">[[ o['partner'] and o['partner'].address and display_address(o['partner'].address[0]) </para>
|
||||
<para style="Addressee">[[ o['partner'] and o['partner'] and display_address(o['partner']) </para>
|
||||
<para style="P4">
|
||||
<font color="white"> </font>
|
||||
</para>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-
|
||||
In order to test the auction module in the OpenERP I start the process by creating a product.
|
||||
-
|
||||
-
|
||||
!record {model: product.product, id: product_product_furniture0}:
|
||||
categ_id: product.cat1
|
||||
cost_method: standard
|
||||
|
@ -16,55 +16,53 @@
|
|||
warranty: 0.0
|
||||
weight: 0.0
|
||||
weight_net: 0.0
|
||||
|
||||
|
||||
-
|
||||
I create a new artist for an object.
|
||||
-
|
||||
I create a new artist for an object.
|
||||
-
|
||||
!record {model: auction.artists, id: auction_artists_vincentvangogh0}:
|
||||
birth_death_dates: 1853-1900
|
||||
name: Vincent van Gogh
|
||||
|
||||
-
|
||||
I am modifying an expenses journal record for analytic journal.
|
||||
-
|
||||
|
||||
-
|
||||
I am modifying an expenses journal record for analytic journal.
|
||||
-
|
||||
!record {model: account.journal, id: account.expenses_journal}:
|
||||
analytic_journal_id: account.exp
|
||||
-
|
||||
I am modifying a sales journal record for analytic journal.
|
||||
-
|
||||
-
|
||||
I am modifying a sales journal record for analytic journal.
|
||||
-
|
||||
!record {model: account.journal, id: account.sales_journal}:
|
||||
analytic_journal_id: account.cose_journal_sale
|
||||
analytic_journal_id: account.cose_journal_sale
|
||||
|
||||
-
|
||||
I'm creating new Buyer "Mr. Patel" with his email "info@myinfobid.com".
|
||||
-
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_mrpatel0}:
|
||||
address:
|
||||
- city: Bruxelles
|
||||
name: Mr. Patel
|
||||
city: Bruxelles
|
||||
country_id: base.be
|
||||
street: Rue des Palais 51, bte 33
|
||||
type: default
|
||||
zip: '1000'
|
||||
email: 'info@myinfobid.com'
|
||||
name: Mr. Patel
|
||||
|
||||
|
||||
-
|
||||
I'm creating new Buyer "Mr. Rahi" with his email "info@poalrahi.com".
|
||||
-
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_poalrahi0}:
|
||||
address:
|
||||
- city: Bruxelles
|
||||
name: Mr. Rahi
|
||||
city: Bruxelles
|
||||
country_id: base.be
|
||||
street: Rue des Palais 51, bte 33
|
||||
type: default
|
||||
zip: '1000'
|
||||
email: 'info@poalrahi.com'
|
||||
name: Mr. Rahi
|
||||
|
||||
|
||||
|
||||
|
||||
-
|
||||
I create an Account tax with 0.03 amount to give Buyer "3%" Commission.
|
||||
-
|
||||
-
|
||||
!record {model: account.tax, id: account_tax_buyer0}:
|
||||
amount: 0.029999999999999999
|
||||
applicable_type: 'true'
|
||||
|
@ -76,7 +74,7 @@
|
|||
type_tax_use: all
|
||||
-
|
||||
I create another Account tax with 0.04 amount to give seller "4%" commission.
|
||||
-
|
||||
-
|
||||
!record {model: account.tax, id: account_tax_sellercosts0}:
|
||||
amount: 0.040000000000000001
|
||||
applicable_type: 'true'
|
||||
|
@ -85,8 +83,8 @@
|
|||
name: Seller Costs(%4)
|
||||
sequence: 1
|
||||
type: percent
|
||||
type_tax_use: all
|
||||
|
||||
type_tax_use: all
|
||||
|
||||
-
|
||||
Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition" which
|
||||
start from 1 Aug to 31 Aug with Seller Commission 4%, buyer commission 3%.
|
||||
|
@ -105,9 +103,9 @@
|
|||
seller_costs:
|
||||
- auction.account_tax_sellercosts0
|
||||
buyer_costs:
|
||||
- auction.account_tax_buyer0
|
||||
- auction.account_tax_buyer0
|
||||
-
|
||||
An object is being deposited for an auction,I create a seller's deposit record with deposit cost.
|
||||
An object is being deposited for an auction,I create a seller's deposit record with deposit cost.
|
||||
-
|
||||
!record {model: auction.deposit, id: auction_deposit_ad0}:
|
||||
date_dep: !eval "'%s-08-01' %(datetime.now().year)"
|
||||
|
@ -117,7 +115,7 @@
|
|||
specific_cost_ids:
|
||||
- account: auction.auction_expense
|
||||
amount: 200.0
|
||||
name: Transfer Cost
|
||||
name: Transfer Cost
|
||||
-
|
||||
I create a new object wooden-chair which is to be auctioned.
|
||||
-
|
||||
|
@ -156,7 +154,7 @@
|
|||
|
||||
-
|
||||
I create another bid for an object "wooden-chair" bid by a Mr.poalrahi
|
||||
-
|
||||
-
|
||||
!record {model: auction.bid, id: auction_bid_bid1}:
|
||||
auction_id: auction_dates_antiquefurnitureexhibition0
|
||||
name: bid/002
|
||||
|
@ -170,10 +168,10 @@
|
|||
call: 1
|
||||
lot_id: auction.auction_lots_woodenchair0
|
||||
price: 3200.0
|
||||
|
||||
|
||||
-
|
||||
I create another bid for an object "wooden-chair" bid by a Mr.Seagate
|
||||
-
|
||||
-
|
||||
!record {model: auction.bid, id: auction_bid_bid2}:
|
||||
auction_id: auction_dates_antiquefurnitureexhibition0
|
||||
name: bid/003
|
||||
|
@ -202,7 +200,7 @@
|
|||
!python {model: auction.lots}: |
|
||||
self.button_bought(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": "en_US", "tz":
|
||||
False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_lots_woodenchair0")],
|
||||
"active_id": ref("auction.auction_lots_woodenchair0")})
|
||||
"active_id": ref("auction.auction_lots_woodenchair0")})
|
||||
-
|
||||
I click on the "Create all invoices" button for all Objects in this Auction.
|
||||
-
|
||||
|
@ -216,8 +214,8 @@
|
|||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!')
|
||||
|
||||
assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!')
|
||||
|
||||
-
|
||||
I create a buyer's invoice by using the "Invoice Buyer objects" wizard.
|
||||
-
|
||||
|
@ -238,10 +236,10 @@
|
|||
!python {model: auction.lots}: |
|
||||
from tools.translate import _
|
||||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
assert(auc_id.ach_inv_id), _('Buyer Invoice has not been created!')
|
||||
-
|
||||
assert(auc_id.ach_inv_id), _('Buyer Invoice has not been created!')
|
||||
-
|
||||
Buyer pays the invoice
|
||||
-
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
obj_lots = self.pool.get('auction.lots')
|
||||
lots_id = obj_lots.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
|
@ -279,9 +277,9 @@
|
|||
-
|
||||
!record {model: auction.lots.auction.move, id: auction_lots_auction_move_0}:
|
||||
auction_id: auction.auction_date_2
|
||||
-
|
||||
-
|
||||
I click on the "Move to Auction date" button.
|
||||
-
|
||||
-
|
||||
!python {model: auction.lots.auction.move}: |
|
||||
self.auction_move_set(cr, uid, [ref("auction_lots_auction_move_0")], {"lang":
|
||||
"en_US", "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_woodenchair0")],
|
||||
|
@ -294,4 +292,4 @@
|
|||
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
|
||||
auc_lot_his=self.pool.get('auction.lot.history')
|
||||
ids=auc_lot_his.search(cr, uid, [('lot_id', '=', auc_id.id)])
|
||||
assert ids, _('Auction history does not exists!')
|
||||
assert ids, _('Auction history does not exists!')
|
||||
|
|
|
@ -47,18 +47,16 @@ class auction_lots_sms_send(osv.osv_memory):
|
|||
if context is None: context = {}
|
||||
lot_obj = self.pool.get('auction.lots')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
partner_address_obj = self.pool.get('res.partner.address')
|
||||
for data in self.read(cr, uid, ids, context=context):
|
||||
lots = lot_obj.read(cr, uid, context.get('active_ids', []), ['obj_num','obj_price','ach_uid'])
|
||||
res = partner_obj.read(cr, uid, [l['ach_uid'][0] for l in lots if l['ach_uid']], ['gsm'], context)
|
||||
|
||||
nbr = 0
|
||||
for r in res:
|
||||
add = partner_obj.address_get(cr, uid, [r['id']])['default']
|
||||
addr = partner_address_obj.browse(cr, uid, add, context=context)
|
||||
addr = partner_obj.browse(cr, uid, add, context=context)
|
||||
to = addr.mobile
|
||||
if to:
|
||||
tools.smssend(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to)
|
||||
tools.sms_send(data['user'], data['password'], data['app_id'], unicode(data['text'], 'utf-8').encode('latin1'), to)
|
||||
nbr += 1
|
||||
return {'sms_sent': nbr}
|
||||
auction_lots_sms_send()
|
||||
|
|
|
@ -375,8 +375,7 @@ class audittrail_objects_proxy(object_proxy):
|
|||
}
|
||||
|
||||
The reason why the structure returned is build as above is because when modifying an existing
|
||||
record (res.partner, for example), we may have to log a change done in a x2many field (on
|
||||
res.partner.address, for example)
|
||||
record, we may have to log a change done in a x2many field of that object
|
||||
"""
|
||||
key = (model.id, resource_id)
|
||||
lines = {
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
# Finnish translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
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-03-30 09:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish <fi@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-03-31 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 15032)\n"
|
||||
|
||||
#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
|
||||
#. module: auth_openid
|
||||
#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
|
||||
#. openerp-web
|
||||
#: view:res.users:0
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12
|
||||
msgid "OpenID"
|
||||
msgstr "OpenID"
|
||||
|
||||
#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
|
||||
#. module: auth_openid
|
||||
#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
|
||||
#. openerp-web
|
||||
#: field:res.users,openid_url:0
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47
|
||||
msgid "OpenID URL"
|
||||
msgstr "OpenID URL"
|
||||
|
||||
#. module: auth_openid
|
||||
#: help:res.users,openid_email:0
|
||||
msgid "Used for disambiguation in case of a shared OpenID URL"
|
||||
msgstr "Käytetään täsmennyksenä, jos käytössä jaettu OpenID URL"
|
||||
|
||||
#. module: auth_openid
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr "Kahdella eri käyttäjällä ei voi olla samaa käyttäjätunnusta!"
|
||||
|
||||
#. module: auth_openid
|
||||
#: field:res.users,openid_email:0
|
||||
msgid "OpenID Email"
|
||||
msgstr "OpenID sähköposti"
|
||||
|
||||
#. module: auth_openid
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr "Valittu yritys ei ole sallittu tälle käyttäjälle"
|
||||
|
||||
#. module: auth_openid
|
||||
#: field:res.users,openid_key:0
|
||||
msgid "OpenID Key"
|
||||
msgstr "OpenID avain"
|
||||
|
||||
#. module: auth_openid
|
||||
#: model:ir.model,name:auth_openid.model_res_users
|
||||
msgid "res.users"
|
||||
msgstr ""
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8
|
||||
msgid "Password"
|
||||
msgstr "Salasana"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
|
||||
msgid "Google"
|
||||
msgstr "Google"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
|
||||
msgid "Google Apps"
|
||||
msgstr "Google apps"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11
|
||||
msgid "Launchpad"
|
||||
msgstr "Launchpad"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20
|
||||
msgid "Google Apps Domain:"
|
||||
msgstr "Google Apps toimialue:"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24
|
||||
msgid "Username:"
|
||||
msgstr "Käyttäjätunnus:"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28
|
||||
msgid "OpenID URL:"
|
||||
msgstr "OpenID URL:"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35
|
||||
msgid "Google Apps Domain"
|
||||
msgstr "Google Apps toimialue"
|
||||
|
||||
#. openerp-web
|
||||
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41
|
||||
msgid "Username"
|
||||
msgstr "Käyttäjänimi"
|
|
@ -65,8 +65,10 @@ class res_users(osv.osv):
|
|||
return result
|
||||
else:
|
||||
with utils.cursor(db) as cr:
|
||||
cr.execute('UPDATE res_users SET date=now() WHERE login=%s AND openid_key=%s AND active=%s RETURNING id',
|
||||
(tools.ustr(login), tools.ustr(password), True))
|
||||
cr.execute("""UPDATE res_users
|
||||
SET date=now() AT TIME ZONE 'UTC'
|
||||
WHERE login=%s AND openid_key=%s AND active=%s RETURNING id""",
|
||||
(tools.ustr(login), tools.ustr(password), True))
|
||||
res = cr.fetchone()
|
||||
cr.commit()
|
||||
return res[0] if res else False
|
||||
|
|
|
@ -24,6 +24,7 @@ from tools.translate import _
|
|||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
from tools.safe_eval import safe_eval
|
||||
from tools import ustr
|
||||
import pooler
|
||||
import re
|
||||
import time
|
||||
|
@ -369,8 +370,8 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
|||
reg_name = action.regex_name
|
||||
result_name = True
|
||||
if reg_name:
|
||||
ptrn = re.compile(str(reg_name))
|
||||
_result = ptrn.search(str(obj.name))
|
||||
ptrn = re.compile(ustr(reg_name))
|
||||
_result = ptrn.search(ustr(obj.name))
|
||||
if not _result:
|
||||
result_name = False
|
||||
regex_n = not reg_name or result_name
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem id="base.menu_base_action_rule" name="Automated Actions"
|
||||
<!-- <menuitem id="base.menu_base_action_rule" name="Automated Actions"
|
||||
groups="base.group_extended"
|
||||
parent="base.menu_base_config" sequence="20" />
|
||||
parent="base.menu_base_config" sequence="20" />-->
|
||||
<menuitem id="base.menu_base_action_rule_admin" name="Automated Actions"
|
||||
groups="base.group_extended"
|
||||
parent="base.menu_custom" />
|
||||
|
|
|
@ -250,8 +250,8 @@ class calendar_attendee(osv.osv):
|
|||
if name == 'cn':
|
||||
if attdata.user_id:
|
||||
result[id][name] = attdata.user_id.name
|
||||
elif attdata.partner_address_id:
|
||||
result[id][name] = attdata.partner_address_id.name or attdata.partner_id.name
|
||||
elif attdata.partner_id:
|
||||
result[id][name] = attdata.partner_id.name or False
|
||||
else:
|
||||
result[id][name] = attdata.email or ''
|
||||
|
||||
|
@ -365,9 +365,7 @@ that points to the directory information corresponding to the attendee."),
|
|||
store=True, help="To specify the language for text values in a\
|
||||
property or property parameter."),
|
||||
'user_id': fields.many2one('res.users', 'User'),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Contact'),
|
||||
'partner_id': fields.related('partner_address_id', 'partner_id', type='many2one', \
|
||||
relation='res.partner', string='Partner', help="Partner related to contact"),
|
||||
'partner_id': fields.many2one('res.partner', 'Contact'),
|
||||
'email': fields.char('Email', size=124, help="Email of Invited Person"),
|
||||
'event_date': fields.function(_compute_data, string='Event Date', \
|
||||
type="datetime", multi='event_date'),
|
||||
|
@ -1618,20 +1616,13 @@ class ir_attachment(osv.osv):
|
|||
_inherit = 'ir.attachment'
|
||||
|
||||
def search_count(self, cr, user, args, context=None):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param user: the current user’s ID for security checks,
|
||||
@param args: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...].
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
args1 = []
|
||||
for arg in args:
|
||||
args1.append(map(lambda x:str(x).split('-')[0], arg))
|
||||
return super(ir_attachment, self).search_count(cr, user, args1, context)
|
||||
|
||||
|
||||
new_args = []
|
||||
for domain_item in args:
|
||||
if isinstance(domain_item, (list, tuple)) and len(domain_item) == 3 and domain_item[0] == 'res_id':
|
||||
new_args.append((domain_item[0], domain_item[1], base_calendar_id2real_id(domain_item[2])))
|
||||
else:
|
||||
new_args.append(domain_item)
|
||||
return super(ir_attachment, self).search_count(cr, user, new_args, context)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if context:
|
||||
|
@ -1641,21 +1632,12 @@ class ir_attachment(osv.osv):
|
|||
|
||||
def search(self, cr, uid, args, offset=0, limit=None, order=None,
|
||||
context=None, count=False):
|
||||
"""
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param args: list of tuples of form [(‘name_of_the_field’, ‘operator’, value), ...].
|
||||
@param offset: The Number of Results to pass,
|
||||
@param limit: The Number of Results to Return,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
new_args = args
|
||||
for i, arg in enumerate(new_args):
|
||||
if arg[0] == 'res_id':
|
||||
new_args[i] = (arg[0], arg[1], base_calendar_id2real_id(arg[2]))
|
||||
|
||||
new_args = []
|
||||
for domain_item in args:
|
||||
if isinstance(domain_item, (list, tuple)) and len(domain_item) == 3 and domain_item[0] == 'res_id':
|
||||
new_args.append((domain_item[0], domain_item[1], base_calendar_id2real_id(domain_item[2])))
|
||||
else:
|
||||
new_args.append(domain_item)
|
||||
return super(ir_attachment, self).search(cr, uid, new_args, offset=offset,
|
||||
limit=limit, order=order, context=context, count=False)
|
||||
ir_attachment()
|
||||
|
|
|
@ -22,10 +22,8 @@
|
|||
<group colspan="4" col="4">
|
||||
<field name="user_id" string="Invited User"/>
|
||||
<newline/>
|
||||
<field name="partner_address_id"
|
||||
string="Contact" />
|
||||
<field name="partner_id"
|
||||
string="Partner" readonly="1" />
|
||||
string="Contact" />
|
||||
</group>
|
||||
<separator string="Event Detail" colspan="4" />
|
||||
<group colspan="4" col="4">
|
||||
|
@ -78,7 +76,7 @@
|
|||
<field name="sent_by_uid" string="Invitation From" />
|
||||
<field name="role" string="My Role"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="partner_address_id" invisible="1"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="cutype" string="Invitation type"/>
|
||||
<field name="state" />
|
||||
<field name="rsvp" string="Required to Join"/>
|
||||
|
@ -132,7 +130,7 @@
|
|||
<filter string="Responsible" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'user_id'}" />
|
||||
<filter string="Contact" icon="terp-personal" domain="[]"
|
||||
context="{'group_by':'partner_address_id'}" />
|
||||
context="{'group_by':'partner_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type"
|
||||
domain="[]" context="{'group_by':'cutype'}" />
|
||||
|
@ -159,7 +157,7 @@
|
|||
|
||||
<!-- Calenadar's menu -->
|
||||
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
||||
parent="base.menu_base_config" sequence="6" groups="base.group_sale_manager" />
|
||||
parent="base.menu_base_config" sequence="50" groups="base.group_sale_manager" />
|
||||
|
||||
<!-- Invitation menu -->
|
||||
|
||||
|
@ -215,9 +213,9 @@
|
|||
<!-- Menu for Alarms-->
|
||||
|
||||
<menuitem id="menu_crm_meeting_avail_alarm"
|
||||
groups="base.group_extended"
|
||||
groups="base.group_no_one"
|
||||
action="base_calendar.action_res_alarm_view"
|
||||
parent="base.menu_calendar_configuration" />
|
||||
parent="base.menu_calendar_configuration" sequence="5"/>
|
||||
|
||||
<!-- Event Form View-->
|
||||
|
||||
|
@ -350,9 +348,9 @@
|
|||
<group col="4" colspan="4">
|
||||
<field name="rrule_type" string="Recurrency period"
|
||||
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
||||
<field name="interval" />
|
||||
|
||||
|
||||
<field name="interval" />
|
||||
|
||||
|
||||
<separator string="End of recurrency" colspan="4"/>
|
||||
<field name="end_type" />
|
||||
<label string=" " colspan="2" />
|
||||
|
@ -362,8 +360,8 @@
|
|||
<newline />
|
||||
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
|
||||
<newline />
|
||||
|
||||
|
||||
|
||||
|
||||
</group>
|
||||
<group col="8" colspan="4" name="Select weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
|
||||
<separator string="Choose day where repeat the meeting" colspan="8"/>
|
||||
|
@ -501,7 +499,7 @@
|
|||
<menuitem id="menu_events"
|
||||
name="Events" parent="base.menu_calendar_configuration"
|
||||
groups="base.group_extended"
|
||||
sequence="5" action="action_view_event" />
|
||||
sequence="15" action="action_view_event" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -41,7 +41,7 @@ class base_calendar_invite_attendee(osv.osv_memory):
|
|||
'invite_id', 'user_id', 'Users'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'email': fields.char('Email', size=124, help="Provide external email address who will receive this invitation."),
|
||||
'contact_ids': fields.many2many('res.partner.address', 'invite_contact_rel',
|
||||
'contact_ids': fields.many2many('res.partner', 'invite_contact_rel',
|
||||
'invite_id', 'contact_id', 'Contacts'),
|
||||
'send_mail': fields.boolean('Send mail?', help='Check this if you want to \
|
||||
send an Email to Invited Person')
|
||||
|
@ -112,10 +112,10 @@ send an Email to Invited Person')
|
|||
mail_to.append(datas['email'])
|
||||
|
||||
elif type == 'partner':
|
||||
add_obj = self.pool.get('res.partner.address')
|
||||
add_obj = self.pool.get('res.partner')
|
||||
for contact in add_obj.browse(cr, uid, datas['contact_ids']):
|
||||
res = {
|
||||
'partner_address_id': contact.id,
|
||||
'partner_id': contact.id,
|
||||
'email': contact.email
|
||||
}
|
||||
res.update(ref)
|
||||
|
@ -159,8 +159,8 @@ send an Email to Invited Person')
|
|||
|
||||
if not partner_id:
|
||||
return {'value': {'contact_ids': []}}
|
||||
cr.execute('SELECT id FROM res_partner_address \
|
||||
WHERE partner_id=%s', (partner_id,))
|
||||
cr.execute('SELECT id FROM res_partner \
|
||||
WHERE id=%s or parent_id =%s' , (partner_id,partner_id,))
|
||||
contacts = map(lambda x: x[0], cr.fetchall())
|
||||
return {'value': {'contact_ids': contacts}}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<field name="partner_id" colspan="2" on_change="onchange_partner_id(partner_id)" attrs="{'required': [('type', '=', 'partner')]}"/>
|
||||
<newline/>
|
||||
<separator string="Partner Contacts" colspan="6"/>
|
||||
<field name="contact_ids" select="1" colspan="4" nolabel="1" domain="[('partner_id', '=', partner_id)]" attrs="{'readonly': [('type', '!=', 'partner')]}"/>
|
||||
<field name="contact_ids" select="1" colspan="4" nolabel="1" domain="[('id', 'child_of', [partner_id])]" attrs="{'readonly': [('type', '!=', 'partner')]}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import base_contact
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue