[MERGE] from trunk
bzr revid: rco@openerp.com-20120104124524-at9z1c69ejpqhihz
This commit is contained in:
commit
b68826fcdf
|
@ -29,6 +29,7 @@ import account_bank
|
|||
import account_cash_statement
|
||||
import account_move_line
|
||||
import account_analytic_line
|
||||
import account_financial_report
|
||||
import wizard
|
||||
import report
|
||||
import product
|
||||
|
|
|
@ -69,6 +69,7 @@ module named account_voucher.
|
|||
'wizard/account_period_close_view.xml',
|
||||
'account_view.xml',
|
||||
'account_report.xml',
|
||||
'account_financial_report_data.xml',
|
||||
'wizard/account_report_common_view.xml',
|
||||
'wizard/account_invoice_refund_view.xml',
|
||||
'wizard/account_fiscalyear_close_state.xml',
|
||||
|
@ -104,7 +105,6 @@ module named account_voucher.
|
|||
'account_invoice_view.xml',
|
||||
'partner_view.xml',
|
||||
'data/account_data.xml',
|
||||
'data/data_financial_report.xml',
|
||||
'data/data_account_type.xml',
|
||||
'account_invoice_workflow.xml',
|
||||
'project/project_view.xml',
|
||||
|
|
|
@ -620,7 +620,7 @@ class account_account(osv.osv):
|
|||
if method == 'write':
|
||||
raise osv.except_osv(_('Error !'), _('You can not desactivate an account that contains some journal items.'))
|
||||
elif method == 'unlink':
|
||||
raise osv.except_osv(_('Error !'), _('You can not remove an account containing journal items!. '))
|
||||
raise osv.except_osv(_('Error !'), _('You can not remove an account containing journal items.'))
|
||||
#Checking whether the account is set as a property to any Partner or not
|
||||
value = 'account.account,' + str(ids[0])
|
||||
partner_prop_acc = self.pool.get('ir.property').search(cr, uid, [('value_reference','=',value)], context=context)
|
||||
|
@ -660,7 +660,7 @@ class account_account(osv.osv):
|
|||
# Allow the write if the value is the same
|
||||
for i in [i['company_id'][0] for i in self.read(cr,uid,ids,['company_id'])]:
|
||||
if vals['company_id']!=i:
|
||||
raise osv.except_osv(_('Warning !'), _('You cannot modify Company of account as its related record exist in Entry Lines'))
|
||||
raise osv.except_osv(_('Warning !'), _('You cannot modify the company as its related to existing journal items.'))
|
||||
if 'active' in vals and not vals['active']:
|
||||
self._check_moves(cr, uid, ids, "write", context=context)
|
||||
if 'type' in vals.keys():
|
||||
|
@ -959,7 +959,7 @@ class account_fiscalyear(osv.osv):
|
|||
ids = self.search(cr, uid, args, context=context)
|
||||
if not ids:
|
||||
if exception:
|
||||
raise osv.except_osv(_('Error !'), _('No fiscal year defined for this date !\nPlease create one.'))
|
||||
raise osv.except_osv(_('Error !'), _('No fiscal year defined for this date !\nPlease create one from the configuration of the accounting menu.'))
|
||||
else:
|
||||
return []
|
||||
return ids
|
||||
|
@ -2443,7 +2443,7 @@ class account_account_template(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Name', size=256, required=True, select=True),
|
||||
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
|
||||
'code': fields.char('Code', size=64, select=1),
|
||||
'code': fields.char('Code', size=64, required=True, select=1),
|
||||
'type': fields.selection([
|
||||
('receivable','Receivable'),
|
||||
('payable','Payable'),
|
||||
|
@ -2591,8 +2591,8 @@ class account_add_tmpl_wizard(osv.osv_memory):
|
|||
context = {}
|
||||
acc_obj = self.pool.get('account.account')
|
||||
tmpl_obj = self.pool.get('account.account.template')
|
||||
data = self.read(cr, uid, ids)
|
||||
company_id = acc_obj.read(cr, uid, [data[0]['cparent_id']], ['company_id'])[0]['company_id'][0]
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
company_id = acc_obj.read(cr, uid, [data['cparent_id'][0]], ['company_id'])[0]['company_id'][0]
|
||||
account_template = tmpl_obj.browse(cr, uid, context['tmpl_ids'])
|
||||
vals = {
|
||||
'name': account_template.name,
|
||||
|
@ -2603,7 +2603,7 @@ class account_add_tmpl_wizard(osv.osv_memory):
|
|||
'reconcile': account_template.reconcile,
|
||||
'shortcut': account_template.shortcut,
|
||||
'note': account_template.note,
|
||||
'parent_id': data[0]['cparent_id'],
|
||||
'parent_id': data['cparent_id'][0],
|
||||
'company_id': company_id,
|
||||
}
|
||||
acc_obj.create(cr, uid, vals)
|
||||
|
@ -2923,98 +2923,6 @@ class account_fiscal_position_account_template(osv.osv):
|
|||
|
||||
account_fiscal_position_account_template()
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Account Financial Report
|
||||
# ---------------------------------------------------------
|
||||
|
||||
class account_financial_report(osv.osv):
|
||||
_name = "account.financial.report"
|
||||
_description = "Account Report"
|
||||
|
||||
def _get_level(self, cr, uid, ids, field_name, arg, context=None):
|
||||
res = {}
|
||||
for report in self.browse(cr, uid, ids, context=context):
|
||||
level = 0
|
||||
if report.parent_id:
|
||||
level = report.parent_id.level + 1
|
||||
res[report.id] = level
|
||||
return res
|
||||
|
||||
def _get_children_by_order(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
for id in ids:
|
||||
res.append(id)
|
||||
ids2 = self.search(cr, uid, [('parent_id', '=', id)], order='sequence ASC', context=context)
|
||||
res += self._get_children_by_order(cr, uid, ids2, context=context)
|
||||
return res
|
||||
|
||||
def _get_balance(self, cr, uid, ids, name, args, context=None):
|
||||
account_obj = self.pool.get('account.account')
|
||||
res = {}
|
||||
res_all = {}
|
||||
for report in self.browse(cr, uid, ids, context=context):
|
||||
balance = 0.0
|
||||
if report.id in res_all:
|
||||
balance = res_all[report.id]
|
||||
elif report.type == 'accounts':
|
||||
# it's the sum of balance of the linked accounts
|
||||
for a in report.account_ids:
|
||||
balance += a.balance
|
||||
elif report.type == 'account_type':
|
||||
# it's the sum of balance of the leaf accounts with such an account type
|
||||
report_types = [x.id for x in report.account_type_ids]
|
||||
account_ids = account_obj.search(cr, uid, [('user_type','in', report_types), ('type','!=','view')], context=context)
|
||||
for a in account_obj.browse(cr, uid, account_ids, context=context):
|
||||
balance += a.balance
|
||||
elif report.type == 'account_report' and report.account_report_id:
|
||||
# it's the amount of the linked report
|
||||
res2 = self._get_balance(cr, uid, [report.account_report_id.id], 'balance', False, context=context)
|
||||
res_all.update(res2)
|
||||
for key, value in res2.items():
|
||||
balance += value
|
||||
elif report.type == 'sum':
|
||||
# it's the sum of balance of the children of this account.report
|
||||
#for child in report.children_ids:
|
||||
res2 = self._get_balance(cr, uid, [rec.id for rec in report.children_ids], 'balance', False, context=context)
|
||||
res_all.update(res2)
|
||||
for key, value in res2.items():
|
||||
balance += value
|
||||
res[report.id] = balance
|
||||
res_all[report.id] = balance
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Report Name', size=128, required=True, translate=True),
|
||||
'parent_id': fields.many2one('account.financial.report', 'Parent'),
|
||||
'children_ids': fields.one2many('account.financial.report', 'parent_id', 'Account Report'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'balance': fields.function(_get_balance, 'Balance'),
|
||||
'level': fields.function(_get_level, string='Level', store=True, type='integer'),
|
||||
'type': fields.selection([
|
||||
('sum','View'),
|
||||
('accounts','Accounts'),
|
||||
('account_type','Account Type'),
|
||||
('account_report','Report Value'),
|
||||
],'Type'),
|
||||
'account_ids': fields.many2many('account.account', 'account_account_financial_report', 'report_line_id', 'account_id', 'Accounts'),
|
||||
'display_detail': fields.selection([
|
||||
('no_detail','No detail'),
|
||||
('detail_flat','Display children flat'),
|
||||
('detail_with_hierarchy','Display children with hierarchy')
|
||||
], 'Display details'),
|
||||
'account_report_id': fields.many2one('account.financial.report', 'Report Value'),
|
||||
'account_type_ids': fields.many2many('account.account.type', 'account_account_financial_report_type', 'report_id', 'account_type_id', 'Account Types'),
|
||||
'sign': fields.selection([(-1, 'Reverse balance sign'), (1, 'Preserve balance sign')], 'Sign on Reports', required=True, help='For accounts that are typically more debited than credited and that you would like to print as negative amounts in your reports, you should reverse the sign of the balance; e.g.: Expense account. The same applies for accounts that are typically more credited than debited and that you would like to print as positive amounts in your reports; e.g.: Income account.'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'type': 'sum',
|
||||
'display_detail': 'detail_flat',
|
||||
'sign': 1,
|
||||
}
|
||||
|
||||
account_financial_report()
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Account generation from template wizards
|
||||
# ---------------------------------------------------------
|
||||
|
@ -3047,6 +2955,9 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
'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'),
|
||||
}
|
||||
def onchange_tax_rate(self, cr, uid, ids, rate=False, context=None):
|
||||
return {'value': {'purchase_tax_rate': rate or False}}
|
||||
|
||||
def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None):
|
||||
res = {}
|
||||
tax_templ_obj = self.pool.get('account.tax.template')
|
||||
|
@ -3066,15 +2977,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
res['value'].update({'code_digits': data.code_digits})
|
||||
return res
|
||||
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
res = super(wizard_multi_charts_accounts, self).default_get(cr, uid, fields, context=context)
|
||||
tax_templ_obj = self.pool.get('account.tax.template')
|
||||
|
||||
if 'bank_accounts_id' in fields:
|
||||
res.update({'bank_accounts_id': [{'acc_name': _('Current'), 'account_type': 'bank'},
|
||||
{'acc_name': _('Deposit'), 'account_type': 'bank'},
|
||||
{'acc_name': _('Cash'), 'account_type': 'cash'}]})
|
||||
res.update({'bank_accounts_id': [{'acc_name': _('Cash'), 'account_type': 'cash'}]})
|
||||
if 'company_id' in fields:
|
||||
res.update({'company_id': self.pool.get('res.users').browse(cr, uid, [uid], context=context)[0].company_id.id})
|
||||
if 'seq_journal' in fields:
|
||||
|
@ -3092,6 +3000,10 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
purchase_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
|
||||
, "=", ids[0]), ('type_tax_use', 'in', ('purchase','all'))], order="sequence")
|
||||
res.update({'purchase_tax': purchase_tax_ids and purchase_tax_ids[0] or False})
|
||||
res.update({
|
||||
'purchase_tax_rate': 15.0,
|
||||
'sale_tax_rate': 15.0,
|
||||
})
|
||||
return res
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
|
@ -3141,14 +3053,14 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
def _prepare_all_journals(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
|
||||
def _get_analytic_journal(journal_type):
|
||||
# Get the analytic journal
|
||||
analytic_journal_ids = []
|
||||
data = False
|
||||
if journal_type in ('sale', 'sale_refund'):
|
||||
analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type','=','sale')], context=context)
|
||||
data = obj_data.get_object_reference(cr, uid, 'account', 'analytic_journal_sale')
|
||||
elif journal_type in ('purchase', 'purchase_refund'):
|
||||
analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type','=','purchase')], context=context)
|
||||
pass
|
||||
elif journal_type == 'general':
|
||||
analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'situation')], context=context)
|
||||
return analytic_journal_ids and analytic_journal_ids[0] or False
|
||||
pass
|
||||
return data and data[1] or False
|
||||
|
||||
def _get_default_account(journal_type, type='debit'):
|
||||
# Get the default accounts
|
||||
|
@ -3355,46 +3267,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
vals = {}
|
||||
# create tax templates and tax code templates from purchase_tax_rate and sale_tax_rate fields
|
||||
if not chart_template.complete_tax_set:
|
||||
tax_data = {
|
||||
'sale': obj_wizard.sale_tax_rate,
|
||||
'purchase': obj_wizard.purchase_tax_rate,
|
||||
}
|
||||
|
||||
for tax_type, value in tax_data.items():
|
||||
# don't consider cases where entered value in rates are lower than 0
|
||||
if value >= 0.0:
|
||||
#create the tax code templates for base and tax
|
||||
base_code_vals = {
|
||||
'name': (tax_type == 'sale' and _('Taxable Sales at %s') or _('Taxable Purchases at %s')) % value,
|
||||
'code': (tax_type == 'sale' and _('BASE-S-%s') or _('BASE-P-%s')) %value,
|
||||
'parent_id': chart_template.tax_code_root_id.id,
|
||||
'company_id': company_id,
|
||||
}
|
||||
new_base_code_id = obj_tax_code_template.create(cr, uid, base_code_vals, context=context)
|
||||
tax_code_vals = {
|
||||
'name': (tax_type == 'sale' and _('Tax Received at %s') or _('Tax Paid at %s')) % value,
|
||||
'code': (tax_type == 'sale' and _('TAX-S-%s') or _('TAX-P-%s')) %value,
|
||||
'parent_id': chart_template.tax_code_root_id.id,
|
||||
'company_id': company_id,
|
||||
}
|
||||
new_tax_code_id = obj_tax_code_template.create(cr, uid, tax_code_vals, context=context)
|
||||
#create the tax
|
||||
tax_template_id = obj_tax_temp.create(cr, uid, {
|
||||
'name': _('Tax %s%%') % value,
|
||||
'amount': value/100,
|
||||
'base_code_id': new_base_code_id,
|
||||
'tax_code_id': new_tax_code_id,
|
||||
'ref_base_code_id': new_base_code_id,
|
||||
'ref_tax_code_id': new_tax_code_id,
|
||||
'type_tax_use': tax_type,
|
||||
'type': 'percent',
|
||||
'sequence': 0,
|
||||
'chart_template_id': chart_template.id or False,
|
||||
}, context=context)
|
||||
#record this new tax_template as default for this chart template
|
||||
field_name = tax_type == 'sale' and 'sale_tax' or 'purchase_tax'
|
||||
vals[field_name] = tax_template_id
|
||||
self.write(cr, uid, obj_wizard.id, vals, context=context)
|
||||
if obj_wizard.sale_tax:
|
||||
value = obj_wizard.sale_tax_rate
|
||||
obj_tax_temp.write(cr, uid, [obj_wizard.sale_tax.id], {'amount': value/100.0, 'name': _('Tax %.2f%%') % value})
|
||||
if obj_wizard.purchase_tax:
|
||||
value = obj_wizard.purchase_tax_rate
|
||||
obj_tax_temp.write(cr, uid, [obj_wizard.purchase_tax.id], {'amount': value/100.0, 'name': _('Purchase Tax %.2f%%') % value})
|
||||
return True
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
|
@ -3445,14 +3323,28 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
:rtype: dict
|
||||
'''
|
||||
obj_data = self.pool.get('ir.model.data')
|
||||
obj_journal = self.pool.get('account.journal')
|
||||
# Get the id of journal views
|
||||
tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view_multi')
|
||||
view_id_cur = tmp and tmp[1] or False
|
||||
tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view')
|
||||
view_id_cash = tmp and tmp[1] or False
|
||||
|
||||
# we need to loop again to find next number for journal code
|
||||
# because we can't rely on the value current_num as,
|
||||
# its possible that we already have bank journals created (e.g. by the creation of res.partner.bank)
|
||||
# and the next number for account code might have been already used before for journal
|
||||
journal_count = 0
|
||||
while True:
|
||||
journal_code = _('BNK') + str(current_num + journal_count)
|
||||
ids = obj_journal.search(cr, uid, [('code', '=', journal_code), ('company_id', '=', company_id)], context=context)
|
||||
if not ids:
|
||||
break
|
||||
journal_count += 1
|
||||
|
||||
vals = {
|
||||
'name': line['acc_name'],
|
||||
'code': _('BNK') + str(current_num),
|
||||
'code': journal_code,
|
||||
'type': line['account_type'] == 'cash' and 'cash' or 'bank',
|
||||
'company_id': company_id,
|
||||
'analytic_journal_id': False,
|
||||
|
|
|
@ -68,7 +68,6 @@ class bank(osv.osv):
|
|||
name = self._prepare_name(bank)
|
||||
acc = {
|
||||
'name': name,
|
||||
'currency_id': bank.company_id.currency_id.id,
|
||||
'code': new_code,
|
||||
'type': 'liquidity',
|
||||
'user_type': ref_acc_bank_temp.user_type.id,
|
||||
|
|
|
@ -297,7 +297,7 @@ class account_bank_statement(osv.osv):
|
|||
context=context):
|
||||
if line.state <> 'valid':
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('Journal Item "%s" is not valid') % line.name)
|
||||
_('Journal item "%s" is not valid.') % line.name)
|
||||
|
||||
# Bank statements will not consider boolean on journal entry_posted
|
||||
account_move_obj.post(cr, uid, [move_id], context=context)
|
||||
|
@ -352,7 +352,7 @@ class account_bank_statement(osv.osv):
|
|||
for st_line in st.line_ids:
|
||||
if st_line.analytic_account_id:
|
||||
if not st.journal_id.analytic_journal_id:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (st.journal_id.name,))
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You have to assign an analytic journal on the '%s' journal!") % (st.journal_id.name,))
|
||||
if not st_line.amount:
|
||||
continue
|
||||
st_line_number = self.get_next_st_line_number(cr, uid, st_number, st_line, context)
|
||||
|
|
|
@ -311,7 +311,7 @@ class account_cash_statement(osv.osv):
|
|||
if journal_type == 'bank':
|
||||
return super(account_cash_statement, self).balance_check(cr, uid, cash_id, journal_type, context)
|
||||
if not self._equal_balance(cr, uid, cash_id, context):
|
||||
raise osv.except_osv(_('Error !'), _('The closing balance should be the same than the computed balance !'))
|
||||
raise osv.except_osv(_('Error !'), _('The closing balance should be the same than the computed balance!'))
|
||||
return True
|
||||
|
||||
def statement_close(self, cr, uid, ids, journal_type='bank', context=None):
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
# -*- 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 time
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from operator import itemgetter
|
||||
|
||||
import netsvc
|
||||
import pooler
|
||||
from osv import fields, osv
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Account Financial Report
|
||||
# ---------------------------------------------------------
|
||||
|
||||
class account_financial_report(osv.osv):
|
||||
_name = "account.financial.report"
|
||||
_description = "Account Report"
|
||||
|
||||
def _get_level(self, cr, uid, ids, field_name, arg, context=None):
|
||||
res = {}
|
||||
for report in self.browse(cr, uid, ids, context=context):
|
||||
level = 0
|
||||
if report.parent_id:
|
||||
level = report.parent_id.level + 1
|
||||
res[report.id] = level
|
||||
return res
|
||||
|
||||
def _get_children_by_order(self, cr, uid, ids, context=None):
|
||||
res = []
|
||||
for id in ids:
|
||||
res.append(id)
|
||||
ids2 = self.search(cr, uid, [('parent_id', '=', id)], order='sequence ASC', context=context)
|
||||
res += self._get_children_by_order(cr, uid, ids2, context=context)
|
||||
return res
|
||||
|
||||
def _get_balance(self, cr, uid, ids, name, args, context=None):
|
||||
account_obj = self.pool.get('account.account')
|
||||
res = {}
|
||||
res_all = {}
|
||||
for report in self.browse(cr, uid, ids, context=context):
|
||||
balance = 0.0
|
||||
if report.id in res_all:
|
||||
balance = res_all[report.id]
|
||||
elif report.type == 'accounts':
|
||||
# it's the sum of balance of the linked accounts
|
||||
for a in report.account_ids:
|
||||
balance += a.balance
|
||||
elif report.type == 'account_type':
|
||||
# it's the sum of balance of the leaf accounts with such an account type
|
||||
report_types = [x.id for x in report.account_type_ids]
|
||||
account_ids = account_obj.search(cr, uid, [('user_type','in', report_types), ('type','!=','view')], context=context)
|
||||
for a in account_obj.browse(cr, uid, account_ids, context=context):
|
||||
balance += a.balance
|
||||
elif report.type == 'account_report' and report.account_report_id:
|
||||
# it's the amount of the linked report
|
||||
res2 = self._get_balance(cr, uid, [report.account_report_id.id], 'balance', False, context=context)
|
||||
res_all.update(res2)
|
||||
for key, value in res2.items():
|
||||
balance += value
|
||||
elif report.type == 'sum':
|
||||
# it's the sum of balance of the children of this account.report
|
||||
#for child in report.children_ids:
|
||||
res2 = self._get_balance(cr, uid, [rec.id for rec in report.children_ids], 'balance', False, context=context)
|
||||
res_all.update(res2)
|
||||
for key, value in res2.items():
|
||||
balance += value
|
||||
res[report.id] = balance
|
||||
res_all[report.id] = balance
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Report Name', size=128, required=True, translate=True),
|
||||
'parent_id': fields.many2one('account.financial.report', 'Parent'),
|
||||
'children_ids': fields.one2many('account.financial.report', 'parent_id', 'Account Report'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'balance': fields.function(_get_balance, 'Balance'),
|
||||
'level': fields.function(_get_level, string='Level', store=True, type='integer'),
|
||||
'type': fields.selection([
|
||||
('sum','View'),
|
||||
('accounts','Accounts'),
|
||||
('account_type','Account Type'),
|
||||
('account_report','Report Value'),
|
||||
],'Type'),
|
||||
'account_ids': fields.many2many('account.account', 'account_account_financial_report', 'report_line_id', 'account_id', 'Accounts'),
|
||||
'display_detail': fields.selection([
|
||||
('no_detail','No detail'),
|
||||
('detail_flat','Display children flat'),
|
||||
('detail_with_hierarchy','Display children with hierarchy')
|
||||
], 'Display details'),
|
||||
'account_report_id': fields.many2one('account.financial.report', 'Report Value'),
|
||||
'account_type_ids': fields.many2many('account.account.type', 'account_account_financial_report_type', 'report_id', 'account_type_id', 'Account Types'),
|
||||
'sign': fields.selection([(-1, 'Reverse balance sign'), (1, 'Preserve balance sign')], 'Sign on Reports', required=True, help='For accounts that are typically more debited than credited and that you would like to print as negative amounts in your reports, you should reverse the sign of the balance; e.g.: Expense account. The same applies for accounts that are typically more credited than debited and that you would like to print as positive amounts in your reports; e.g.: Income account.'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'type': 'sum',
|
||||
'display_detail': 'detail_flat',
|
||||
'sign': 1,
|
||||
}
|
||||
|
||||
account_financial_report()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -68,7 +68,7 @@ class account_invoice(osv.osv):
|
|||
tt = type2journal.get(type_inv, 'sale')
|
||||
result = self.pool.get('account.analytic.journal').search(cr, uid, [('type','=',tt)], context=context)
|
||||
if not result:
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You must define an analytic journal of type '%s' !") % (tt,))
|
||||
raise osv.except_osv(_('No Analytic Journal !'),_("You must define an analytic journal of type '%s'!") % (tt,))
|
||||
return result[0]
|
||||
|
||||
def _get_type(self, cr, uid, context=None):
|
||||
|
@ -261,7 +261,7 @@ class account_invoice(osv.osv):
|
|||
'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',
|
||||
help='Bank Account Number, Company bank account if Invoice is customer or supplier refund, otherwise Partner bank account number.', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'move_lines':fields.function(_get_lines, type='many2many', relation='account.move.line', string='Entry Lines'),
|
||||
'residual': fields.function(_amount_residual, digits_compute=dp.get_precision('Account'), string='To Pay',
|
||||
'residual': fields.function(_amount_residual, digits_compute=dp.get_precision('Account'), string='Balance',
|
||||
store={
|
||||
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line','move_id'], 50),
|
||||
'account.invoice.tax': (_get_invoice_tax, None, 50),
|
||||
|
@ -414,7 +414,7 @@ class account_invoice(osv.osv):
|
|||
pay_res_id = pay_line_data and pay_line_data[0].get('value_reference',False) and int(pay_line_data[0]['value_reference'].split(',')[1]) or False
|
||||
if not rec_res_id and not pay_res_id:
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
_('Can not find account chart for this company, Please Create account.'))
|
||||
_('Can not find a chart of accounts for this company, you should create one.'))
|
||||
account_obj = self.pool.get('account.account')
|
||||
rec_obj_acc = account_obj.browse(cr, uid, [rec_res_id])
|
||||
pay_obj_acc = account_obj.browse(cr, uid, [pay_res_id])
|
||||
|
@ -481,7 +481,7 @@ class account_invoice(osv.osv):
|
|||
pterm_list.sort()
|
||||
res = {'value':{'date_due': pterm_list[-1]}}
|
||||
else:
|
||||
raise osv.except_osv(_('Data Insufficient !'), _('The Payment Term of Supplier does not have Payment Term Lines(Computation) defined !'))
|
||||
raise osv.except_osv(_('Data Insufficient !'), _('The payment term of supplier does not have a payment term line!'))
|
||||
return res
|
||||
|
||||
def onchange_invoice_line(self, cr, uid, ids, lines):
|
||||
|
@ -514,7 +514,7 @@ class account_invoice(osv.osv):
|
|||
pay_res_id = pay_line_data and pay_line_data[0].get('value_reference',False) and int(pay_line_data[0]['value_reference'].split(',')[1]) or False
|
||||
if not rec_res_id and not pay_res_id:
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
_('Can not find account chart for this company, Please Create account.'))
|
||||
_('Can not find a chart of account, you should create one from the configuration of the accounting menu.'))
|
||||
if type in ('out_invoice', 'out_refund'):
|
||||
acc_id = rec_res_id
|
||||
else:
|
||||
|
@ -529,7 +529,7 @@ class account_invoice(osv.osv):
|
|||
result_id = account_obj.search(cr, uid, [('name','=',line.account_id.name),('company_id','=',company_id)])
|
||||
if not result_id:
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
_('Can not find account chart for this company in invoice line account, Please Create account.'))
|
||||
_('Can not find a chart of account, you should create one from the configuration of the accounting menu.'))
|
||||
inv_line_obj.write(cr, uid, [line.id], {'account_id': result_id[-1]})
|
||||
else:
|
||||
if invoice_line:
|
||||
|
@ -730,13 +730,13 @@ class account_invoice(osv.osv):
|
|||
key = (tax.tax_code_id.id, tax.base_code_id.id, tax.account_id.id)
|
||||
tax_key.append(key)
|
||||
if not key in compute_taxes:
|
||||
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but are not in invoice lines !'))
|
||||
raise osv.except_osv(_('Warning !'), _('Global taxes defined, but they are not in invoice lines !'))
|
||||
base = compute_taxes[key]['base']
|
||||
if abs(base - tax.base) > inv.company_id.currency_id.rounding:
|
||||
raise osv.except_osv(_('Warning !'), _('Tax base different !\nClick on compute to update tax base'))
|
||||
raise osv.except_osv(_('Warning !'), _('Tax base different!\nClick on compute to update the tax base.'))
|
||||
for key in compute_taxes:
|
||||
if not key in tax_key:
|
||||
raise osv.except_osv(_('Warning !'), _('Taxes missing !'))
|
||||
raise osv.except_osv(_('Warning !'), _('Taxes are missing!\nClick on compute button.'))
|
||||
|
||||
def compute_invoice_totals(self, cr, uid, inv, company_currency, ref, invoice_move_lines):
|
||||
total = 0
|
||||
|
@ -794,34 +794,39 @@ class account_invoice(osv.osv):
|
|||
line.append((0,0,val))
|
||||
return line
|
||||
|
||||
def action_move_create(self, cr, uid, ids, *args):
|
||||
def action_move_create(self, cr, uid, ids, context=None):
|
||||
"""Creates invoice related analytics and financial move lines"""
|
||||
ait_obj = self.pool.get('account.invoice.tax')
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
period_obj = self.pool.get('account.period')
|
||||
context = {}
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
payment_term_obj = self.pool.get('account.payment.term')
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
move_obj = self.pool.get('account.move')
|
||||
if context is None:
|
||||
context = {}
|
||||
for inv in self.browse(cr, uid, ids, context=context):
|
||||
if not inv.journal_id.sequence_id:
|
||||
raise osv.except_osv(_('Error !'), _('Please define sequence on invoice journal'))
|
||||
raise osv.except_osv(_('Error !'), _('Please define sequence on the journal related to this invoice.'))
|
||||
if not inv.invoice_line:
|
||||
raise osv.except_osv(_('No Invoice Lines !'), _('Please create some invoice lines.'))
|
||||
if inv.move_id:
|
||||
continue
|
||||
|
||||
|
||||
ctx = context.copy()
|
||||
ctx.update({'lang': inv.partner_id.lang})
|
||||
if not inv.date_invoice:
|
||||
self.write(cr, uid, [inv.id], {'date_invoice':time.strftime('%Y-%m-%d')})
|
||||
self.write(cr, uid, [inv.id], {'date_invoice':time.strftime('%Y-%m-%d')}, context=ctx)
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
# create the analytical lines
|
||||
# one move line per invoice line
|
||||
iml = self._get_analytic_lines(cr, uid, inv.id)
|
||||
iml = self._get_analytic_lines(cr, uid, inv.id, context=ctx)
|
||||
# check if taxes are all computed
|
||||
ctx = context.copy()
|
||||
ctx.update({'lang': inv.partner_id.lang})
|
||||
compute_taxes = ait_obj.compute(cr, uid, inv.id, context=ctx)
|
||||
self.check_tax_lines(cr, uid, inv, compute_taxes, ait_obj)
|
||||
|
||||
if inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0):
|
||||
raise osv.except_osv(_('Bad total !'), _('Please verify the price of the invoice !\nThe real total does not match the computed total.'))
|
||||
# I disabled the check_total feature
|
||||
#if inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0):
|
||||
# raise osv.except_osv(_('Bad total !'), _('Please verify the price of the invoice !\nThe real total does not match the computed total.'))
|
||||
|
||||
if inv.payment_term:
|
||||
total_fixed = total_percent = 0
|
||||
|
@ -832,7 +837,7 @@ class account_invoice(osv.osv):
|
|||
total_percent += line.value_amount
|
||||
total_fixed = (total_fixed * 100) / (inv.amount_total or 1.0)
|
||||
if (total_fixed + total_percent) > 100:
|
||||
raise osv.except_osv(_('Error !'), _("Can not create the invoice !\nThe related payment term is probably misconfigured as it gives a computed amount greater than the total invoiced amount."))
|
||||
raise osv.except_osv(_('Error !'), _("Can not create the invoice !\nThe related payment term is probably misconfigured as it gives a computed amount greater than the total invoiced amount. The latest line of your payment term must be of type 'balance' to avoid rounding issues."))
|
||||
|
||||
# one move line per tax line
|
||||
iml += ait_obj.move_line_get(cr, uid, inv.id)
|
||||
|
@ -859,8 +864,8 @@ class account_invoice(osv.osv):
|
|||
name = inv['name'] or '/'
|
||||
totlines = False
|
||||
if inv.payment_term:
|
||||
totlines = self.pool.get('account.payment.term').compute(cr,
|
||||
uid, inv.payment_term.id, total, inv.date_invoice or False)
|
||||
totlines = payment_term_obj.compute(cr,
|
||||
uid, inv.payment_term.id, total, inv.date_invoice or False, context=ctx)
|
||||
if totlines:
|
||||
res_amount_currency = total_currency
|
||||
i = 0
|
||||
|
@ -906,12 +911,12 @@ class account_invoice(osv.osv):
|
|||
date = inv.date_invoice or time.strftime('%Y-%m-%d')
|
||||
part = inv.partner_id.id
|
||||
|
||||
line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x, part, date, context={})),iml)
|
||||
line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x, part, date, context=ctx)),iml)
|
||||
|
||||
line = self.group_lines(cr, uid, iml, line, inv)
|
||||
|
||||
journal_id = inv.journal_id.id
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, journal_id)
|
||||
journal = journal_obj.browse(cr, uid, journal_id, context=ctx)
|
||||
if journal.centralisation:
|
||||
raise osv.except_osv(_('UserError'),
|
||||
_('You cannot create an invoice on a centralised journal. Uncheck the centralised counterpart box in the related journal from the configuration menu.'))
|
||||
|
@ -935,13 +940,14 @@ class account_invoice(osv.osv):
|
|||
for i in line:
|
||||
i[2]['period_id'] = period_id
|
||||
|
||||
move_id = self.pool.get('account.move').create(cr, uid, move, context=context)
|
||||
new_move_name = self.pool.get('account.move').browse(cr, uid, move_id).name
|
||||
move_id = move_obj.create(cr, uid, move, context=ctx)
|
||||
new_move_name = move_obj.browse(cr, uid, move_id, context=ctx).name
|
||||
# make the invoice point to that move
|
||||
self.write(cr, uid, [inv.id], {'move_id': move_id,'period_id':period_id, 'move_name':new_move_name})
|
||||
self.write(cr, uid, [inv.id], {'move_id': move_id,'period_id':period_id, 'move_name':new_move_name}, context=ctx)
|
||||
# Pass invoice in context in method post: used if you want to get the same
|
||||
# account move reference when creating the same invoice after a cancelled one:
|
||||
self.pool.get('account.move').post(cr, uid, [move_id], context={'invoice':inv})
|
||||
ctx.update({'invoice':inv})
|
||||
move_obj.post(cr, uid, [move_id], context=ctx)
|
||||
self._log_event(cr, uid, ids)
|
||||
return True
|
||||
|
||||
|
@ -1262,7 +1268,7 @@ class account_invoice_line(osv.osv):
|
|||
def _price_unit_default(self, cr, uid, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if 'check_total' in context:
|
||||
if context.get('check_total', False):
|
||||
t = context['check_total']
|
||||
for l in context.get('invoice_line', {}):
|
||||
if isinstance(l, (list, tuple)) and len(l) >= 3 and l[2]:
|
||||
|
|
|
@ -152,8 +152,8 @@
|
|||
<field name="currency_id" width="50"/>
|
||||
<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}"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}"/>
|
||||
<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}'/>
|
||||
<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,7 +168,7 @@
|
|||
<field name="reference_type" nolabel="1" size="0"/>
|
||||
<field name="reference" nolabel="1"/>
|
||||
<field name="date_due"/>
|
||||
<field name="check_total" required="2"/>
|
||||
<field name="check_total" invisible="1"/>
|
||||
<field colspan="4" default_get="{'check_total': check_total, 'invoice_line': invoice_line, 'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False}" name="invoice_line" context="{'type': type}" 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)"/>
|
||||
|
@ -179,7 +179,7 @@
|
|||
<field name="price_unit"/>
|
||||
<!-- Removed if subtotal is set -->
|
||||
<field name="price_subtotal"/>
|
||||
<field name="name"/>
|
||||
<field invisible="True" name="name"/>
|
||||
<field invisible="True" name="uos_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -263,9 +263,9 @@
|
|||
<field name="currency_id" width="50"/>
|
||||
<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}"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}"/>
|
||||
<field name="fiscal_position" groups="base.group_extended" widget="selection"/>
|
||||
<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}'/>
|
||||
<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"/>
|
||||
<field name="period_id" domain="[('state', '=', 'draft')]" groups="account.group_account_user" widget="selection"/>
|
||||
|
@ -303,7 +303,6 @@
|
|||
<group col="8" colspan="4" groups="base.group_user">
|
||||
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="base.group_no_one"/>
|
||||
<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"/>
|
||||
|
|
|
@ -94,7 +94,7 @@ class account_move_line(osv.osv):
|
|||
if initial_bal and not context.get('periods', False) and not where_move_lines_by_date:
|
||||
#we didn't pass any filter in the context, and the initial balance can't be computed using only the fiscalyear otherwise entries will be summed twice
|
||||
#so we have to invalidate this query
|
||||
raise osv.except_osv(_('Warning !'),_("You haven't supplied enough argument to compute the initial balance"))
|
||||
raise osv.except_osv(_('Warning !'),_("You haven't supplied enough argument to compute the initial balance, please select a period and journal in the context."))
|
||||
|
||||
|
||||
if context.get('journal_ids', False):
|
||||
|
@ -581,14 +581,14 @@ class account_move_line(osv.osv):
|
|||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.account_id.type == 'view':
|
||||
raise osv.except_osv(_('Error :'), _('You can not create move line on view account %s %s') % (l.account_id.code, l.account_id.name))
|
||||
raise osv.except_osv(_('Error :'), _('You can not create journal items on a "view" account %s %s') % (l.account_id.code, l.account_id.name))
|
||||
return True
|
||||
|
||||
def _check_no_closed(self, cr, uid, ids, context=None):
|
||||
lines = self.browse(cr, uid, ids, context=context)
|
||||
for l in lines:
|
||||
if l.account_id.type == 'closed':
|
||||
raise osv.except_osv(_('Error :'), _('You can not create move line on closed account %s %s') % (l.account_id.code, l.account_id.name))
|
||||
raise osv.except_osv(_('Error :'), _('You can not create journal items on a closed account %s %s') % (l.account_id.code, l.account_id.name))
|
||||
return True
|
||||
|
||||
def _check_company_id(self, cr, uid, ids, context=None):
|
||||
|
@ -613,11 +613,11 @@ class account_move_line(osv.osv):
|
|||
return True
|
||||
|
||||
_constraints = [
|
||||
(_check_no_view, 'You can not create move line on view account.', ['account_id']),
|
||||
(_check_no_closed, 'You can not create move line on closed account.', ['account_id']),
|
||||
(_check_company_id, 'Company must be same for its related account and period.', ['company_id']),
|
||||
(_check_date, 'The date of your Journal Entry is not in the defined period!', ['date']),
|
||||
(_check_currency, 'The selected account of your Journal Entry must receive a value in its secondary currency', ['currency_id']),
|
||||
(_check_no_view, 'You can not create journal items on an account of type view.', ['account_id']),
|
||||
(_check_no_closed, 'You can not create journal items on closed account.', ['account_id']),
|
||||
(_check_company_id, 'Company must be the same for its related account and period.', ['company_id']),
|
||||
(_check_date, 'The date of your Journal Entry is not in the defined period! You should change the date or remove this constraint from the journal.', ['date']),
|
||||
(_check_currency, '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.', ['currency_id']),
|
||||
]
|
||||
|
||||
#TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id
|
||||
|
@ -832,7 +832,7 @@ class account_move_line(osv.osv):
|
|||
raise osv.except_osv(_('Error'), _('Entry is already reconciled'))
|
||||
account = account_obj.browse(cr, uid, account_id, context=context)
|
||||
if not context.get('fy_closing', False) and not account.reconcile:
|
||||
raise osv.except_osv(_('Error'), _('The account is not defined to be reconciled !'))
|
||||
raise osv.except_osv(_('Error'), _('This account does not allow reconciliation! You should update the account definition to change this.'))
|
||||
if r[0][1] != None:
|
||||
raise osv.except_osv(_('Error'), _('Some entries are already reconciled !'))
|
||||
|
||||
|
@ -1212,9 +1212,9 @@ class account_move_line(osv.osv):
|
|||
for line in self.browse(cr, uid, ids, context=context):
|
||||
err_msg = _('Move name (id): %s (%s)') % (line.move_id.name, str(line.move_id.id))
|
||||
if line.move_id.state <> 'draft' and (not line.journal_id.entry_posted):
|
||||
raise osv.except_osv(_('Error !'), _('You can not do this modification on a confirmed entry ! Please note that you can just change some non important fields ! \n%s') % err_msg)
|
||||
raise osv.except_osv(_('Error !'), _('You can not do this modification on a confirmed entry! You can just change some non legal fields or you must unconfirm the journal entry first! \n%s') % err_msg)
|
||||
if line.reconcile_id:
|
||||
raise osv.except_osv(_('Error !'), _('You can not do this modification on a reconciled entry ! Please note that you can just change some non important fields ! \n%s') % err_msg)
|
||||
raise osv.except_osv(_('Error !'), _('You can not do this modification on a reconciled entry! You can just change some non legal fields or you must unreconcile first!\n%s') % err_msg)
|
||||
t = (line.journal_id.id, line.period_id.id)
|
||||
if t not in done:
|
||||
self._update_journal_check(cr, uid, line.journal_id.id, line.period_id.id, context)
|
||||
|
@ -1247,7 +1247,7 @@ class account_move_line(osv.osv):
|
|||
if 'period_id' not in context or not isinstance(context.get('period_id', ''), (int, long)):
|
||||
period_candidate_ids = self.pool.get('account.period').name_search(cr, uid, name=context.get('period_id',''))
|
||||
if len(period_candidate_ids) != 1:
|
||||
raise osv.except_osv(_('Encoding error'), _('No period found or period given is ambigous.'))
|
||||
raise osv.except_osv(_('Encoding error'), _('No period found or more than one period found for the given date.'))
|
||||
context['period_id'] = period_candidate_ids[0][0]
|
||||
if not context.get('journal_id', False) and context.get('search_default_journal_id', False):
|
||||
context['journal_id'] = context.get('search_default_journal_id')
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
name="account.invoice"
|
||||
rml="account/report/account_print_invoice.rml"
|
||||
string="Invoices"
|
||||
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/',''))"
|
||||
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')"
|
||||
usage="default"
|
||||
multi="True"/>
|
||||
<report id="account_transfers" model="account.transfer" name="account.transfer" string="Transfers" xml="account/report/transfer.xml" xsl="account/report/transfer.xsl"/>
|
||||
|
|
|
@ -2451,7 +2451,8 @@
|
|||
<field name ="seq_journal" groups="base.group_extended"/>
|
||||
<field name="sale_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
|
||||
<field name="purchase_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
|
||||
<field name ="sale_tax_rate" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
|
||||
<newline/>
|
||||
<field name ="sale_tax_rate" attrs="{'invisible': [('complete_tax_set', '=', True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
|
||||
<field name ="purchase_tax_rate" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
|
||||
<field name ="complete_tax_set" invisible="1"/>
|
||||
<newline/> <!-- extended view because the web UI is not good for one2many -->
|
||||
|
|
|
@ -382,6 +382,7 @@
|
|||
<field name="property_account_income_opening" ref="conf_o_income"/>
|
||||
<field name="property_account_expense_opening" ref="conf_o_expense"/>
|
||||
<field name="property_reserve_and_surplus_account" ref="conf_a_reserve_and_surplus"/>
|
||||
<field name="complete_tax_set" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- VAT Codes -->
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
<record id="demo_invoice_0" model="account.invoice">
|
||||
<field name="date_due">2011-07-21</field>
|
||||
<field name="date_due" eval="time.strftime('%Y')+'-01-30'"/>
|
||||
<field name="payment_term" ref="account.account_payment_term"/>
|
||||
<field name="journal_id" ref="account.refund_expenses_journal"/>
|
||||
<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"/>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<field name="type">in_invoice</field>
|
||||
<field name="account_id" ref="account.a_pay"/>
|
||||
<field eval="0" name="reconciled"/>
|
||||
<field name="date_invoice">2011-06-01</field>
|
||||
<field name="date_invoice" eval="time.strftime('%Y')+'-01-01'"/>
|
||||
<field eval="14.0" name="amount_untaxed"/>
|
||||
<field eval="14.0" name="amount_total"/>
|
||||
<field name="partner_id" ref="base.res_partner_maxtor"/>
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-12-23 09:55+0000\n"
|
||||
"PO-Revision-Date: 2011-11-07 12:46+0000\n"
|
||||
"PO-Revision-Date: 2012-01-01 15:01+0000\n"
|
||||
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
|
||||
"Language-Team: Czech <cs@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: 2011-12-24 05:44+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-01-02 05:01+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
|
@ -2669,7 +2669,7 @@ msgstr ""
|
|||
#: model:ir.actions.server,name:account.ir_actions_server_action_wizard_multi_chart
|
||||
#: model:ir.ui.menu,name:account.menu_act_ir_actions_bleble
|
||||
msgid "New Company Financial Setting"
|
||||
msgstr "Nové finananční nastavení společnosti"
|
||||
msgstr "Nové finanční nastavení společnosti"
|
||||
|
||||
#. module: account
|
||||
#: view:account.installer:0
|
||||
|
|
|
@ -8,35 +8,35 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-23 09:55+0000\n"
|
||||
"PO-Revision-Date: 2011-06-06 18:06+0000\n"
|
||||
"Last-Translator: Hector Rojas (doingIT.cl) <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-30 18:55+0000\n"
|
||||
"Last-Translator: doingit translator <Unknown>\n"
|
||||
"Language-Team: Spanish (Chile) <es_CL@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: 2011-12-24 05:51+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-31 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
#: view:analytic.entries.report:0
|
||||
msgid "last month"
|
||||
msgstr ""
|
||||
msgstr "el mes pasado"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
msgid "System payment"
|
||||
msgstr ""
|
||||
msgstr "Sistema de pagos"
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
msgid "Other Configuration"
|
||||
msgstr ""
|
||||
msgstr "Otra configuración"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.reconcile:0
|
||||
msgid "Journal Entry Reconcile"
|
||||
msgstr "Conciliar asiento contable"
|
||||
msgstr "entrada de revista conciliable"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
|
@ -44,12 +44,12 @@ msgstr "Conciliar asiento contable"
|
|||
#: view:account.move:0
|
||||
#: view:account.move.line:0
|
||||
msgid "Account Statistics"
|
||||
msgstr ""
|
||||
msgstr "cuentas estadisticas"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Proforma/Open/Paid Invoices"
|
||||
msgstr ""
|
||||
msgstr "sistema de pagos"
|
||||
|
||||
#. module: account
|
||||
#: field:report.invoice.created,residual:0
|
||||
|
@ -60,32 +60,32 @@ msgstr "Pendiente"
|
|||
#: code:addons/account/account_invoice.py:805
|
||||
#, python-format
|
||||
msgid "Please define sequence on invoice journal"
|
||||
msgstr ""
|
||||
msgstr "Defina una secuencia en el diario de la factura"
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.period:0
|
||||
msgid "Error ! The duration of the Period(s) is/are invalid. "
|
||||
msgstr ""
|
||||
msgstr "¡Error! La duración de el/los período(s) no es válida. "
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,currency_id:0
|
||||
msgid "Account currency"
|
||||
msgstr ""
|
||||
msgstr "Moneda contable"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
msgid "Children Definition"
|
||||
msgstr ""
|
||||
msgstr "definicion de los niños"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_report_aged_receivable
|
||||
msgid "Aged Receivable Till Today"
|
||||
msgstr "A cobrar vencidos hasta hoy"
|
||||
msgstr "edad aceptable hasta hoy"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_invoiceimport0
|
||||
msgid "Import from invoice or payment"
|
||||
msgstr ""
|
||||
msgstr "Importar desde factura o pago"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
|
||||
|
@ -95,7 +95,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.move:0
|
||||
msgid "Total Debit"
|
||||
msgstr ""
|
||||
msgstr "Total debe"
|
||||
|
||||
#. module: account
|
||||
#: view:account.unreconcile:0
|
||||
|
@ -104,7 +104,7 @@ msgid ""
|
|||
"that are linked to those transactions because they will not be disabled"
|
||||
msgstr ""
|
||||
"Si rompe la conciliación de transacciones, también debe verificar todas la "
|
||||
"acciones que están relacionadas con esas transacciones porque no serán "
|
||||
"acciones que están relacionadas con esas transacciones porqué no serán "
|
||||
"deshabilitadas."
|
||||
|
||||
#. module: account
|
||||
|
@ -113,6 +113,8 @@ msgid ""
|
|||
"Configuration error! The currency chosen should be shared by the default "
|
||||
"accounts too."
|
||||
msgstr ""
|
||||
"error de configuracion¡ la moneda elegida debe ser compartida con las "
|
||||
"cuentas defectuosas tambien."
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
|
@ -142,7 +144,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.open.closed.fiscalyear:0
|
||||
msgid "Choose Fiscal Year "
|
||||
msgstr ""
|
||||
msgstr "Seleccione el ejercicio fiscal "
|
||||
|
||||
#. module: account
|
||||
#: help:account.payment.term,active:0
|
||||
|
@ -150,45 +152,47 @@ msgid ""
|
|||
"If the active field is set to False, it will allow you to hide the payment "
|
||||
"term without removing it."
|
||||
msgstr ""
|
||||
"Si el campo activo se desmarca, permite ocultar el plazo de pago sin "
|
||||
"eliminarlo."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1423
|
||||
#, python-format
|
||||
msgid "Warning!"
|
||||
msgstr "¡Advertencia!"
|
||||
msgstr "¡Atención!"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:3182
|
||||
#, python-format
|
||||
msgid "Miscellaneous Journal"
|
||||
msgstr ""
|
||||
msgstr "diario miscelaneo"
|
||||
|
||||
#. module: account
|
||||
#: field:account.fiscal.position.account,account_src_id:0
|
||||
#: field:account.fiscal.position.account.template,account_src_id:0
|
||||
msgid "Account Source"
|
||||
msgstr ""
|
||||
msgstr "fuente de la cuenta"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
|
||||
msgid "All Analytic Entries"
|
||||
msgstr ""
|
||||
msgstr "todas las entradas analiticas"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
|
||||
msgid "Invoices Created Within Past 15 Days"
|
||||
msgstr ""
|
||||
msgstr "Facturas creadas en los últimos 15 días"
|
||||
|
||||
#. module: account
|
||||
#: field:accounting.report,label_filter:0
|
||||
msgid "Column Label"
|
||||
msgstr ""
|
||||
msgstr "etuquetas en la columnas"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_move_journal.py:95
|
||||
#, python-format
|
||||
msgid "Journal: %s"
|
||||
msgstr ""
|
||||
msgstr "Diario: %s"
|
||||
|
||||
#. module: account
|
||||
#: help:account.analytic.journal,type:0
|
||||
|
@ -197,22 +201,25 @@ msgid ""
|
|||
"invoice) to create analytic entries, OpenERP will look for a matching "
|
||||
"journal of the same type."
|
||||
msgstr ""
|
||||
"Indica el tipo de diario analítico. Cuando se necesita para un documento "
|
||||
"(por ej. una factura) para crear asientos analíticos, OpenERP buscará un "
|
||||
"diario coincidente del mismo tipo."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_tax_template_form
|
||||
msgid "Tax Templates"
|
||||
msgstr ""
|
||||
msgstr "plantillas de impuestos"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax
|
||||
msgid "account.tax"
|
||||
msgstr "account.tax"
|
||||
msgstr "impuesto de contabilidad"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_line_reconcile_select
|
||||
msgid "Move line reconcile select"
|
||||
msgstr ""
|
||||
msgstr "Seleccionar conciliación línea movimiento"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.code,notprintable:0
|
||||
|
@ -221,28 +228,31 @@ msgid ""
|
|||
"Check this box if you don't want any VAT related to this Tax Code to appear "
|
||||
"on invoices"
|
||||
msgstr ""
|
||||
"Marque esta opción si desea que no aparezca en las facturas ningún IVA "
|
||||
"relacionado con este código de impuesto."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1236
|
||||
#, python-format
|
||||
msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)"
|
||||
msgstr ""
|
||||
"La factura '%s' está parcialmente pagada: %s%s de %s%s (%s%s pendiente)"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_supplierentriesreconcile0
|
||||
msgid "Accounting entries are an input of the reconciliation."
|
||||
msgstr ""
|
||||
msgstr "Los asientos contables son una entrada de la conciliación."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports
|
||||
msgid "Belgian Reports"
|
||||
msgstr ""
|
||||
msgstr "Informes Belgas"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1199
|
||||
#, python-format
|
||||
msgid "You can not add/modify entries in a closed journal."
|
||||
msgstr ""
|
||||
msgstr "no ´puede añadir o modificcar entradas en un diario cerrado"
|
||||
|
||||
#. module: account
|
||||
#: help:account.account,user_type:0
|
||||
|
@ -251,6 +261,9 @@ msgid ""
|
|||
"legal reports, and set the rules to close a fiscal year and generate opening "
|
||||
"entries."
|
||||
msgstr ""
|
||||
"este tipo de cuenta es usado con propositos informativos, para generar "
|
||||
"reportes especificos del pais, y una serie de reglar para cerrar el año "
|
||||
"fiscal y generar entradas"
|
||||
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
|
@ -262,7 +275,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:account.action_view_account_use_model
|
||||
#: model:ir.ui.menu,name:account.menu_action_manual_recurring
|
||||
msgid "Manual Recurring"
|
||||
msgstr ""
|
||||
msgstr "manual al cual recurrir"
|
||||
|
||||
#. module: account
|
||||
#: view:account.fiscalyear.close.state:0
|
||||
|
@ -379,7 +392,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.open.closed.fiscalyear,fyear_id:0
|
||||
msgid "Fiscal Year to Open"
|
||||
msgstr ""
|
||||
msgstr "año fiscal para abrir"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal,sequence_id:0
|
||||
|
@ -401,7 +414,7 @@ msgstr "Total crédito"
|
|||
#. module: account
|
||||
#: view:account.move.line.unreconcile.select:0
|
||||
msgid "Open For Unreconciliation"
|
||||
msgstr ""
|
||||
msgstr "abrierto para reconciliacion"
|
||||
|
||||
#. module: account
|
||||
#: field:account.account.template,chart_template_id:0
|
||||
|
@ -419,7 +432,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:accounting.report,enable_filter:0
|
||||
msgid "Enable Comparison"
|
||||
msgstr ""
|
||||
msgstr "comparacion no disponible"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal.period,state:0
|
||||
|
@ -470,12 +483,12 @@ msgstr ""
|
|||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_invoice_confirm
|
||||
msgid "Confirm the selected invoices"
|
||||
msgstr ""
|
||||
msgstr "Confirmar las facturas seleccionadas"
|
||||
|
||||
#. module: account
|
||||
#: field:account.addtmpl.wizard,cparent_id:0
|
||||
msgid "Parent target"
|
||||
msgstr ""
|
||||
msgstr "Destino padre"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement,account_id:0
|
||||
|
@ -503,7 +516,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: sql_constraint:res.company:0
|
||||
msgid "The company name must be unique !"
|
||||
msgstr ""
|
||||
msgstr "el nombre de la compañia debe ser unico"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_invoice_refund
|
||||
|
@ -561,7 +574,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: selection:account.installer,period:0
|
||||
msgid "3 Monthly"
|
||||
msgstr ""
|
||||
msgstr "cada tres meses"
|
||||
|
||||
#. module: account
|
||||
#: view:account.unreconcile.reconcile:0
|
||||
|
@ -584,7 +597,7 @@ msgstr ""
|
|||
#: field:account.financial.report,account_report_id:0
|
||||
#: selection:account.financial.report,type:0
|
||||
msgid "Report Value"
|
||||
msgstr ""
|
||||
msgstr "valor reportado"
|
||||
|
||||
#. module: account
|
||||
#: view:account.entries.report:0
|
||||
|
|
|
@ -10,20 +10,21 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-23 09:55+0000\n"
|
||||
"PO-Revision-Date: 2011-01-18 05:33+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
|
||||
"PO-Revision-Date: 2011-12-31 16:16+0000\n"
|
||||
"Last-Translator: Christopher Ormaza - (Ecuadorenlinea.net) "
|
||||
"<chris.ormaza@gmail.com>\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: 2011-12-24 05:52+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-01-01 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
#: view:analytic.entries.report:0
|
||||
msgid "last month"
|
||||
msgstr ""
|
||||
msgstr "último mes"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -51,7 +52,7 @@ msgstr "Estadísticas de cuentas"
|
|||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Proforma/Open/Paid Invoices"
|
||||
msgstr ""
|
||||
msgstr "Facturas en estado Proforma/Abierta/Pagada"
|
||||
|
||||
#. module: account
|
||||
#: field:report.invoice.created,residual:0
|
||||
|
@ -114,6 +115,8 @@ msgid ""
|
|||
"Configuration error! The currency chosen should be shared by the default "
|
||||
"accounts too."
|
||||
msgstr ""
|
||||
"Error de Configuración! La moneda seleccionada debe ser compartida por las "
|
||||
"cuentas por defecto tambíen"
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
|
@ -164,7 +167,7 @@ msgstr "Aviso!"
|
|||
#: code:addons/account/account.py:3182
|
||||
#, python-format
|
||||
msgid "Miscellaneous Journal"
|
||||
msgstr ""
|
||||
msgstr "Diario General"
|
||||
|
||||
#. module: account
|
||||
#: field:account.fiscal.position.account,account_src_id:0
|
||||
|
@ -185,7 +188,7 @@ msgstr "Facturas creadas en los últimos 15 días"
|
|||
#. module: account
|
||||
#: field:accounting.report,label_filter:0
|
||||
msgid "Column Label"
|
||||
msgstr ""
|
||||
msgstr "Etiqueta de Columna"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_move_journal.py:95
|
||||
|
@ -259,6 +262,9 @@ msgid ""
|
|||
"legal reports, and set the rules to close a fiscal year and generate opening "
|
||||
"entries."
|
||||
msgstr ""
|
||||
"Tipo de Cuenta es usado para información, para generar reportes legales "
|
||||
"específicos por país, y asignar las reglas para el cierre de ejercicio "
|
||||
"fiscal y generar los asiento de apertura"
|
||||
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
|
@ -438,7 +444,7 @@ msgstr "El importe expresado en otra divisa opcional."
|
|||
#. module: account
|
||||
#: field:accounting.report,enable_filter:0
|
||||
msgid "Enable Comparison"
|
||||
msgstr ""
|
||||
msgstr "Comparación habilitada"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal.period,state:0
|
||||
|
@ -529,7 +535,7 @@ msgstr "Seleccionar Plan de Cuentas"
|
|||
#. module: account
|
||||
#: sql_constraint:res.company:0
|
||||
msgid "The company name must be unique !"
|
||||
msgstr ""
|
||||
msgstr "¡El nombre de la compañía debe ser único!"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_invoice_refund
|
||||
|
@ -617,7 +623,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.entries.report:0
|
||||
msgid "Journal Entries with period in current year"
|
||||
msgstr ""
|
||||
msgstr "Asientos de Diario con período en el año actual"
|
||||
|
||||
#. module: account
|
||||
#: report:account.central.journal:0
|
||||
|
@ -633,7 +639,7 @@ msgstr "La secuencia principal debe ser diferente de la actual!"
|
|||
#: code:addons/account/account.py:3376
|
||||
#, python-format
|
||||
msgid "TAX-S-%s"
|
||||
msgstr ""
|
||||
msgstr "Impuesto-S-%s"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,tax_amount:0
|
||||
|
@ -716,12 +722,12 @@ msgstr "Empresas conciliadas hoy"
|
|||
#. module: account
|
||||
#: view:report.hr.timesheet.invoice.journal:0
|
||||
msgid "Sale journal in this year"
|
||||
msgstr ""
|
||||
msgstr "Diario de Ventas en este año"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.financial.report,display_detail:0
|
||||
msgid "Display children with hierarchy"
|
||||
msgstr ""
|
||||
msgstr "Mostrar los hijos con herencia"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.payment.term.line,value:0
|
||||
|
@ -743,7 +749,7 @@ msgstr "Asientos analiticos por línea"
|
|||
#. module: account
|
||||
#: field:account.invoice.refund,filter_refund:0
|
||||
msgid "Refund Method"
|
||||
msgstr ""
|
||||
msgstr "Metodo de Devolución"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_change_currency.py:38
|
||||
|
@ -754,7 +760,7 @@ msgstr "You can only change currency for Draft Invoice !"
|
|||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_account_report
|
||||
msgid "Financial Report"
|
||||
msgstr ""
|
||||
msgstr "Reporte Financiero"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.journal:0
|
||||
|
@ -784,7 +790,7 @@ msgstr "La referencia de la empresa de esta factura."
|
|||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
msgid "Supplier Invoices And Refunds"
|
||||
msgstr ""
|
||||
msgstr "Factura de Proveedor y Facturas Rectificativas"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.line.unreconcile.select:0
|
||||
|
@ -813,7 +819,7 @@ msgstr "Conciliación Automatica"
|
|||
#: code:addons/account/account_move_line.py:1250
|
||||
#, python-format
|
||||
msgid "No period found or period given is ambigous."
|
||||
msgstr ""
|
||||
msgstr "No se encontró período o el período dado es ambiguo"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_gain_loss
|
||||
|
@ -823,6 +829,11 @@ msgid ""
|
|||
"or Loss you'd realized if those transactions were ended today. Only for "
|
||||
"accounts having a secondary currency set."
|
||||
msgstr ""
|
||||
"Cuando hace transacciones multi-moneda, usted puede perder o ganar algún "
|
||||
"monto por los cambios de tazas. Este menú le da a usted un pronóstico de las "
|
||||
"Pérdidas y Ganancias que usted obtendrá si estas transacciones son "
|
||||
"finalizadas hoy. Solo para las cuentas que tienen una moneda secundaria "
|
||||
"asignada"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.entries.report,month:0
|
||||
|
@ -868,7 +879,7 @@ msgstr "Cálculo"
|
|||
#. module: account
|
||||
#: selection:account.invoice.refund,filter_refund:0
|
||||
msgid "Cancel: refund invoice and reconcile"
|
||||
msgstr ""
|
||||
msgstr "Cancelar: Rectificara la Factura y la Reconciliara"
|
||||
|
||||
#. module: account
|
||||
#: field:account.cashbox.line,pieces:0
|
||||
|
@ -966,7 +977,7 @@ msgstr ""
|
|||
#: code:addons/account/account.py:2578
|
||||
#, python-format
|
||||
msgid "I can not locate a parent code for the template account!"
|
||||
msgstr ""
|
||||
msgstr "No es posible localizar un código padre para la plantilla de cuenta"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
|
@ -1042,11 +1053,13 @@ msgid ""
|
|||
"You cannot change the type of account from '%s' to '%s' type as it contains "
|
||||
"journal items!"
|
||||
msgstr ""
|
||||
"Usted no puede cambiar el tipo de cuenta de '%s' a '%s' si esta ya ha sido "
|
||||
"usada en movimientos contables"
|
||||
|
||||
#. module: account
|
||||
#: field:account.report.general.ledger,sortby:0
|
||||
msgid "Sort by"
|
||||
msgstr ""
|
||||
msgstr "Ordenar por"
|
||||
|
||||
#. module: account
|
||||
#: help:account.fiscalyear.close,fy_id:0
|
||||
|
@ -1067,7 +1080,7 @@ msgstr ""
|
|||
#, python-format
|
||||
msgid ""
|
||||
"You have to provide an account for the write off/exchange difference entry !"
|
||||
msgstr ""
|
||||
msgstr "Usted tiene que configurar una cuenta para el asiento de descuadre"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
|
@ -1106,7 +1119,7 @@ msgstr "Generar asientos antes:"
|
|||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Unbalanced Journal Items"
|
||||
msgstr ""
|
||||
msgstr "Elementos de Diario Descuadrados"
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.data_account_type_bank
|
||||
|
@ -1130,6 +1143,8 @@ msgid ""
|
|||
"Total amount (in Secondary currency) for transactions held in secondary "
|
||||
"currency for this account."
|
||||
msgstr ""
|
||||
"El monto total(En la moneda secundaria) para las transacciones en moneda "
|
||||
"secundaria para esta cuenta"
|
||||
|
||||
#. module: account
|
||||
#: field:account.fiscal.position.tax,tax_dest_id:0
|
||||
|
@ -1145,7 +1160,7 @@ msgstr "Centralización del haber"
|
|||
#. module: account
|
||||
#: view:report.account_type.sales:0
|
||||
msgid "All Months Sales by type"
|
||||
msgstr ""
|
||||
msgstr "Todas las ventas del mes por tipo"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_invoice_tree2
|
||||
|
@ -1174,12 +1189,12 @@ msgstr "Cancelar Facturas"
|
|||
#. module: account
|
||||
#: help:account.journal,code:0
|
||||
msgid "The code will be displayed on reports."
|
||||
msgstr ""
|
||||
msgstr "El código debe ser mostrado en los reportes"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax.template:0
|
||||
msgid "Taxes used in Purchases"
|
||||
msgstr ""
|
||||
msgstr "Impuestos usados en las compras"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,tax_code_id:0
|
||||
|
@ -1211,6 +1226,8 @@ msgid ""
|
|||
"You can not use this general account in this journal, check the tab 'Entry "
|
||||
"Controls' on the related journal !"
|
||||
msgstr ""
|
||||
"Usted no puede usar esta cuenta general en este diario, verifique en la "
|
||||
"pestaña 'Controles de Asiento' en el diario relacionado!"
|
||||
|
||||
#. module: account
|
||||
#: field:account.move.line.reconcile,trans_nbr:0
|
||||
|
@ -1246,7 +1263,7 @@ msgstr "Otros"
|
|||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
msgid "Draft Subscription"
|
||||
msgstr ""
|
||||
msgstr "Suscripción en Borrador"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
|
@ -1319,7 +1336,7 @@ msgstr "Seleccione un período de inicio y fin"
|
|||
#. module: account
|
||||
#: model:account.financial.report,name:account.account_financial_report_profitandloss0
|
||||
msgid "Profit and Loss"
|
||||
msgstr ""
|
||||
msgstr "Pérdidas y Ganancias"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_account_template
|
||||
|
@ -1474,6 +1491,8 @@ msgid ""
|
|||
"By unchecking the active field, you may hide a fiscal position without "
|
||||
"deleting it."
|
||||
msgstr ""
|
||||
"De seleccionando el campo Activo, usted puede ocultar la posición fiscal sin "
|
||||
"borrarla"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_temp_range
|
||||
|
@ -1551,7 +1570,7 @@ msgstr "Buscar Extractos Bancarios"
|
|||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Unposted Journal Items"
|
||||
msgstr ""
|
||||
msgstr "Asiento de Diario no Asentados"
|
||||
|
||||
#. module: account
|
||||
#: view:account.chart.template:0
|
||||
|
@ -1622,6 +1641,8 @@ msgid ""
|
|||
"You can not validate a journal entry unless all journal items belongs to the "
|
||||
"same chart of accounts !"
|
||||
msgstr ""
|
||||
"Usted no puede validar el asiento de diario si los asientos no pertenecen al "
|
||||
"mismo plan contable!"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_analytic0
|
||||
|
@ -1701,7 +1722,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Pending Accounts"
|
||||
msgstr ""
|
||||
msgstr "Cuentas Pendientes"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:835
|
||||
|
@ -1796,7 +1817,7 @@ msgstr "Usted no puede crear la línea de avanzar en cuenta cerrada."
|
|||
#: code:addons/account/account.py:428
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Error!"
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:account.move.line:0
|
||||
|
@ -1828,7 +1849,7 @@ msgstr "Asientos por linea"
|
|||
#. module: account
|
||||
#: field:account.vat.declaration,based_on:0
|
||||
msgid "Based on"
|
||||
msgstr ""
|
||||
msgstr "Basado en"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,move_id:0
|
||||
|
@ -1900,6 +1921,9 @@ msgid ""
|
|||
"will be added, Loss : Amount will be deducted.), as calculated in Profit & "
|
||||
"Loss Report"
|
||||
msgstr ""
|
||||
"Esta cuenta es usada para transferir las Pérdidas y Ganancias(Si esta es "
|
||||
"Ganancia: El monto sera sumado, Pérdida: El monto sera reducido), calculada "
|
||||
"en el reporte de Pérdidas y Ganancias"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_reconciliation0
|
||||
|
@ -1917,7 +1941,7 @@ msgstr "Definición de Impuesto"
|
|||
#: code:addons/account/account.py:3076
|
||||
#, python-format
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
msgstr "Depósito"
|
||||
|
||||
#. module: account
|
||||
#: help:wizard.multi.charts.accounts,seq_journal:0
|
||||
|
@ -1957,6 +1981,7 @@ msgstr "Imagen"
|
|||
#: model:ir.actions.act_window,help:account.action_account_financial_report_tree
|
||||
msgid "Makes a generic system to draw financial reports easily."
|
||||
msgstr ""
|
||||
"Realiza un sistema genérico para elaborar reportes financieros facilmente"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
|
@ -1976,7 +2001,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
msgid "Analytic Journal Items related to a sale journal."
|
||||
msgstr ""
|
||||
msgstr "Asientos Analíticos relacionados a un diario de ventas"
|
||||
|
||||
#. module: account
|
||||
#: help:account.bank.statement,name:0
|
||||
|
@ -2126,7 +2151,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
msgid "Customer Code"
|
||||
msgstr ""
|
||||
msgstr "Código de Cliente"
|
||||
|
||||
#. module: account
|
||||
#: view:account.installer:0
|
||||
|
@ -2162,7 +2187,7 @@ msgstr "Descripción"
|
|||
#: code:addons/account/account.py:3375
|
||||
#, python-format
|
||||
msgid "Tax Paid at %s"
|
||||
msgstr ""
|
||||
msgstr "Impuestos pagados a %s"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:3189
|
||||
|
@ -2273,7 +2298,7 @@ msgstr "Dejar vacío para todo el ejercicio fiscal"
|
|||
#. module: account
|
||||
#: field:account.invoice.report,account_line_id:0
|
||||
msgid "Account Line"
|
||||
msgstr ""
|
||||
msgstr "Línea de Cuenta"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:1465
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-12-23 09:55+0000\n"
|
||||
"PO-Revision-Date: 2011-11-25 15:24+0000\n"
|
||||
"Last-Translator: Numérigraphe <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-01-02 11:15+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-24 05:45+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
"X-Launchpad-Export-Date: 2012-01-03 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1199
|
||||
|
@ -90,7 +90,7 @@ msgstr ""
|
|||
#: view:account.invoice.report:0
|
||||
#: view:analytic.entries.report:0
|
||||
msgid "last month"
|
||||
msgstr ""
|
||||
msgstr "Le mois dernier"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -326,7 +326,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
msgid "Sub-Total :"
|
||||
msgstr "Sous-Total :"
|
||||
msgstr "Sous-total :"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_use_model_create_entry
|
||||
|
@ -865,7 +865,7 @@ msgstr "Délettrage"
|
|||
#. module: account
|
||||
#: view:account.payment.term.line:0
|
||||
msgid "At 14 net days 2 percent, remaining amount at 30 days end of month."
|
||||
msgstr ""
|
||||
msgstr "2% à 15 jours net, le solde à 30 jours fin de mois"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_analytic_journal_report
|
||||
|
@ -881,7 +881,7 @@ msgstr "Rapprochement automatique"
|
|||
#: code:addons/account/account_move_line.py:1250
|
||||
#, python-format
|
||||
msgid "No period found or period given is ambigous."
|
||||
msgstr ""
|
||||
msgstr "Période fiscale ambigüe ou introuvable."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_gain_loss
|
||||
|
@ -1116,7 +1116,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.report.general.ledger,sortby:0
|
||||
msgid "Sort by"
|
||||
msgstr ""
|
||||
msgstr "Trier par"
|
||||
|
||||
#. module: account
|
||||
#: help:account.fiscalyear.close,fy_id:0
|
||||
|
@ -1391,7 +1391,7 @@ msgstr "Sélectionnez un début et une fin de période"
|
|||
#. module: account
|
||||
#: model:account.financial.report,name:account.account_financial_report_profitandloss0
|
||||
msgid "Profit and Loss"
|
||||
msgstr ""
|
||||
msgstr "Pertes et profits"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_account_template
|
||||
|
@ -1520,7 +1520,7 @@ msgstr "Sauter l'état \"Brouillon\" pour les écritures manuelles"
|
|||
#: view:account.invoice.report:0
|
||||
#: field:account.invoice.report,price_total:0
|
||||
msgid "Total Without Tax"
|
||||
msgstr "Total hors taxe"
|
||||
msgstr "Total HT"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_move_journal_line
|
||||
|
@ -1744,7 +1744,7 @@ msgstr "Partenaire inconnu"
|
|||
#. module: account
|
||||
#: field:account.tax.code,sum:0
|
||||
msgid "Year Sum"
|
||||
msgstr "Montant total de l'exercice"
|
||||
msgstr "Total de l'exercice"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1424
|
||||
|
@ -1866,7 +1866,7 @@ msgstr "Impossible de créer une ligne d'écriture sur un compte clôturé"
|
|||
#: code:addons/account/account.py:428
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
msgstr "Erreur !"
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:account.move.line:0
|
||||
|
@ -1898,7 +1898,7 @@ msgstr "Écritures par ligne"
|
|||
#. module: account
|
||||
#: field:account.vat.declaration,based_on:0
|
||||
msgid "Based on"
|
||||
msgstr ""
|
||||
msgstr "Basée sur"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,move_id:0
|
||||
|
@ -1987,7 +1987,7 @@ msgstr "Définition de la taxe"
|
|||
#: code:addons/account/account.py:3076
|
||||
#, python-format
|
||||
msgid "Deposit"
|
||||
msgstr ""
|
||||
msgstr "Dépôt"
|
||||
|
||||
#. module: account
|
||||
#: help:wizard.multi.charts.accounts,seq_journal:0
|
||||
|
@ -2195,7 +2195,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
msgid "Customer Code"
|
||||
msgstr ""
|
||||
msgstr "Code Client"
|
||||
|
||||
#. module: account
|
||||
#: view:account.installer:0
|
||||
|
@ -2773,7 +2773,7 @@ msgstr "Écritures comptables"
|
|||
#. module: account
|
||||
#: field:account.invoice,reference_type:0
|
||||
msgid "Communication Type"
|
||||
msgstr ""
|
||||
msgstr "Type de communication"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.line,discount:0
|
||||
|
@ -3116,7 +3116,7 @@ msgstr "Toujours"
|
|||
#: view:account.invoice.report:0
|
||||
#: view:analytic.entries.report:0
|
||||
msgid "Month-1"
|
||||
msgstr ""
|
||||
msgstr "Mois -1"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
|
@ -7303,7 +7303,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: help:res.partner,credit:0
|
||||
msgid "Total amount this customer owes you."
|
||||
msgstr "Montant Total que ce client vous doit."
|
||||
msgstr "Montant total que ce client vous doit."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_ir_sequence
|
||||
|
@ -7626,7 +7626,7 @@ msgstr "Taxe"
|
|||
#: code:addons/account/account_move_line.py:1276
|
||||
#, python-format
|
||||
msgid "No piece number !"
|
||||
msgstr "Pas de Numéro de Pièce !"
|
||||
msgstr "Pas de numéro de pièce !"
|
||||
|
||||
#. module: account
|
||||
#: view:account.financial.report:0
|
||||
|
@ -7898,7 +7898,7 @@ msgstr "Rapports officiels"
|
|||
#. module: account
|
||||
#: field:account.tax.code,sum_period:0
|
||||
msgid "Period Sum"
|
||||
msgstr "Montant total de la période"
|
||||
msgstr "Total de la période"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax,sequence:0
|
||||
|
@ -9645,7 +9645,7 @@ msgstr "Non-rapprochée"
|
|||
#: code:addons/account/account_invoice.py:824
|
||||
#, python-format
|
||||
msgid "Bad total !"
|
||||
msgstr "Mauvais montant !"
|
||||
msgstr "Total incorrect !"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,sequence_id:0
|
||||
|
@ -10176,7 +10176,7 @@ msgid ""
|
|||
"reconciliation process today. The current partner is counted as already "
|
||||
"processed."
|
||||
msgstr ""
|
||||
"Ce nombre représente le nombre total de partenaires qui sont passés au "
|
||||
"Ce chiffre représente le nombre total de partenaires qui sont passés au "
|
||||
"travers du processus de rapprochement aujourd'hui. Le partenaire actuel est "
|
||||
"considéré comme déjà traité."
|
||||
|
||||
|
@ -10221,7 +10221,7 @@ msgstr "Lignes de facture"
|
|||
#. module: account
|
||||
#: field:account.chart,period_to:0
|
||||
msgid "End period"
|
||||
msgstr "Clôturer la période"
|
||||
msgstr "Fin de période"
|
||||
|
||||
#. module: account
|
||||
#: sql_constraint:account.journal:0
|
||||
|
@ -10848,9 +10848,9 @@ msgstr ""
|
|||
"Créer et gérer les comptes dont vous avez besoin pour enregistrer les pièces "
|
||||
"comptables. Un compte fait partie du grand livre permettant à votre société "
|
||||
"d'enregistrer tout type de transaction de débit ou de crédit. Les sociétés "
|
||||
"présentent leurs comptes annuels en 2 parties : le bilan et le rapport des "
|
||||
"comptes de résultat. Les comptes annuels d'une société sont légalement tenus "
|
||||
"de mentionner un minimum d'information. Ils doivent être certifiés par un "
|
||||
"présentent leurs comptes annuels en 2 parties : le bilan et le compte de "
|
||||
"résultat. Les comptes annuels d'une société sont légalement tenus de "
|
||||
"mentionner un minimum d'informations. Ils doivent être certifiés par un "
|
||||
"auditeur externe annuellement."
|
||||
|
||||
#. module: account
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<field name="type">tree</field>
|
||||
<field name="field_parent">child_complete_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="red:state=='pending';grey:state in ('close','cancelled');blue:type=='view'" string="Analytic account" toolbar="1">
|
||||
<tree colors="blue:state=='pending';grey:state in ('close','cancelled');blue:type=='view'" string="Analytic account" toolbar="1">
|
||||
<field name="name"/>
|
||||
<field name="code" groups="base.group_extended"/>
|
||||
<field name="quantity"/>
|
||||
|
|
|
@ -1,13 +1,23 @@
|
|||
|
||||
-
|
||||
In order to test close period wizard I create a period then close it and checked it's state
|
||||
In order to test close period wizard I first create a dummy fiscal year in the past to avoid conflicts related to closed periods
|
||||
-
|
||||
!record {model: account.fiscalyear, id: data_fiscalyear_minus1}:
|
||||
company_id: base.main_company
|
||||
date_start: !eval "'%s-01-01' %(datetime.now().year-1)"
|
||||
date_stop: !eval "'%s-12-31' %(datetime.now().year-1)"
|
||||
name: !eval "'Fiscal Year X %s' %(datetime.now().year-1)"
|
||||
code: !eval "'FY%s' %(datetime.now().year-1)"
|
||||
|
||||
-
|
||||
I create a period then close it and checked it's state
|
||||
-
|
||||
!record {model: account.period, id: account_period_jan0}:
|
||||
company_id: base.main_company
|
||||
date_start: !eval "'%s-01-01' %(datetime.now().year)"
|
||||
date_stop: !eval "'%s-01-31' %(datetime.now().year)"
|
||||
fiscalyear_id: account.data_fiscalyear
|
||||
name: !eval "'Jan-%s' %(datetime.now().year)"
|
||||
date_start: !eval "'%s-01-01' %(datetime.now().year-1)"
|
||||
date_stop: !eval "'%s-01-31' %(datetime.now().year-1)"
|
||||
fiscalyear_id: data_fiscalyear_minus1
|
||||
name: !eval "'Jan-%s' %(datetime.now().year-1)"
|
||||
special: 1
|
||||
|
||||
-
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
address_invoice_id: base.res_partner_address_8invoice
|
||||
company_id: 1
|
||||
account_id: account.a_pay
|
||||
date_invoice: '2011-06-22'
|
||||
date_invoice: !eval "'%s' % (time.strftime('%Y-%m-%d'))"
|
||||
name: selling product
|
||||
type: 'out_invoice'
|
||||
invoice_line:
|
||||
|
@ -48,12 +48,13 @@
|
|||
Then I import a sample EDI document of another customer invoice
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
import time
|
||||
edi_document = {
|
||||
"__id": "account:b22acf7a-ddcd-11e0-a4db-701a04e25543.random_invoice_763jsms",
|
||||
"__module": "account",
|
||||
"__model": "account.invoice",
|
||||
"__version": [6,1,0],
|
||||
"internal_number": "SAJ/2011/002",
|
||||
"internal_number": time.strftime("SAJ/%Y/002"),
|
||||
"company_address": {
|
||||
"__id": "base:b22acf7a-ddcd-11e0-a4db-701a04e25543.main_address",
|
||||
"__module": "base",
|
||||
|
@ -86,7 +87,7 @@
|
|||
"zip": "1367",
|
||||
"country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"],
|
||||
},
|
||||
"date_invoice": "2011-06-22",
|
||||
"date_invoice": time.strftime('%Y-%m-%d'),
|
||||
"name": "sample invoice",
|
||||
"tax_line": [{
|
||||
"__id": "account:b22acf7a-ddcd-11e0-a4db-701a04e25543.account_invoice_tax-4g4EutbiEMVl",
|
||||
|
@ -128,7 +129,7 @@
|
|||
assert bank_info.acc_number == "Sample bank: 123465789-156113", 'Expected "Sample bank: 123465789-156113", got %s' % bank_info.acc_number
|
||||
|
||||
assert invoice_new.partner_id.supplier, 'Imported Partner is not marked as supplier'
|
||||
assert invoice_new.reference == "SAJ/2011/002", "internal number is not stored in reference"
|
||||
assert invoice_new.reference == time.strftime("SAJ/%Y/002"), "internal number is not stored in reference"
|
||||
assert invoice_new.reference_type == 'none', "reference type is not set to 'none'"
|
||||
assert invoice_new.internal_number == False, "internal number is not reset"
|
||||
assert invoice_new.journal_id.id, "journal id is not selected"
|
||||
|
|
|
@ -34,7 +34,7 @@ class account_automatic_reconcile(osv.osv_memory):
|
|||
'journal_id': fields.many2one('account.journal', 'Journal'),
|
||||
'period_id': fields.many2one('account.period', 'Period'),
|
||||
'max_amount': fields.float('Maximum write-off amount'),
|
||||
'power': fields.selection([(p, str(p)) for p in range(2, 10)], 'Power', required=True, help='Number of partial amounts that can be combined to find a balance point can be chosen as the power of the automatic reconciliation'),
|
||||
'power': fields.selection([(p, str(p)) for p in range(2, 5)], 'Power', required=True, help='Number of partial amounts that can be combined to find a balance point can be chosen as the power of the automatic reconciliation'),
|
||||
'date1': fields.date('Starting Date', required=True),
|
||||
'date2': fields.date('Ending Date', required=True),
|
||||
'reconciled': fields.integer('Reconciled transactions', readonly=True),
|
||||
|
|
|
@ -39,6 +39,7 @@ class accounting_report(osv.osv_memory):
|
|||
}
|
||||
|
||||
def _get_account_report(self, cr, uid, context=None):
|
||||
# TODO deprecate this it doesnt work in web
|
||||
menu_obj = self.pool.get('ir.ui.menu')
|
||||
report_obj = self.pool.get('account.financial.report')
|
||||
report_ids = []
|
||||
|
|
|
@ -30,6 +30,33 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem parent="account.menu_finance_legal_statement" id="final_accounting_reports" name="Accounting Reports"/>
|
||||
|
||||
<record id="action_account_report_bs" model="ir.actions.act_window">
|
||||
<field name="name">Financial Reports</field>
|
||||
<field name="res_model">accounting.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="accounting_report_view"/>
|
||||
<field name="target">new</field>
|
||||
<field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_balancesheet0')}"/>
|
||||
</record>
|
||||
<menuitem icon="STOCK_PRINT" name="Balance Sheet" action="action_account_report_bs" id="menu_account_report_bs" parent="final_accounting_reports"/>
|
||||
|
||||
<record id="action_account_report_pl" model="ir.actions.act_window">
|
||||
<field name="name">Financial Reports</field>
|
||||
<field name="res_model">accounting.report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="accounting_report_view"/>
|
||||
<field name="target">new</field>
|
||||
<field name="context"></field>
|
||||
<field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_profitandloss0')}"/>
|
||||
</record>
|
||||
<menuitem icon="STOCK_PRINT" name="Profit And Loss" action="action_account_report_pl" id="menu_account_report_pl" parent="final_accounting_reports"/>
|
||||
|
||||
<record id="action_account_report" model="ir.actions.act_window">
|
||||
<field name="name">Financial Reports</field>
|
||||
<field name="res_model">accounting.report</field>
|
||||
|
@ -38,33 +65,8 @@
|
|||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="accounting_report_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
parent="account.menu_finance_legal_statement"
|
||||
id="final_accounting_reports"
|
||||
name="Accounting Reports"/>
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
name="Profit And Loss"
|
||||
action="account.action_account_report"
|
||||
id="menu_account_pl_report"
|
||||
parent="final_accounting_reports"/>
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
name="Balance Sheet"
|
||||
action="account.action_account_report"
|
||||
groups="group_account_user,group_account_manager"
|
||||
id="menu_account_bs_report"
|
||||
parent="final_accounting_reports"/>
|
||||
|
||||
<menuitem icon="STOCK_PRINT"
|
||||
name="Financial Report"
|
||||
action="action_account_report"
|
||||
groups="group_account_user,group_account_manager"
|
||||
id="menu_account_report"
|
||||
parent="final_accounting_reports"
|
||||
sequence="100"/>
|
||||
</record>
|
||||
<menuitem icon="STOCK_PRINT" name="Financial Report" action="action_account_report" id="menu_account_report" parent="final_accounting_reports" sequence="100"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -34,10 +34,10 @@
|
|||
<separator orientation="vertical"/>
|
||||
<field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
|
||||
<field name="partner_id">
|
||||
<filter string="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
|
||||
<filter help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
|
||||
</field>
|
||||
<field name="user_id">
|
||||
<filter string="No Account Manager" domain="[('user_id', '=', False)]" icon="terp-personal-" />
|
||||
<filter help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" />
|
||||
</field>
|
||||
|
||||
</group>
|
||||
|
|
|
@ -380,7 +380,7 @@ class account_invoice(osv.osv):
|
|||
res['analytics_id'] = x.get('analytics_id', False)
|
||||
return res
|
||||
|
||||
def _get_analytic_lines(self, cr, uid, id):
|
||||
def _get_analytic_lines(self, cr, uid, id, context=None):
|
||||
inv = self.browse(cr, uid, [id])[0]
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
invoice_line_obj = self.pool.get('account.invoice.line')
|
||||
|
@ -391,7 +391,7 @@ class account_invoice(osv.osv):
|
|||
else:
|
||||
sign = -1
|
||||
|
||||
iml = invoice_line_obj.move_line_get(cr, uid, inv.id)
|
||||
iml = invoice_line_obj.move_line_get(cr, uid, inv.id, context=context)
|
||||
|
||||
for il in iml:
|
||||
if il.get('analytics_id', False):
|
||||
|
@ -400,8 +400,10 @@ class account_invoice(osv.osv):
|
|||
ref = inv.reference
|
||||
else:
|
||||
ref = self._convert_ref(cr, uid, inv.number)
|
||||
obj_move_line = acct_ins_obj.browse(cr, uid, il['analytics_id'])
|
||||
amount_calc = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, il['price'], context={'date': inv.date_invoice}) * sign
|
||||
obj_move_line = acct_ins_obj.browse(cr, uid, il['analytics_id'], context=context)
|
||||
ctx = context.copy()
|
||||
ctx.update({'date': inv.date_invoice})
|
||||
amount_calc = cur_obj.compute(cr, uid, inv.currency_id.id, company_currency, il['price'], context=ctx) * sign
|
||||
qty = il['quantity']
|
||||
il['analytic_lines'] = []
|
||||
for line2 in obj_move_line.account_ids:
|
||||
|
|
|
@ -116,7 +116,7 @@ class crossovered_budget_lines(osv.osv):
|
|||
for line in self.browse(cr, uid, ids, context=context):
|
||||
acc_ids = [x.id for x in line.general_budget_id.account_ids]
|
||||
if not acc_ids:
|
||||
raise osv.except_osv(_('Error!'),_("The General Budget '%s' has no Accounts!") % str(line.general_budget_id.name))
|
||||
raise osv.except_osv(_('Error!'),_("The Budget '%s' has no accounts!") % str(line.general_budget_id.name))
|
||||
date_to = line.date_to
|
||||
date_from = line.date_from
|
||||
if context.has_key('wizard_date_from'):
|
||||
|
|
|
@ -14,9 +14,7 @@
|
|||
I select the followup to send it to the partner.
|
||||
-
|
||||
!python {model: account.followup.print}: |
|
||||
self.do_continue(cr, uid, [ref("account_followup_print_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account_followup.account_followup_print_menu")],
|
||||
"tz": False, "active_id": ref("account_followup.account_followup_print_menu"),
|
||||
self.do_continue(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"),
|
||||
})
|
||||
-
|
||||
I select partners whom I want to send followups.
|
||||
|
@ -34,7 +32,5 @@
|
|||
-
|
||||
!python {model: account.followup.print.all}: |
|
||||
import time
|
||||
self.do_mail(cr, uid, [ref("account_followup_print_all_0")], {"lang": 'en_US',
|
||||
"active_model": "ir.ui.menu", "active_ids": [ref("account_followup.account_followup_print_menu")],
|
||||
"tz": False, "date": time.strftime('%Y-%m-%d'), "followup_id": ref("account_followup.demo_followup1"), "active_id": ref("account_followup.account_followup_print_menu"),
|
||||
self.do_mail(cr, uid, [ref("account_followup_print_all_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "date": time.strftime('%Y-%m-%d'), "followup_id": ref("account_followup.demo_followup1"), "active_id": ref("account_followup.account_followup_print_menu"),
|
||||
})
|
||||
|
|
|
@ -75,8 +75,10 @@ class account_payment_populate_statement(osv.osv_memory):
|
|||
amount = currency_obj.compute(cr, uid, line.currency.id,
|
||||
statement.currency.id, line.amount_currency, context=ctx)
|
||||
|
||||
if not line.move_line_id.id:
|
||||
continue
|
||||
context.update({'move_line_ids': [line.move_line_id.id]})
|
||||
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), voucher_currency_id= statement.currency.id, ttype='payment', date=line.ml_maturity_date, context=context)
|
||||
result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, amount=abs(amount), currency_id= statement.currency.id, ttype='payment', date=line.ml_maturity_date, context=context)
|
||||
|
||||
if line.move_line_id:
|
||||
voucher_res = {
|
||||
|
|
|
@ -441,14 +441,14 @@ class account_voucher(osv.osv):
|
|||
tr_type = 'purchase'
|
||||
else:
|
||||
if not journal.default_credit_account_id or not journal.default_debit_account_id:
|
||||
raise osv.except_osv(_('Error !'), _('Please define default credit/debit account on the %s !') % (journal.name))
|
||||
raise osv.except_osv(_('Error !'), _('Please define default credit/debit accounts on the journal "%s" !') % (journal.name))
|
||||
account_id = journal.default_credit_account_id.id or journal.default_debit_account_id.id
|
||||
tr_type = 'receipt'
|
||||
|
||||
default['value']['account_id'] = account_id
|
||||
default['value']['type'] = ttype or tr_type
|
||||
|
||||
vals = self.onchange_journal(cr, uid, ids, journal_id, line_ids, tax_id, partner_id, company_id, context)
|
||||
vals = self.onchange_journal(cr, uid, ids, journal_id, line_ids, tax_id, partner_id, time.strftime('%Y-%m-%d'), price, ttype, company_id, context)
|
||||
default['value'].update(vals.get('value'))
|
||||
|
||||
return default
|
||||
|
@ -1288,7 +1288,7 @@ class account_voucher_line(osv.osv):
|
|||
'account_id':fields.many2one('account.account','Account', required=True),
|
||||
'partner_id':fields.related('voucher_id', 'partner_id', type='many2one', relation='res.partner', string='Partner'),
|
||||
'untax_amount':fields.float('Untax Amount'),
|
||||
'amount':fields.float('Allocation', digits_compute=dp.get_precision('Account')),
|
||||
'amount':fields.float('Amount', digits_compute=dp.get_precision('Account')),
|
||||
'reconcile': fields.boolean('Full Reconcile'),
|
||||
'type':fields.selection([('dr','Debit'),('cr','Credit')], 'Dr/Cr'),
|
||||
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<form string="Accounting Voucher">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, amount)"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id)"/>
|
||||
<field name="journal_id" widget="selection" select="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="type" required="1"/>
|
||||
<field name="name" colspan="2"/>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Bill Payment">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id}" string="Supplier"/>
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Supplier" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1, 'invoice_currency': currency_id}" />
|
||||
<field name="amount" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
|
@ -145,7 +145,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Bill Payment">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" domain="[('supplier','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id}" string="Supplier"/>
|
||||
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/>
|
||||
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
|
@ -294,7 +294,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Customer Payment">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer"/>
|
||||
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="amount"
|
||||
invisible="context.get('line_type', False)"
|
||||
|
@ -331,7 +331,7 @@
|
|||
<field name="amount_original" readonly="1"/>
|
||||
<field name="amount_unreconciled" readonly="1"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)" string="Allocation"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)">
|
||||
|
@ -347,7 +347,7 @@
|
|||
<field name="amount_original" readonly="1"/>
|
||||
<field name="amount_unreconciled" readonly="1"/>
|
||||
<field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
|
||||
<field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)" string="Allocation"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group col="2" colspan="3">
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Sales Receipt">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer"/>
|
||||
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
|
||||
<field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
|
||||
<field name="number"/>
|
||||
|
@ -209,7 +209,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Supplier Voucher">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)"/>
|
||||
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" />
|
||||
<field name="date" string="Bill Date" select="1" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
|
||||
<field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
|
||||
<field name="number"/>
|
||||
|
@ -276,6 +276,7 @@
|
|||
<group attrs="{'invisible':['|', ('state','!=','posted'), ('paid','=',True)]}">
|
||||
<button icon="terp-dolar_ok!" name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':[('pay_now','=','pay_now')]}"/>
|
||||
</group>
|
||||
<field name="pay_now" invisible="1"/>
|
||||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
|
||||
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
|
||||
</group>
|
||||
|
|
|
@ -0,0 +1,301 @@
|
|||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-29 23:37+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2011-12-30 05:39+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr "Sub-conturi"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr "Nume cont"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr "Specifica suma cantitatii de numarat"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,state:0
|
||||
msgid "State"
|
||||
msgstr "Stare"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,user_id:0
|
||||
msgid "Account Manager"
|
||||
msgstr "Manager financiar contabil"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Închis"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,debit:0
|
||||
msgid "Debit"
|
||||
msgstr "Debit"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,state:0
|
||||
msgid ""
|
||||
"* When an account is created its in 'Draft' state. "
|
||||
" \n"
|
||||
"* If any associated partner is there, it can be in 'Open' state. "
|
||||
" \n"
|
||||
"* If any pending balance is there it can be in 'Pending'. "
|
||||
" \n"
|
||||
"* And finally when all the transactions are over, it can be in 'Close' "
|
||||
"state. \n"
|
||||
"* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
" If it is template then we can make projects based on the template projects. "
|
||||
"If its in 'Running' state it is a normal project. "
|
||||
" \n"
|
||||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
"* Cand este crest un cont, acesta este in stare 'Ciorna'. \n"
|
||||
"* Daca exista vreun partener asociat, poate fi in stare \"Deschis'.\n"
|
||||
"* Daca exista vreun sold in asteptare, poate fi 'In asteptare'.\n"
|
||||
"* In cele din urma, daca toate tranzactiile sunt efectuate, poate fi in "
|
||||
"stare 'Inchis'. \n"
|
||||
"*Proiectul se poate afla in oricare din starile 'Sablon' sau 'Rulare'. \n"
|
||||
" Daca este sablon, atunci putem face proiecte pe baza proiectelor sablon. "
|
||||
"Daca este in starea 'Rulare' este un proiect \n"
|
||||
"obisnuit. \n"
|
||||
" Daca trebuie reinnoit, atunci starea este 'In asteptare'. \n"
|
||||
" Cand proiectul este terminat, starea este setata pe 'Efectuat'."
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
msgid "Account Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,description:0
|
||||
#: field:account.analytic.line,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
#: field:account.analytic.line,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: code:addons/analytic/analytic.py:138
|
||||
#, python-format
|
||||
msgid ""
|
||||
"If you set a company, the currency selected has to be the same as it's "
|
||||
"currency. \n"
|
||||
"You can remove the company belonging, and thus change the currency, only on "
|
||||
"analytic account of type 'view'. This can be really usefull for "
|
||||
"consolidation purposes of several companies charts with different "
|
||||
"currencies, for example."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
msgid "Parent Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid ""
|
||||
"Calculated by multiplying the quantity and the price given in the Product's "
|
||||
"cost price. Always expressed in the company main currency."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_complete_ids:0
|
||||
msgid "Account Hierarchy"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
msgid "Sets the higher limit of time to work on the contract."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,credit:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Code/Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: code:addons/analytic/analytic.py:138
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,type:0
|
||||
msgid ""
|
||||
"If you select the View Type, it means you won't allow to create journal "
|
||||
"entries using that account."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity_max:0
|
||||
msgid "Maximum Time"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:res.groups,name:analytic.group_analytic_accounting
|
||||
msgid "Analytic Accounting"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
msgid "Full Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,account_id:0
|
||||
#: model:ir.model,name:analytic.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.line:0
|
||||
msgid "You can not create analytic line on view account."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,line_ids:0
|
||||
msgid "Analytic Entries"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Module for defining analytic accounting object.\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "Modul pentru definirea obiectului contabilitatii analitice.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Draft"
|
||||
#~ msgstr "Ciornă"
|
|
@ -8,24 +8,24 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 16:22+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-27 16:12+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@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: 2011-12-23 07:17+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-28 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr "Podređeni Nalozi"
|
||||
msgstr "Podređeni nalozi"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr "Naziv Naloga"
|
||||
msgstr "Naziv naloga"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
|
@ -70,26 +70,26 @@ msgid ""
|
|||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
"*Kada je neka faktura kreirana a nalazi se u ' U Toku'. "
|
||||
" \n"
|
||||
"*Ako je bilo koji asocirani partner tamo, on mora biti u stanju ' Otvoren'. "
|
||||
" \n"
|
||||
"*Ako je bilo koji Saldo u stanju 'U izvrsenju' on mora i biti tamo. "
|
||||
" "
|
||||
"*kada je nalog napravljen, stanje mu je 'U pripremi' "
|
||||
" \n"
|
||||
"*Ako postoji bilo koji partner, može bitu u stanju 'Otvoren' "
|
||||
" \n"
|
||||
"*Ako postoji balans na čekanju, može biti 'Na čekanju' "
|
||||
" \n"
|
||||
"*I , na kraju, kada su sve transakcije gotove, biće u stanju ' Zatvoreno'. "
|
||||
" "
|
||||
"\n"
|
||||
"*I , na kraju kada su sve transakcije gotove, mora se naci u stanju ' "
|
||||
"Zatvoreno'. "
|
||||
" \n"
|
||||
" Ako je ovo shema(obrazac) onda mi mozemo napraviri projekat baziran na "
|
||||
"istom. Ako je u stanju ' U izvrsenju' to je normalnan\n"
|
||||
"*Projekat može biti bilo gde ako su mu stanja 'U toku' i 'U pripremi'\n"
|
||||
" Ako je ovo obrazac, onda možemo napraviti projekat baziran na njima. Ako je "
|
||||
"u stanju ' U toku' to je normalnan\n"
|
||||
"projekat.\n"
|
||||
" Ako zelimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
|
||||
" Kada je projekat zavrsen stanje je postavljeno na ' Zavrseno'."
|
||||
" Ako želimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
|
||||
" Kada je projekat završen stanje je postavljeno na ' Završeno'."
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Novo"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
|
@ -99,7 +99,7 @@ msgstr "Vrsta konta"
|
|||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Pending"
|
||||
msgstr "U toku"
|
||||
msgstr "Na čekanju"
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
|
@ -115,7 +115,7 @@ msgstr "Opis"
|
|||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr "Normalan"
|
||||
msgstr "Normalno"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
|
@ -134,6 +134,11 @@ msgid ""
|
|||
"consolidation purposes of several companies charts with different "
|
||||
"currencies, for example."
|
||||
msgstr ""
|
||||
"Ako odredite kompaniju, izabrana valuta mora biti ista kao valuta preduzeća. "
|
||||
"\n"
|
||||
"Možete ukloniti preduzeće i tako izmeniti valutu, samo na analitičkom kontu "
|
||||
"tipa 'pregled'. Ovo može biti zaista korisno iz razloga konsolidacije tabela "
|
||||
"nekoliko preduzeća s raznim valutama, na primer."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,user_id:0
|
||||
|
@ -153,7 +158,7 @@ msgstr "Datum"
|
|||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr "Šablon"
|
||||
msgstr "Obrazac"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
|
@ -167,18 +172,18 @@ msgid ""
|
|||
"Calculated by multiplying the quantity and the price given in the Product's "
|
||||
"cost price. Always expressed in the company main currency."
|
||||
msgstr ""
|
||||
"Izracunato mnozenjem kolicine i cene date u proizvodovom cenovniku. Uvek "
|
||||
"prikazano u osnovnoj valuti preduzeca."
|
||||
"Izračunato množenjem količine i cene datim u cenovniku proizvoda. Uvek "
|
||||
"izraženo u osnovnoj valuti preduzeća."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_complete_ids:0
|
||||
msgid "Account Hierarchy"
|
||||
msgstr ""
|
||||
msgstr "Hijerarhija naloga"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
msgid "Sets the higher limit of time to work on the contract."
|
||||
msgstr ""
|
||||
msgstr "Postavlja višu granicu vremena za rad na ugovoru."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,credit:0
|
||||
|
@ -200,12 +205,12 @@ msgstr "Kontakt"
|
|||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
msgstr "Greška! Valuta mora biti ista kao i valuta izabranog preduzeća"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Code/Reference"
|
||||
msgstr ""
|
||||
msgstr "Kod/Poziv na broj"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
|
@ -216,17 +221,17 @@ msgstr "Otkazano"
|
|||
#: code:addons/analytic/analytic.py:138
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
msgstr "Greska !"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,balance:0
|
||||
msgid "Balance"
|
||||
msgstr "Saldo"
|
||||
msgstr "Balans"
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
msgstr "Greška! Ne možete praviti rekurzivne analitičke naloge."
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,type:0
|
||||
|
@ -234,23 +239,23 @@ msgid ""
|
|||
"If you select the View Type, it means you won't allow to create journal "
|
||||
"entries using that account."
|
||||
msgstr ""
|
||||
"Ukoliko izaberete PREGLED, to znaci da ne zelite da kreirate sadrzaj "
|
||||
"dnevnika, koristeci taj nalog."
|
||||
"Ako izaberete Pregled, znači da ne zelite dozvoliti pravljenje sadržaja "
|
||||
"dnevnika koristeći taj nalog."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Završni datum"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity_max:0
|
||||
msgid "Maximum Time"
|
||||
msgstr ""
|
||||
msgstr "Maksimalno vreme"
|
||||
|
||||
#. module: analytic
|
||||
#: model:res.groups,name:analytic.group_analytic_accounting
|
||||
msgid "Analytic Accounting"
|
||||
msgstr ""
|
||||
msgstr "Analitičko računovodstvo"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
|
@ -266,12 +271,12 @@ msgstr "Analitički konto"
|
|||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
msgstr "Valuta"
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.line:0
|
||||
msgid "You can not create analytic line on view account."
|
||||
msgstr ""
|
||||
msgstr "Ne možete napraviti analitički red na pregledu naloga."
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
|
@ -286,7 +291,7 @@ msgstr "Partner"
|
|||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Početni datum"
|
||||
msgstr "Datum početka"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
|
|
|
@ -100,8 +100,8 @@ hr_analytic_timesheet()
|
|||
class account_invoice(osv.osv):
|
||||
_inherit = "account.invoice"
|
||||
|
||||
def _get_analytic_lines(self, cr, uid, id):
|
||||
iml = super(account_invoice, self)._get_analytic_lines(cr, uid, id)
|
||||
def _get_analytic_lines(self, cr, uid, id, context=None):
|
||||
iml = super(account_invoice, self)._get_analytic_lines(cr, uid, id, context=context)
|
||||
for il in iml:
|
||||
if il['account_analytic_id'] and il.get('analytic_lines', False):
|
||||
|
||||
|
@ -109,10 +109,10 @@ class account_invoice(osv.osv):
|
|||
journal_id = il['analytic_lines'][0][2]['journal_id']
|
||||
account_id = il['analytic_lines'][0][2]['account_id']
|
||||
if journal_id and account_id:
|
||||
temp = self.pool.get('analytic_journal_rate_grid').search(cr, uid, [('journal_id', '=', journal_id),('account_id', '=', account_id) ])
|
||||
temp = self.pool.get('analytic_journal_rate_grid').search(cr, uid, [('journal_id', '=', journal_id),('account_id', '=', account_id)], context=context)
|
||||
|
||||
if temp:
|
||||
r = self.pool.get('analytic_journal_rate_grid').browse(cr, uid, temp)[0]
|
||||
r = self.pool.get('analytic_journal_rate_grid').browse(cr, uid, temp, context=context)[0]
|
||||
il['analytic_lines'][0][2]['to_invoice'] = r.rate_id.id
|
||||
return iml
|
||||
|
||||
|
|
|
@ -8,24 +8,24 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 15:16+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-27 15:53+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@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: 2011-12-23 07:07+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-28 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: sql_constraint:account.invoice:0
|
||||
msgid "Invoice Number must be unique per Company!"
|
||||
msgstr ""
|
||||
msgstr "Broj fakture mora biti jedinstven po kompaniji"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analiticki Dnevnik"
|
||||
msgstr "Analitički dnevnik"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
|
||||
|
@ -35,12 +35,12 @@ msgstr "Faktura"
|
|||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.invoice:0
|
||||
msgid "Invalid BBA Structured Communication !"
|
||||
msgstr ""
|
||||
msgstr "Nepravilno BBA struktuirana komunikacija !"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: view:analytic_journal_rate_grid:0
|
||||
msgid "Billing Rate per Journal for this Analytic Account"
|
||||
msgstr "Stepen naplate po Dnevniku za ovaj Analiticki Konto"
|
||||
msgstr "Stepen naplate po Dnevniku za ovaj Analitički Konto"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,account_id:0
|
||||
|
@ -51,7 +51,7 @@ msgstr "Analitički konto"
|
|||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
|
||||
msgid "Relation table between journals and billing rates"
|
||||
msgstr "Relaciona tabela izmedju dnevnika i stepena naplate"
|
||||
msgstr "Tabela odnosa između dnevnika i stepenova naplate"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:account.analytic.account,journal_rate_ids:0
|
||||
|
@ -63,27 +63,29 @@ msgstr "Stepen fakturiranja po Dnevniku"
|
|||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
msgstr "Greška! Valuta mora biti ista kao i valuta izabranog preduzeća"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
"Ne možete izmeniti unos u kontrolnoj kartici obeleženim kao "
|
||||
"Potvrđenim/Završenim"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: field:analytic_journal_rate_grid,rate_id:0
|
||||
msgid "Invoicing Rate"
|
||||
msgstr "Fakturisanje cene"
|
||||
msgstr "Stepen fakturisanja"
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
msgstr "Greška! Ne možete praviti rekurzivne analitičke naloge."
|
||||
|
||||
#. module: analytic_journal_billing_rate
|
||||
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Timesheet Linija"
|
||||
msgstr "Niz kontrolne kartice"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 14:19+0000\n"
|
||||
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-27 15:49+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@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: 2011-12-23 07:09+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-28 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: analytic_user_function
|
||||
|
@ -25,12 +25,13 @@ msgstr "Proizvod"
|
|||
#. module: analytic_user_function
|
||||
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
|
||||
msgid "Relation table between users and products on a analytic account"
|
||||
msgstr "Relaciona tabela izmedju korisnika i proizvoda u analitickom kontu"
|
||||
msgstr "Relaciona tabela između korisnika i proizvoda u analitičkom kontu"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: constraint:hr.analytic.timesheet:0
|
||||
msgid "You cannot modify an entry in a Confirmed/Done timesheet !."
|
||||
msgstr ""
|
||||
"Ne možete izmeniti unos u tabelama obeleženim kao Potvrđenim/Završenim"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: field:analytic.user.funct.grid,account_id:0
|
||||
|
@ -42,7 +43,7 @@ msgstr "Analitički konto"
|
|||
#: view:account.analytic.account:0
|
||||
#: field:account.analytic.account,user_product_ids:0
|
||||
msgid "Users/Products Rel."
|
||||
msgstr "Korisnik/Proizvod Relac."
|
||||
msgstr "Korisnik/Proizvod Odnos"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: field:analytic.user.funct.grid,user_id:0
|
||||
|
@ -54,7 +55,7 @@ msgstr "Korisnik"
|
|||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
msgstr "Greška! Valuta mora biti ista kao i valuta izabranog preduzeća"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: code:addons/analytic_user_function/analytic_user_function.py:96
|
||||
|
@ -62,6 +63,7 @@ msgstr ""
|
|||
#, python-format
|
||||
msgid "There is no expense account define for this product: \"%s\" (id:%d)"
|
||||
msgstr ""
|
||||
"Nema dodatnih troškova za nalog određenog za ovaj proizvod: \"%s\" (id:%d)"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: code:addons/analytic_user_function/analytic_user_function.py:95
|
||||
|
@ -73,17 +75,17 @@ msgstr "Greška !"
|
|||
#. module: analytic_user_function
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
msgstr "Greška! Ne možete praviti rekurzivne analitičke naloge."
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: model:ir.model,name:analytic_user_function.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr "Niz Kontrolne kartice"
|
||||
msgstr "Niz kontrolne kartice"
|
||||
|
||||
#. module: analytic_user_function
|
||||
#: view:analytic.user.funct.grid:0
|
||||
msgid "User's Product for this Analytic Account"
|
||||
msgstr "Korisnicki Proizvod za ovaj Analiticki Konto"
|
||||
msgstr "Korisnički proizvod za ovaj Analitički Konto"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Nevažeći XML za pregled arhitekture"
|
||||
|
|
|
@ -0,0 +1,230 @@
|
|||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-30 11:09+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2011-12-31 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
|
||||
msgid "ir.model.fields.anonymize.wizard"
|
||||
msgstr "ir.model.fields.anonymize.wizard (ir.model.campuri.anonimat.wizard)"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_name:0
|
||||
msgid "Field Name"
|
||||
msgstr "Nume camp"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_id:0
|
||||
msgid "Field"
|
||||
msgstr "Câmp"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,state:0
|
||||
#: field:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "State"
|
||||
msgstr "Stare"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_import:0
|
||||
msgid "Import"
|
||||
msgstr "Importă"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
|
||||
msgid "ir.model.fields.anonymization"
|
||||
msgstr "ir.model.fileds.anonymization (ir.model.campuri.anonimizare)"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "Direction"
|
||||
msgstr "Direcţie"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
|
||||
msgid "Anonymized Fields"
|
||||
msgstr "Campuri anonimizate"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
|
||||
msgid "Database anonymization"
|
||||
msgstr "Anonimizarea bazei de date"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "clear -> anonymized"
|
||||
msgstr "sterge -> anonimizat"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Anonymized"
|
||||
msgstr "Anonimizat"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,state:0
|
||||
msgid "unknown"
|
||||
msgstr "necunoscut(ă)"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_id:0
|
||||
msgid "Object"
|
||||
msgstr "Obiect"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,filepath:0
|
||||
msgid "File path"
|
||||
msgstr "Cale fișier"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,date:0
|
||||
msgid "Date"
|
||||
msgstr "Dată"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_export:0
|
||||
msgid "Export"
|
||||
msgstr "Export"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Reverse the Database Anonymization"
|
||||
msgstr "Anuleaza anonimizarea bazei de date"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Database Anonymization"
|
||||
msgstr "Anonimizare baza de date"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
|
||||
msgid "Anonymize database"
|
||||
msgstr "Anonimizare baza de date"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,field_ids:0
|
||||
msgid "Fields"
|
||||
msgstr "Câmpuri"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Clear"
|
||||
msgstr "Şterge"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
#: field:ir.model.fields.anonymize.wizard,summary:0
|
||||
msgid "Summary"
|
||||
msgstr "Rezumat"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
msgid "Anonymized Field"
|
||||
msgstr "Camp anonimizat"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Unstable"
|
||||
msgstr "Instabil"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Exception occured"
|
||||
msgstr "A avut loc o excepţie"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Not Existing"
|
||||
msgstr "Nu exista"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_name:0
|
||||
msgid "Object Name"
|
||||
msgstr "Numele obiectului"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
|
||||
msgid "Anonymization History"
|
||||
msgstr "Istoric Anonimizare"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
|
||||
msgid "ir.model.fields.anonymization.history"
|
||||
msgstr ""
|
||||
"ir.model.fields.anonymization.history (ir.model.campuri.anonimizare.istoric)"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Anonymize Database"
|
||||
msgstr "Anonimizare baza de date"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,name:0
|
||||
msgid "File Name"
|
||||
msgstr "Nume fișier"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "anonymized -> clear"
|
||||
msgstr "anonimizat -> sterge"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Started"
|
||||
msgstr "Pornit"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Done"
|
||||
msgstr "Efectuat"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,msg:0
|
||||
#: field:ir.model.fields.anonymize.wizard,msg:0
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:55
|
||||
#: sql_constraint:ir.model.fields.anonymization:0
|
||||
#, python-format
|
||||
msgid "You cannot have two fields with the same name on the same object!"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Database anonymization module"
|
||||
#~ msgstr "Modul anonimat baza de date"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "You cannot have two records having the same model and the same field"
|
||||
#~ msgstr "Nu puteti avea doua inregistrari cu acelasi model sau camp"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "This module allows you to anonymize a database.\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Acest modul permite anonimizarea unei baze de date.\n"
|
||||
#~ " "
|
|
@ -0,0 +1,213 @@
|
|||
# Serbian Latin translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-28 20:55+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian Latin <sr@latin@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: 2011-12-29 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
|
||||
msgid "ir.model.fields.anonymize.wizard"
|
||||
msgstr "ir.model.fields.anonymize.wizard"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_name:0
|
||||
msgid "Field Name"
|
||||
msgstr "Naziv polja"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_id:0
|
||||
msgid "Field"
|
||||
msgstr "Polje"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,state:0
|
||||
#: field:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "State"
|
||||
msgstr "Stanje"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_import:0
|
||||
msgid "Import"
|
||||
msgstr "Uvoz"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
|
||||
msgid "ir.model.fields.anonymization"
|
||||
msgstr "ir.model.fields.anonymization"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "Direction"
|
||||
msgstr "Pravac"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
|
||||
msgid "Anonymized Fields"
|
||||
msgstr "Anonimizirana polja"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
|
||||
msgid "Database anonymization"
|
||||
msgstr "Anonimizacija baze podataka"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "clear -> anonymized"
|
||||
msgstr "očisti -> anonimizirano"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Anonymized"
|
||||
msgstr "Anonimizirano"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,state:0
|
||||
msgid "unknown"
|
||||
msgstr "nepoznato"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_id:0
|
||||
msgid "Object"
|
||||
msgstr "Stavka"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,filepath:0
|
||||
msgid "File path"
|
||||
msgstr "Putanja datoteke"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,date:0
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_export:0
|
||||
msgid "Export"
|
||||
msgstr "Izvoz"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Reverse the Database Anonymization"
|
||||
msgstr "Poništi anonimizaciju baze podataka"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Database Anonymization"
|
||||
msgstr "Anonimizacija baze podataka"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
|
||||
msgid "Anonymize database"
|
||||
msgstr "Anonimiziraj bazu podataka"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,field_ids:0
|
||||
msgid "Fields"
|
||||
msgstr "Polja"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Clear"
|
||||
msgstr "Očisti"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
#: field:ir.model.fields.anonymize.wizard,summary:0
|
||||
msgid "Summary"
|
||||
msgstr "Sažetak"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
msgid "Anonymized Field"
|
||||
msgstr "Anonimizirano polje"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Unstable"
|
||||
msgstr "Nestabilno"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Exception occured"
|
||||
msgstr "Desio se izuzetak"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Not Existing"
|
||||
msgstr "Nepostojeći"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_name:0
|
||||
msgid "Object Name"
|
||||
msgstr "Ime stavke"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
|
||||
msgid "Anonymization History"
|
||||
msgstr "Istorija anonimizacije"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
|
||||
msgid "ir.model.fields.anonymization.history"
|
||||
msgstr "ir.model.fields.anonymization.history"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Anonymize Database"
|
||||
msgstr "Anonimiziraj bazu podataka"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,name:0
|
||||
msgid "File Name"
|
||||
msgstr "Naziv datoteke"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "anonymized -> clear"
|
||||
msgstr "anonimizirano -> očisti"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Started"
|
||||
msgstr "Započet"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Done"
|
||||
msgstr "Gotovo"
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,msg:0
|
||||
#: field:ir.model.fields.anonymize.wizard,msg:0
|
||||
msgid "Message"
|
||||
msgstr "Poruka"
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:55
|
||||
#: sql_constraint:ir.model.fields.anonymization:0
|
||||
#, python-format
|
||||
msgid "You cannot have two fields with the same name on the same object!"
|
||||
msgstr "Ne možete imati dva polja sa istim imenom na istoj stavci!"
|
|
@ -8,14 +8,14 @@ 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: 2010-12-23 16:04+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-27 16:19+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@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: 2011-11-05 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 14231)\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-28 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,wiki:0
|
||||
|
@ -25,22 +25,22 @@ msgstr "Wiki"
|
|||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Event Management"
|
||||
msgstr "Upravljanje Dogadjajima"
|
||||
msgstr "Upravljanje događajima"
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,project_gtd:0
|
||||
msgid "Getting Things Done"
|
||||
msgstr "Da Zavrsimo"
|
||||
msgstr "Da završimo"
|
||||
|
||||
#. module: association
|
||||
#: model:ir.module.module,description:association.module_meta_information
|
||||
msgid "This module is to create Profile for Associates"
|
||||
msgstr "Ovaj modul ima namenu da kreira Profil za Asociacije"
|
||||
msgstr "Ovaj modul ima namenu pravljenja profila za partnere"
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,progress:0
|
||||
msgid "Configuration Progress"
|
||||
msgstr "Napredovanje Konfiguracije"
|
||||
msgstr "Napredak podešavanja"
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
|
@ -48,16 +48,17 @@ msgid ""
|
|||
"Here are specific applications related to the Association Profile you "
|
||||
"selected."
|
||||
msgstr ""
|
||||
"Evo specifičnih aplikacija vezanih za asocijativni profil koji ste izabrali."
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "title"
|
||||
msgstr "Naslov"
|
||||
msgstr "naslov"
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,event_project:0
|
||||
msgid "Helps you to manage and organize your events."
|
||||
msgstr "POmaze vam da upravljate i organizujete svoje dogadjaje."
|
||||
msgstr "Pomaže Vam da upravljate i organizujete svoje događaje."
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,config_logo:0
|
||||
|
@ -70,8 +71,8 @@ msgid ""
|
|||
"Tracks and manages employee expenses, and can automatically re-invoice "
|
||||
"clients if the expenses are project-related."
|
||||
msgstr ""
|
||||
"Prati i upravlja troskovima zaposlenih, i moze da automatski re-fakturise "
|
||||
"klijente ukoliko su troskovi vezani za projekat."
|
||||
"Prati i upravlja troškovima zaposlenih, i moze automatski da re-fakturiše "
|
||||
"klijente ukoliko su troškovi vezani za projekat."
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,project_gtd:0
|
||||
|
@ -80,28 +81,28 @@ msgid ""
|
|||
"module fully integrates GTD principle with OpenERP's project management."
|
||||
msgstr ""
|
||||
"GTD je metodologija za efikasno organizovanje sebe i svojih zadataka. Ovaj "
|
||||
"modul potpuno integrise GTD principe sa OpenERP Projekt Menadzmentom."
|
||||
"modul potpuno integriše GTD principe sa OpenERP-ovim Upravljanjem projektima."
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Resources Management"
|
||||
msgstr "Upravljanje Resursima"
|
||||
msgstr "Upravljanje izvorima"
|
||||
|
||||
#. module: association
|
||||
#: model:ir.module.module,shortdesc:association.module_meta_information
|
||||
msgid "Association profile"
|
||||
msgstr "Profil Asociacije"
|
||||
msgstr "Asocijativni profil"
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,hr_expense:0
|
||||
msgid "Expenses Tracking"
|
||||
msgstr "Pracenje Troskova"
|
||||
msgstr "Praćenje troškova"
|
||||
|
||||
#. module: association
|
||||
#: model:ir.actions.act_window,name:association.action_config_install_module
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Association Application Configuration"
|
||||
msgstr ""
|
||||
msgstr "Podešavanje asocijativnih aplikacija"
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,wiki:0
|
||||
|
@ -109,8 +110,8 @@ msgid ""
|
|||
"Lets you create wiki pages and page groups in order to keep track of "
|
||||
"business knowledge and share it with and between your employees."
|
||||
msgstr ""
|
||||
"Omogucava ti da kreiras strane i grupe strana sa namerom da odrzis biznis "
|
||||
"iskustvo i delis ga sa i medju svojim zaposlenima."
|
||||
"Omogućava Vam pravljenje wiki stranica i grupa strana sa namerom održavanja "
|
||||
"poslovnog iskustva i deljenja istog sa i među svojim zaposlenima."
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,project:0
|
||||
|
@ -118,8 +119,8 @@ msgid ""
|
|||
"Helps you manage your projects and tasks by tracking them, generating "
|
||||
"plannings, etc..."
|
||||
msgstr ""
|
||||
"POmaze ti da upravljas svojim projektima i zadacima prateci ih, generisanjem "
|
||||
"planova, itd..."
|
||||
"Pomaže Vam da upravljate svojim projektima i zadacima prateći ih, "
|
||||
"generisanjem planova, itd..."
|
||||
|
||||
#. module: association
|
||||
#: model:ir.model,name:association.model_profile_association_config_install_modules_wizard
|
||||
|
@ -129,15 +130,15 @@ msgstr "profile.association.config.install_modules_wizard"
|
|||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,event_project:0
|
||||
msgid "Events"
|
||||
msgstr "Dogadjaji"
|
||||
msgstr "Događaji"
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
#: field:profile.association.config.install_modules_wizard,project:0
|
||||
msgid "Project Management"
|
||||
msgstr "Upravljanje Projektima"
|
||||
msgstr "Upravljanje projektima"
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
msgstr "Podesi"
|
||||
|
|
|
@ -31,6 +31,12 @@ import tools
|
|||
|
||||
|
||||
def get_datetime(date_field):
|
||||
'''Return a datetime from a date string or a datetime string'''
|
||||
#complete date time if date_field contains only a date
|
||||
date_split = date_field.split(' ')
|
||||
if len(date_split) == 1:
|
||||
date_field = date_split[0] + " 00:00:00"
|
||||
|
||||
return datetime.strptime(date_field[:19], '%Y-%m-%d %H:%M:%S')
|
||||
|
||||
|
||||
|
|
|
@ -1486,6 +1486,7 @@ rule or repeating pattern of time to exclude from the recurring rule."),
|
|||
if not isinstance(ids, list):
|
||||
ids = [ids]
|
||||
res = False
|
||||
attendee_obj=self.pool.get('calendar.attendee')
|
||||
for event_id in ids[:]:
|
||||
if len(str(event_id).split('-')) == 1:
|
||||
continue
|
||||
|
@ -1498,6 +1499,9 @@ rule or repeating pattern of time to exclude from the recurring rule."),
|
|||
exdate = (data['exdate'] and (data['exdate'] + ',') or '') + date_new
|
||||
self.write(cr, uid, [real_event_id], {'exdate': exdate})
|
||||
ids.remove(event_id)
|
||||
for event in self.browse(cr, uid, ids, context=context):
|
||||
if event.attendee_ids:
|
||||
attendee_obj.unlink(cr, uid, [x.id for x in event.attendee_ids], context=context)
|
||||
|
||||
res = super(calendar_event, self).unlink(cr, uid, ids, context=context)
|
||||
self.pool.get('res.alarm').do_alarm_unlink(cr, uid, ids, self._name)
|
||||
|
|
|
@ -169,7 +169,8 @@ class res_partner_address(osv.osv):
|
|||
_inherit = 'res.partner.address'
|
||||
|
||||
def _default_location_id(self, cr, uid, context=None):
|
||||
context = context or {}
|
||||
if context is None:
|
||||
context = {}
|
||||
if not context.get('default_partner_id',False):
|
||||
return False
|
||||
ids = self.pool.get('res.partner.location').search(cr, uid, [('partner_id','=',context['default_partner_id'])], context=context)
|
||||
|
@ -242,7 +243,8 @@ class res_partner_address(osv.osv):
|
|||
}
|
||||
|
||||
def default_get(self, cr, uid, fields=[], context=None):
|
||||
context = context or {}
|
||||
if context is None:
|
||||
context = {}
|
||||
if 'default_type' in context:
|
||||
del context['default_type']
|
||||
return super(res_partner_address, self).default_get(cr, uid, fields, context)
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<search string="Partner Contact">
|
||||
<field name="name" string="First/Lastname"
|
||||
filter_domain="['|', ('firstname','ilike', self), ('lastname','ilike',self)]"/>
|
||||
filter_domain="['|', ('first_name','ilike', self), ('last_name', 'ilike', self)]"/>
|
||||
<field name="partner_id" string="Partner"/>
|
||||
</search>
|
||||
</field>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_res_partner_contact","res.partner.contact","model_res_partner_contact","base.group_partner_manager",1,1,1,1
|
||||
"access_res_partner_contact_all","res.partner.contact all","model_res_partner_contact","base.group_user",1,0,0,0
|
||||
"access_res_partner_location","res.partner.location","model_res_partner_location","base.group_user",1,0,0,0
|
||||
"access_group_sale_salesman","res.partner.contact.sale.salesman","model_res_partner_contact","base.group_sale_salesman",1,1,1,0
|
||||
|
|
|
|
@ -0,0 +1,86 @@
|
|||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-30 21:01+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2011-12-31 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: base_crypt
|
||||
#: model:ir.model,name:base_crypt.model_res_users
|
||||
msgid "res.users"
|
||||
msgstr "res.users (res.utilizatori)"
|
||||
|
||||
#. module: base_crypt
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr "Nu pot exista doi utilizatori cu acelasi nume de autentificare !"
|
||||
|
||||
#. module: base_crypt
|
||||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"Compania aleasa nu este printre companiile permise acestui utilizator"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:140
|
||||
#, python-format
|
||||
msgid "Please specify the password !"
|
||||
msgstr "Va rugam sa specificati parola !"
|
||||
|
||||
#. module: base_crypt
|
||||
#: code:addons/base_crypt/crypt.py:140
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Eroare"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This module replaces the cleartext password in the database with a password "
|
||||
#~ "hash,\n"
|
||||
#~ "preventing anyone from reading the original password.\n"
|
||||
#~ "For your existing user base, the removal of the cleartext passwords occurs "
|
||||
#~ "the first time\n"
|
||||
#~ "a user logs into the database, after installing base_crypt.\n"
|
||||
#~ "After installing this module it won't be possible to recover a forgotten "
|
||||
#~ "password for your\n"
|
||||
#~ "users, the only solution is for an admin to set a new password.\n"
|
||||
#~ "\n"
|
||||
#~ "Note: installing this module does not mean you can ignore basic security "
|
||||
#~ "measures,\n"
|
||||
#~ "as the password is still transmitted unencrypted on the network (by the "
|
||||
#~ "client),\n"
|
||||
#~ "unless you are using a secure protocol such as XML-RPCS.\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "Acest modul inlocuieste parola formata din litere din baza de date cu o "
|
||||
#~ "parola hash \n"
|
||||
#~ "(formata din simboluri), impiedicand pe oricine sa citeasca parola "
|
||||
#~ "originala. \n"
|
||||
#~ "Pentru baza existenta de utilizatori, inlocuirea parolelor din litere are "
|
||||
#~ "loc prima data \n"
|
||||
#~ "cand un utilizator se conecteaza la baza de date, dupa instalarea modulului "
|
||||
#~ "bas-crypt. \n"
|
||||
#~ "Dupa instalarea acestui modul, nu va mai fi posibila recuperarea unei parole "
|
||||
#~ "uitate de \n"
|
||||
#~ "catre utilizatorii dumneavoastra, iar singura solutie ramasa este ca un "
|
||||
#~ "admin sa seteze o parola noua. \n"
|
||||
#~ "\n"
|
||||
#~ "Nota: instalarea acestui modul nu inseamna ca puteti ignora masurile de baza "
|
||||
#~ "de securitate, \n"
|
||||
#~ "deoarece parola este inca transmisa necriptata in retea (de catre client), \n"
|
||||
#~ "daca nu cumva folositi un protocol sigur precum XML-RPCS.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Base - Password Encryption"
|
||||
#~ msgstr "Baza - Criptare Parola"
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2010-12-23 15:58+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-12-28 21:43+0000\n"
|
||||
"Last-Translator: Milan Milosevic <Unknown>\n"
|
||||
"Language-Team: Serbian latin <sr@latin@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: 2011-12-23 06:54+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-29 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: base_report_designer
|
||||
|
@ -25,7 +25,7 @@ msgstr "base.report.sxw"
|
|||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
msgid "OpenERP Report Designer Configuration"
|
||||
msgstr ""
|
||||
msgstr "Podešavanje OpenERP-ovog čarobnjaka za izveštaje"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
|
@ -33,6 +33,8 @@ msgid ""
|
|||
"This plug-in allows you to create/modify OpenERP Reports into OpenOffice "
|
||||
"Writer."
|
||||
msgstr ""
|
||||
"Ovaj plug-in Vam omogućava da pravite/izmenite OpenERP-ove izveštaje u "
|
||||
"OpenOffice Writer-u."
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
|
@ -42,7 +44,7 @@ msgstr "Učitaj izmenjeni izveštaj"
|
|||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
msgid "The .SXW report"
|
||||
msgstr ".SXW Izveštaj"
|
||||
msgstr ".SXW izveštaj"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: model:ir.model,name:base_report_designer.model_base_report_designer_installer
|
||||
|
@ -52,12 +54,12 @@ msgstr "base_report_designer.installer"
|
|||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
msgid "_Close"
|
||||
msgstr "_Close"
|
||||
msgstr "_Zatvori"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.rml.save:0
|
||||
msgid "The RML report"
|
||||
msgstr "RML Izvestaj"
|
||||
msgstr "RML izveštaj"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
|
@ -83,24 +85,24 @@ msgstr "base.report.rml.save"
|
|||
#. module: base_report_designer
|
||||
#: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard
|
||||
msgid "Report Designer"
|
||||
msgstr "Dizajner Izvještaja"
|
||||
msgstr "Čarobnjak za izvešzaje"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,name:0
|
||||
msgid "File name"
|
||||
msgstr "Ime Fajla"
|
||||
msgstr "Ime datoteke"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
#: view:base.report.sxw:0
|
||||
msgid "Get a report"
|
||||
msgstr "Napravi Izvještaj"
|
||||
msgstr "Nabavi izveštaj"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
#: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard
|
||||
msgid "OpenERP Report Designer"
|
||||
msgstr "OpenERP Dizajner Izvestaja"
|
||||
msgstr "OpenERP-ov čarobnjak za izveštaje"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.sxw:0
|
||||
|
@ -110,7 +112,7 @@ msgstr "Nastavi"
|
|||
#. module: base_report_designer
|
||||
#: field:base.report.rml.save,file_rml:0
|
||||
msgid "Save As"
|
||||
msgstr "Sacuvaj Kao"
|
||||
msgstr "Sačuvaj kao"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: help:base_report_designer.installer,plugin_file:0
|
||||
|
@ -118,13 +120,13 @@ msgid ""
|
|||
"OpenObject Report Designer plug-in file. Save as this file and install this "
|
||||
"plug-in in OpenOffice."
|
||||
msgstr ""
|
||||
"OpenObject Dizajner Izvestaja plug-in fajl. Sacuvajte kao ovaj fajl i "
|
||||
"instalirajte plug-in u OpenOffice."
|
||||
"OpenObject Čarobnjak za izveštaje plug-in datoteka. Sačuvajte kao ovu "
|
||||
"datoteku i instalirajte plug-in u OpenOffice."
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.rml.save:0
|
||||
msgid "Save RML FIle"
|
||||
msgstr "Sacuvaj RML fajl"
|
||||
msgstr "Sačuvaj RML datoteku"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base.report.file.sxw,file_sxw:0
|
||||
|
@ -135,7 +137,7 @@ msgstr "Vaša .SXW datoteka"
|
|||
#. module: base_report_designer
|
||||
#: view:base_report_designer.installer:0
|
||||
msgid "Installation and Configuration Steps"
|
||||
msgstr "Instalacija i konfiguracione korake"
|
||||
msgstr "Instalacija i koraci podešavanja"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,description:0
|
||||
|
@ -150,11 +152,12 @@ msgid ""
|
|||
"Don't forget to install the OpenERP SA OpenOffice package to modify it.\n"
|
||||
"Once it is modified, re-upload it in OpenERP using this wizard."
|
||||
msgstr ""
|
||||
"Ovo je sablon vaseg zahtevanog izvestaja.\n"
|
||||
"Sacuvajte ga kao .SXW fajl i otvorite ga sa OpenOfice.\n"
|
||||
"Ne zaboravite da instalirate OpenERP SA paket OpenOffice da bi ga mogli "
|
||||
"modofikovati.\n"
|
||||
"Jednom izmenjen, ponovo ga uvezite u OpenERP koristeci ovog carobnjaka."
|
||||
"Ovo je obrazac Vašeg traženog izveštaja.\n"
|
||||
"Sačuvajte ga kao .SWX datoteku i otvorite ga u OpenOffice-u.\n"
|
||||
"Ne zaboravite da instalirate OpenERP-ov SA openOffice pakovanje da biste ga "
|
||||
"izmenili.\n"
|
||||
"Jednom kad je izmenjen, ponovo ga učitajte u OpenERP-u koristeći ovaj "
|
||||
"čarobnjak."
|
||||
|
||||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,config_logo:0
|
||||
|
@ -164,7 +167,7 @@ msgstr "Slika"
|
|||
#. module: base_report_designer
|
||||
#: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw
|
||||
msgid "Base Report sxw"
|
||||
msgstr "Bazni sxw Izvestaj"
|
||||
msgstr "Osnovni sxw izveštaj"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: model:ir.model,name:base_report_designer.model_base_report_file_sxw
|
||||
|
@ -174,12 +177,12 @@ msgstr "base.report.file.sxw"
|
|||
#. module: base_report_designer
|
||||
#: field:base_report_designer.installer,plugin_file:0
|
||||
msgid "OpenObject Report Designer Plug-in"
|
||||
msgstr "OpenObject plug-in Dizajner Izvestaja"
|
||||
msgstr "OpenObject plug-in čarobnjak za izveštaje"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer
|
||||
msgid "OpenERP Report Designer Installation"
|
||||
msgstr "Instalacija OpenERP dizajnera Izvestaja"
|
||||
msgstr "Instalacija OpenERP-ovog čarobnjaka za izveštaje"
|
||||
|
||||
#. module: base_report_designer
|
||||
#: view:base.report.file.sxw:0
|
||||
|
@ -197,7 +200,7 @@ msgstr "ir.actions.report.xml"
|
|||
#. module: base_report_designer
|
||||
#: view:base.report.sxw:0
|
||||
msgid "Select your report"
|
||||
msgstr "Odaberite izvještaj"
|
||||
msgstr "Odaberite izveštaj"
|
||||
|
||||
#~ msgid "Report designer interface module"
|
||||
#~ msgstr "Modul Interfejsa Dizajnera Izveštaja"
|
||||
|
|
|
@ -191,20 +191,23 @@ class base_synchro(osv.osv_memory):
|
|||
if not object in self.meta[pool_src]:
|
||||
self.meta[pool_src][object] = pool_src.get(object).fields_get(cr, uid)
|
||||
fields = self.meta[pool_src][object]
|
||||
|
||||
for f in fields:
|
||||
if f not in data:
|
||||
continue
|
||||
ftype = fields[f]['type']
|
||||
|
||||
if ftype in ('function', 'one2many', 'one2one'):
|
||||
del data[f]
|
||||
|
||||
elif ftype == 'many2one':
|
||||
if data[f]:
|
||||
df = self.relation_transform(cr, uid, pool_src, pool_dest, fields[f]['relation'], data[f][0], action, context=context)
|
||||
data[f] = df
|
||||
if not data[f]:
|
||||
del data[f]
|
||||
if (isinstance(data[f], list)) and data[f]:
|
||||
fdata = data[f][0]
|
||||
else:
|
||||
fdata = data[f]
|
||||
df = self.relation_transform(cr, uid, pool_src, pool_dest, fields[f]['relation'], fdata, action, context=context)
|
||||
data[f] = df
|
||||
if not data[f]:
|
||||
del data[f]
|
||||
|
||||
elif ftype == 'many2many':
|
||||
res = map(lambda x: self.relation_transform(cr, uid, pool_src, pool_dest, fields[f]['relation'], x, action, context), data[f])
|
||||
data[f] = [(6, 0, res)]
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# Romanian 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-01-03 16:01+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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-01-04 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
|
||||
msgid "Common base for tools modules"
|
||||
msgstr "Baza comuna pentru modulele unelte"
|
||||
|
||||
#. module: base_tools
|
||||
#: model:ir.module.module,description:base_tools.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"****\n"
|
||||
" "
|
|
@ -0,0 +1,29 @@
|
|||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-29 15:32+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2011-12-30 05:39+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: claim_from_delivery
|
||||
#: model:ir.actions.act_window,name:claim_from_delivery.action_claim_from_delivery
|
||||
msgid "Claim"
|
||||
msgstr "Solicitare"
|
||||
|
||||
#~ msgid "Claim from delivery"
|
||||
#~ msgstr "Solicitare sin livrare"
|
||||
|
||||
#~ msgid "Create Claim from delivery order:\n"
|
||||
#~ msgstr "Creeaza solicitare din ordinul de livrare\n"
|
|
@ -427,7 +427,7 @@ class crm_case(crm_base):
|
|||
if case.section_id.parent_id.user_id:
|
||||
data['user_id'] = case.section_id.parent_id.user_id.id
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'), _('You can not escalate, You are already at the top level regarding your sales-team category.'))
|
||||
raise osv.except_osv(_('Error !'), _('You can not escalate, you are already at the top level regarding your sales-team category.'))
|
||||
self.write(cr, uid, [case.id], data)
|
||||
cases = self.browse(cr, uid, ids)
|
||||
self.message_append(cr, uid, cases, _('Escalate'))
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
<record id="crm_case_stage_installer_todo" model="ir.actions.todo">
|
||||
<field name="action_id" ref="crm_case_stage_form_installer"/>
|
||||
<field name="category_id" ref="base.category_sales_management_config"/>
|
||||
<field name="groups_id" eval="[(6, 0, [ref('base.group_extended')])]" />
|
||||
<field name="sequence">9</field>
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -194,7 +194,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
|
||||
|
||||
# Only used for type opportunity
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', domain="[('partner_id','=',partner_id)]"),
|
||||
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', domain="[('partner_id','=',partner_id)]"),
|
||||
'probability': fields.float('Probability (%)',group_operator="avg"),
|
||||
'planned_revenue': fields.float('Expected Revenue'),
|
||||
'ref': fields.reference('Reference', selection=crm._links_get, size=128),
|
||||
|
@ -352,7 +352,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
"""
|
||||
return self.set_priority(cr, uid, ids, '3')
|
||||
|
||||
|
||||
|
||||
def _merge_data(self, cr, uid, ids, oldest, fields, context=None):
|
||||
# prepare opportunity data into dictionary for merging
|
||||
opportunities = self.browse(cr, uid, ids, context=context)
|
||||
|
@ -367,7 +367,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
def _get_first_not_null_id(attr):
|
||||
res = _get_first_not_null(attr)
|
||||
return res and res.id or False
|
||||
|
||||
|
||||
def _concat_all(attr):
|
||||
return ', '.join(filter(lambda x: x, [getattr(opportunity, attr) or '' for opportunity in opportunities if hasattr(opportunity, attr)]))
|
||||
|
||||
|
@ -378,7 +378,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
continue
|
||||
field = field_info.column
|
||||
if field._type in ('many2many', 'one2many'):
|
||||
continue
|
||||
continue
|
||||
elif field._type == 'many2one':
|
||||
data[field_name] = _get_first_not_null_id(field_name) # !!
|
||||
elif field._type == 'text':
|
||||
|
@ -437,18 +437,18 @@ class crm_lead(crm_case, osv.osv):
|
|||
subject.append(opportunity.name)
|
||||
title = "%s : %s" % (merge_message, opportunity.name)
|
||||
details.append(self._mail_body_text(cr, uid, opportunity, fields, title=title, context=context))
|
||||
|
||||
|
||||
subject = subject[0] + ", ".join(subject[1:])
|
||||
details = "\n\n".join(details)
|
||||
return self.message_append(cr, uid, [opportunity_id], subject, body_text=details, context=context)
|
||||
|
||||
|
||||
def _merge_opportunity_history(self, cr, uid, opportunity_id, opportunities, context=None):
|
||||
message = self.pool.get('mail.message')
|
||||
for opportunity in opportunities:
|
||||
for history in opportunity.message_ids:
|
||||
message.write(cr, uid, history.id, {
|
||||
'res_id': opportunity_id,
|
||||
'subject' : _("From %s : %s") % (opportunity.name, history.subject)
|
||||
'res_id': opportunity_id,
|
||||
'subject' : _("From %s : %s") % (opportunity.name, history.subject)
|
||||
}, context=context)
|
||||
|
||||
return True
|
||||
|
@ -474,8 +474,8 @@ class crm_lead(crm_case, osv.osv):
|
|||
)
|
||||
attachment.write(values)
|
||||
count+=1
|
||||
|
||||
return True
|
||||
|
||||
return True
|
||||
|
||||
def merge_opportunity(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
|
@ -483,12 +483,12 @@ class crm_lead(crm_case, osv.osv):
|
|||
:param ids: list of opportunities ids to merge
|
||||
"""
|
||||
if context is None: context = {}
|
||||
|
||||
|
||||
#TOCHECK: where pass lead_ids in context?
|
||||
lead_ids = context and context.get('lead_ids', []) or []
|
||||
|
||||
if len(ids) <= 1:
|
||||
raise osv.except_osv(_('Warning !'),_('Please select more than one opportunities.'))
|
||||
raise osv.except_osv(_('Warning !'),_('Please select more than one opportunity from the list view.'))
|
||||
|
||||
ctx_opportunities = self.browse(cr, uid, lead_ids, context=context)
|
||||
opportunities = self.browse(cr, uid, ids, context=context)
|
||||
|
@ -501,11 +501,11 @@ class crm_lead(crm_case, osv.osv):
|
|||
first_opportunity = opportunities_list[0]
|
||||
tail_opportunities = opportunities_list[1:]
|
||||
|
||||
fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id',
|
||||
fields = ['partner_id', 'title', 'name', 'categ_id', 'channel_id', 'city', 'company_id', 'contact_name', 'country_id',
|
||||
'partner_address_id', 'type_id', 'user_id', 'section_id', 'state_id', 'description', 'email', 'fax', 'mobile',
|
||||
'partner_name', 'phone', 'probability', 'planned_revenue', 'street', 'street2', 'zip', 'create_date', 'date_action_last',
|
||||
'date_action_next', 'email_from', 'email_cc', 'partner_name']
|
||||
|
||||
|
||||
data = self._merge_data(cr, uid, ids, oldest, fields, context=context)
|
||||
|
||||
# merge data into first opportunity
|
||||
|
@ -513,8 +513,8 @@ class crm_lead(crm_case, osv.osv):
|
|||
|
||||
#copy message and attachements into the first opportunity
|
||||
self._merge_opportunity_history(cr, uid, first_opportunity.id, tail_opportunities, context=context)
|
||||
self._merge_opportunity_attachments(cr, uid, first_opportunity.id, tail_opportunities, context=context)
|
||||
|
||||
self._merge_opportunity_attachments(cr, uid, first_opportunity.id, tail_opportunities, context=context)
|
||||
|
||||
#Notification about loss of information
|
||||
self._merge_notification(cr, uid, first_opportunity, opportunities, context=context)
|
||||
#delete tail opportunities
|
||||
|
@ -534,7 +534,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
if section_id:
|
||||
stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1), ('section_ids','=', section_id)])
|
||||
else:
|
||||
stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1)])
|
||||
stage_ids = crm_stage.search(cr, uid, [('sequence','>=',1)])
|
||||
stage_id = stage_ids and stage_ids[0] or False
|
||||
return {
|
||||
'planned_revenue': lead.planned_revenue,
|
||||
|
@ -565,10 +565,10 @@ class crm_lead(crm_case, osv.osv):
|
|||
continue
|
||||
if user_ids or section_id:
|
||||
self.allocate_salesman(cr, uid, [lead.id], user_ids, section_id, context=context)
|
||||
|
||||
|
||||
vals = self._convert_opportunity_data(cr, uid, lead, customer, section_id, context=context)
|
||||
self.write(cr, uid, [lead.id], vals, context=context)
|
||||
|
||||
|
||||
self._convert_opportunity_notification(cr, uid, lead, context=context)
|
||||
#TOCHECK: why need to change partner details in all messages of lead ?
|
||||
if lead.partner_id:
|
||||
|
@ -596,7 +596,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
res_partner.write(cr, uid, partner_id, {'section_id': lead.section_id.id or False})
|
||||
contact_id = res_partner.address_get(cr, uid, [partner_id])['default']
|
||||
res = lead.write({'partner_id' : partner_id, 'partner_address_id': contact_id}, context=context)
|
||||
|
||||
|
||||
return res
|
||||
|
||||
def _lead_create_partner_address(self, cr, uid, lead, partner_id, context=None):
|
||||
|
@ -628,7 +628,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
context = {}
|
||||
partner_ids = {}
|
||||
for lead in self.browse(cr, uid, ids, context=context):
|
||||
if action == 'create':
|
||||
if action == 'create':
|
||||
if not partner_id:
|
||||
partner_id = self._lead_create_partner(cr, uid, lead, context=context)
|
||||
self._lead_create_partner_address(cr, uid, lead, partner_id, context=context)
|
||||
|
@ -641,12 +641,12 @@ class crm_lead(crm_case, osv.osv):
|
|||
Send mail to salesman with updated Lead details.
|
||||
@ lead: browse record of 'crm.lead' object.
|
||||
"""
|
||||
#TOFIX: mail template should be used here instead of fix subject, body text.
|
||||
#TOFIX: mail template should be used here instead of fix subject, body text.
|
||||
message = self.pool.get('mail.message')
|
||||
email_to = lead.user_id and lead.user_id.user_email
|
||||
if not email_to:
|
||||
return False
|
||||
|
||||
|
||||
email_from = lead.section_id and lead.section_id.user_id and lead.section_id.user_id.user_email or email_to
|
||||
partner = lead.partner_id and lead.partner_id.name or lead.partner_name
|
||||
subject = "lead %s converted into opportunity" % lead.name
|
||||
|
@ -697,7 +697,7 @@ class crm_lead(crm_case, osv.osv):
|
|||
'partner_mobile' : lead.partner_address_id and lead.partner_address_id.mobile or False,
|
||||
'priority': lead.priority,
|
||||
}
|
||||
|
||||
|
||||
new_id = phonecall.create(cr, uid, vals, context=context)
|
||||
phonecall.case_open(cr, uid, [new_id])
|
||||
if action == 'log':
|
||||
|
@ -799,10 +799,10 @@ class crm_lead(crm_case, osv.osv):
|
|||
context.update({
|
||||
'default_opportunity_id': opp.id,
|
||||
'default_partner_id': opp.partner_id and opp.partner_id.id or False,
|
||||
'default_user_id': uid,
|
||||
'default_user_id': uid,
|
||||
'default_section_id': opp.section_id and opp.section_id.id or False,
|
||||
'default_email_from': opp.email_from,
|
||||
'default_state': 'open',
|
||||
'default_state': 'open',
|
||||
'default_name': opp.name
|
||||
})
|
||||
value = {
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<field name="res_model">crm.lead</field>
|
||||
<field name="view_mode">kanban,tree,form,graph,calendar</field>
|
||||
<field name="domain">[('type','=','opportunity')]</field>
|
||||
<field name="context">{'search_default_user_id':uid,'search_default_new':1, 'search_default_open':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
|
||||
<field name="context">{'search_default_new':1, 'search_default_open':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
|
||||
<field name="help">With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
<newline />
|
||||
<field name="user_id" />
|
||||
<field name="section_id" widget="selection" />
|
||||
<field name="stage_id" domain="[('section_ids', '=', section_id)]" />
|
||||
<field name="stage_id" domain="section_id and [('section_ids', '=', section_id)] or []" />
|
||||
<group col="2" colspan="1">
|
||||
<button name="stage_previous" string=""
|
||||
states="open,pending,draft" type="object"
|
||||
|
@ -330,7 +330,7 @@
|
|||
<a string="Edit" icon="gtk-edit" type="edit"/>
|
||||
<a string="Change Color" icon="color-picker" type="color" name="color"/>
|
||||
<a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
|
||||
<a string="Schedule/Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
|
||||
<a string="Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/>
|
||||
<a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/>
|
||||
<a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
|
||||
</div>
|
||||
|
@ -440,7 +440,7 @@
|
|||
<group colspan="1" col="4">
|
||||
<field name="stage_id" nolabel="1"
|
||||
on_change="onchange_stage_id(stage_id)"
|
||||
domain="[('section_ids', '=', section_id)]"/>
|
||||
domain="section_id and [('section_ids', '=', section_id)] or []"/>
|
||||
<button name="stage_previous"
|
||||
states="draft,open,pending" type="object"
|
||||
icon="gtk-go-back" string="" context="{'stage_type': 'opportunity'}"/>
|
||||
|
|
|
@ -229,9 +229,11 @@
|
|||
<field name="arch" type="xml">
|
||||
<tree string="Meetings"
|
||||
colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="name" string="Subject" />
|
||||
<field name="user_id"/>
|
||||
<field name="date"/>
|
||||
<field name="state"/>
|
||||
<field name="duration" />
|
||||
<field name="partner_id" string="Partner" />
|
||||
<field name="location" />
|
||||
|
|
|
@ -66,8 +66,8 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,calendar</field>
|
||||
<field name="view_id" ref="crm_case_inbound_phone_tree_view"/>
|
||||
<field name="domain">[('state','=','done')]</field>
|
||||
<field name="context" eval="'{\'search_default_section_id\':section_id, \'default_state\':\'done\', \'search_default_today\':1}'"/>
|
||||
<field name="domain">[]</field>
|
||||
<field name="context" eval="'{\'search_default_section_id\':section_id}'"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
|
||||
<field name="help">This tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity.</field>
|
||||
|
||||
|
@ -105,7 +105,7 @@
|
|||
<field name="view_mode">tree,calendar</field>
|
||||
<field name="view_id" ref="crm_case_phone_tree_view"/>
|
||||
<field name="domain">[('state','!=','done')]</field>
|
||||
<field name="context" eval="'{\'search_default_section_id\':section_id, \'default_state\':\'open\', \'search_default_current\':1,\'search_default_today\':1}'"/>
|
||||
<field name="context" eval="'{\'search_default_section_id\':section_id, \'default_state\':\'open\', \'search_default_current\':1}'"/>
|
||||
<field name="search_view_id" ref="crm.view_crm_case_scheduled_phonecalls_filter"/>
|
||||
<field name="help">Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team.</field>
|
||||
</record>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<menuitem id="base.menu_sale_config_sales" name="Sales"
|
||||
parent="base.menu_base_config" sequence="0" groups="base.group_sale_manager"/>
|
||||
|
||||
<menuitem id="menu_crm_config_phonecall" name="Phone Call"
|
||||
<menuitem id="menu_crm_config_phonecall" name="Phone Calls"
|
||||
parent="base.menu_base_config" sequence="5" groups="base.group_extended"/>
|
||||
|
||||
<menuitem id="base.next_id_64" name="Reporting"
|
||||
|
|
|
@ -40,7 +40,7 @@ class crm_opportunity2phonecall(osv.osv_memory):
|
|||
|
||||
record_ids = context and context.get('active_ids', []) or []
|
||||
res = {}
|
||||
res.update({'action': 'schedule', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
res.update({'action': 'log', 'date': time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
for opp in opp_obj.browse(cr, uid, record_ids, context=context):
|
||||
if 'name' in fields:
|
||||
res.update({'name': opp.name})
|
||||
|
@ -73,7 +73,7 @@ class crm_opportunity2phonecall(osv.osv_memory):
|
|||
data.section_id and data.section_id.id or False, \
|
||||
data.categ_id and data.categ_id.id or False, \
|
||||
action=data.action, context=context)
|
||||
return phonecall.redirect_phonecall_view(cr, uid, call_ids[opportunity_ids[0]], context=context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
crm_opportunity2phonecall()
|
||||
|
||||
|
|
|
@ -0,0 +1,793 @@
|
|||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2011-12-29 06:36+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2011-12-30 05:39+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,nbr:0
|
||||
msgid "# of Cases"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Responsibilities"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,date_action_next:0
|
||||
msgid "Next Action Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,delay_close:0
|
||||
msgid "Delay to close"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,resolution:0
|
||||
msgid "Resolution"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,company_id:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,email_cc:0
|
||||
msgid "Watchers Emails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "#Claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,help:crm_claim.crm_claim_stage_act
|
||||
msgid ""
|
||||
"You can create claim stages to categorize the status of every claim entered "
|
||||
"in the system. The stages define all the steps required for the resolution "
|
||||
"of a claim."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: code:addons/crm_claim/crm_claim.py:132
|
||||
#, python-format
|
||||
msgid "The claim '%s' has been opened."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Date Closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,day:0
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Add Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,section_id:0
|
||||
msgid ""
|
||||
"Sales team to which Case belongs to.Define Responsible user and Email "
|
||||
"account for mail gateway."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Claim Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.categ,name:crm_claim.categ_claim1
|
||||
msgid "Factual Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,state:0
|
||||
#: selection:crm.claim.report,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.resource.type,name:crm_claim.type_claim2
|
||||
msgid "Preventive"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,date_closed:0
|
||||
msgid "Close Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,ref:0
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Date of claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "All pending Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "# Mails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Reset to Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,date_deadline:0
|
||||
#: field:crm.claim.report,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,partner_id:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,partner_id:0
|
||||
#: model:ir.model,name:crm_claim.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Month of claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,type_action:0
|
||||
#: selection:crm.claim.report,type_action:0
|
||||
msgid "Preventive Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,section_id:0
|
||||
msgid "Section"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Root Causes"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,user_fault:0
|
||||
msgid "Trouble Responsible"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,priority:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,priority:0
|
||||
msgid "Priority"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Send New Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: selection:crm.claim,state:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,email_from:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
#: selection:crm.claim.report,priority:0
|
||||
msgid "Lowest"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,action_next:0
|
||||
msgid "Next Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My Sales Team(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.stage,name:crm_claim.stage_claim3
|
||||
msgid "Won't fix"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,name:0
|
||||
msgid "Claim Subject"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,help:crm_claim.action_report_crm_claim
|
||||
msgid ""
|
||||
"Have a general overview of all claims processed in the system by sorting "
|
||||
"them with specific criteria."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,name:crm_claim.crm_claim_stage_act
|
||||
msgid "Claim Stages"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.ui.menu,name:crm_claim.menu_crm_case_claim-act
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,stage_id:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,stage_id:0
|
||||
msgid "Stage"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "History Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Month-1"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,name:crm_claim.action_report_crm_claim
|
||||
#: model:ir.ui.menu,name:crm_claim.menu_report_crm_claim_tree
|
||||
msgid "Claims Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim.report,delay_close:0
|
||||
msgid "Number of Days to close the case"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.model,name:crm_claim.model_crm_claim_report
|
||||
msgid "CRM Claim Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.stage,name:crm_claim.stage_claim1
|
||||
msgid "Accepted as Claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.resource.type,name:crm_claim.type_claim1
|
||||
msgid "Corrective"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,type_action:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,type_action:0
|
||||
msgid "Action Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Year of claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Salesman"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,categ_id:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,categ_id:0
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.categ,name:crm_claim.categ_claim2
|
||||
msgid "Value Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,email_cc:0
|
||||
msgid ""
|
||||
"These email addresses will be added to the CC field of all inbound and "
|
||||
"outbound emails for this record before being sent. Separate multiple email "
|
||||
"addresses with a comma"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
#: selection:crm.claim.report,priority:0
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,date_closed:0
|
||||
#: selection:crm.claim,state:0
|
||||
#: selection:crm.claim.report,state:0
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Reply"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: selection:crm.claim,state:0
|
||||
#: view:crm.claim.report:0
|
||||
#: selection:crm.claim.report,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Communication & History"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
#: selection:crm.claim.report,priority:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Global CC"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:res.partner:0
|
||||
msgid "Partners Claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,partner_phone:0
|
||||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Closure"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,date:0
|
||||
msgid "Claim Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,name:crm_claim.crm_claim_categ_action
|
||||
msgid "Claim Categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
#: model:ir.actions.act_window,name:crm_claim.act_claim_partner
|
||||
#: model:ir.actions.act_window,name:crm_claim.act_claim_partner_address
|
||||
#: model:ir.actions.act_window,name:crm_claim.crm_case_categ_claim0
|
||||
#: model:ir.ui.menu,name:crm_claim.menu_crm_case_claims
|
||||
#: field:res.partner,claims_ids:0
|
||||
msgid "Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,type_action:0
|
||||
#: selection:crm.claim.report,type_action:0
|
||||
msgid "Corrective Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.categ,name:crm_claim.categ_claim3
|
||||
msgid "Policy Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.model,name:crm_claim.model_crm_claim
|
||||
#: model:ir.ui.menu,name:crm_claim.menu_config_claim
|
||||
msgid "Claim"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
#: selection:crm.claim.report,priority:0
|
||||
msgid "Highest"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,partner_address_id:0
|
||||
msgid "Partner Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,state:0
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Claim Reporter"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: view:crm.claim.report:0
|
||||
#: selection:crm.claim.report,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "New Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: selection:crm.claim,state:0
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
#: field:crm.claim,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Claims created in current year"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Unassigned Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Claims created in current month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,delay_expected:0
|
||||
msgid "Overpassed Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,cause:0
|
||||
msgid "Root Cause"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Claim/Action Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,description:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Search Claims"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,section_id:0
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Sales Team"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Resolution Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,help:crm_claim.crm_case_categ_claim0
|
||||
msgid ""
|
||||
"Record and track your customers' claims. Claims may be linked to a sales "
|
||||
"order or a lot. You can send emails with attachments and keep the full "
|
||||
"history for a claim (emails sent, intervention type and so on). Claims may "
|
||||
"automatically be linked to an email address using the mail gateway module."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,email:0
|
||||
msgid "# Emails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.stage,name:crm_claim.stage_claim2
|
||||
msgid "Actions Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "Claims created in last month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:crm.case.stage,name:crm_claim.stage_claim5
|
||||
msgid "Actions Defined"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Follow Up"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: help:crm.claim,state:0
|
||||
msgid ""
|
||||
"The state is set to 'Draft', when a case is created. "
|
||||
" \n"
|
||||
"If the case is in progress the state is set to 'Open'. "
|
||||
" \n"
|
||||
"When the case is over, the state is set to 'Done'. "
|
||||
" \n"
|
||||
"If the case needs to be reviewed then the state is set to 'Pending'."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
#: field:crm.claim.report,name:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My company"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim.report,month:0
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim.report:0
|
||||
msgid "My Case(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You cannot create recursive associated members."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: selection:crm.claim,priority:0
|
||||
#: selection:crm.claim.report,priority:0
|
||||
msgid "High"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: model:ir.actions.act_window,help:crm_claim.crm_claim_categ_action
|
||||
msgid ""
|
||||
"Create claim categories to better manage and classify your claims. Some "
|
||||
"example of claims can be: preventive action, corrective action."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: field:crm.claim.report,create_date:0
|
||||
msgid "Create Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_claim
|
||||
#: view:crm.claim:0
|
||||
msgid "In Progress Claims"
|
||||
msgstr ""
|
|
@ -0,0 +1,841 @@
|
|||
# Romanian 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-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2012-01-03 18:58+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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-01-04 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,planned_revenue:0
|
||||
msgid "Planned Revenue"
|
||||
msgstr "Venituri planificate"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,nbr:0
|
||||
msgid "# of Cases"
|
||||
msgstr "# de Cazuri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Group By..."
|
||||
msgstr "Grupare după..."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,probability:0
|
||||
msgid "Avg. Probability"
|
||||
msgstr "Probabilitatea medie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "March"
|
||||
msgstr "Martie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,delay_close:0
|
||||
msgid "Delay to close"
|
||||
msgstr "Întârziere la inchidere"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,company_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Companie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_fund_categ_action
|
||||
msgid "Fundraising Categories"
|
||||
msgstr "Categorii de strangere de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,email_cc:0
|
||||
msgid "Watchers Emails"
|
||||
msgstr "Email-uri supraveghetori"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Cases"
|
||||
msgstr "Cazuri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Highest"
|
||||
msgstr "Cel mai ridicat (cea mai ridicata)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,day:0
|
||||
msgid "Day"
|
||||
msgstr "Zi"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Add Internal Note"
|
||||
msgstr "Adauga nota interna"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Mobil"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Notes"
|
||||
msgstr "Note"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr "Mesaje"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "My company"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Amount"
|
||||
msgstr "Sumă"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Anulat(ă)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,amount_revenue:0
|
||||
msgid "Est.Revenue"
|
||||
msgstr "Venit estimat"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Open Funds"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,ref:0
|
||||
msgid "Reference"
|
||||
msgstr "Referinţă"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,type_id:0
|
||||
msgid "Campaign"
|
||||
msgstr "Campanie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_action_next:0
|
||||
msgid "Next Action"
|
||||
msgstr "Următoarea acţiune"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Reset to Draft"
|
||||
msgstr "Resetare ca ciorna"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Extra Info"
|
||||
msgstr "Informaţii suplimentare"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.model,name:crm_fundraising.model_crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_config_fundrising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fund_raise
|
||||
msgid "Fund Raising"
|
||||
msgstr "Strângerea de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,partner_id:0
|
||||
#: field:crm.fundraising.report,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partener"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Funds raised in current year"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.action_report_crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_report_crm_fundraising_tree
|
||||
msgid "Fundraising Analysis"
|
||||
msgstr "Analiza Strangere de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Misc"
|
||||
msgstr "Diverse"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,section_id:0
|
||||
msgid "Section"
|
||||
msgstr "Secţiune"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioritate"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Send New Email"
|
||||
msgstr "Trimite un e-mail nou"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund1
|
||||
msgid "Social Rehabilitation And Rural Upliftment"
|
||||
msgstr "Reabilitare sociala si Ridicare rurala"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Pending Funds"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modalitate de plată"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,email_from:0
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Lowest"
|
||||
msgstr "Cel mai scazut (cea mai scazuta)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "My Sales Team(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Data creării"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr "Data scadenta"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "July"
|
||||
msgstr "Iulie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fundraising-act
|
||||
msgid "Categories"
|
||||
msgstr "Categorii"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,stage_id:0
|
||||
msgid "Stage"
|
||||
msgstr "Etapă"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "History Information"
|
||||
msgstr "Istoric Informatii"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Dates"
|
||||
msgstr "Date"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_name2:0
|
||||
msgid "Employee Email"
|
||||
msgstr "Email angajat"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund2
|
||||
msgid "Learning And Education"
|
||||
msgstr "Invatare si educatie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds Form"
|
||||
msgstr "Fonduri de la"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Fund Description"
|
||||
msgstr "Descriere fond"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising.report,delay_close:0
|
||||
msgid "Number of Days to close the case"
|
||||
msgstr "Numarul de zile pana la inchiderea (rezolvarea) cazului"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Funds raised in current month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "References"
|
||||
msgstr "Referințe"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Fundraising"
|
||||
msgstr "Strângere de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.action_report_crm_fundraising
|
||||
msgid ""
|
||||
"Have a general overview of all fund raising activities by sorting them with "
|
||||
"specific criteria such as the estimated revenue, average success probability "
|
||||
"and delay to close."
|
||||
msgstr ""
|
||||
"Aveti o vedere de ansamblu asupra tuturor activitatilor de stangere de "
|
||||
"fonduri sortandu-le dupa criterii specifice precum venitul estimat, "
|
||||
"probabilitatea medie de succes si intarzierea la inchidere."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "September"
|
||||
msgstr "Septembrie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Communication"
|
||||
msgstr "Comunicare"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds Tree"
|
||||
msgstr "Arbore fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,month:0
|
||||
msgid "Month"
|
||||
msgstr "Luna"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Escalate"
|
||||
msgstr "Promovează"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr "Data actualizarii"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund3
|
||||
msgid "Credit Card"
|
||||
msgstr "Card de credit"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_fundraising_stage_act
|
||||
msgid "Fundraising Stages"
|
||||
msgstr "Etapele strangerii de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Salesman"
|
||||
msgstr "Agent comercial"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,ref2:0
|
||||
msgid "Reference 2"
|
||||
msgstr "Referinta 2"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Funds raised in last month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,categ_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,categ_id:0
|
||||
msgid "Category"
|
||||
msgstr "Categorie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund4
|
||||
msgid "Arts And Culture"
|
||||
msgstr "Arta si Cultura"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,planned_cost:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,planned_cost:0
|
||||
msgid "Planned Costs"
|
||||
msgstr "Costuri planificate"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,email_cc:0
|
||||
msgid ""
|
||||
"These email addresses will be added to the CC field of all inbound and "
|
||||
"outbound emails for this record before being sent. Separate multiple email "
|
||||
"addresses with a comma"
|
||||
msgstr ""
|
||||
"Aceste adrese de email vor fi adaugate in campul CC al tuturor email-urilor "
|
||||
"primite si trimise pentru aceasta inregistrare inainte de a fi trimise. "
|
||||
"Despartiti adresele de mail multiple cu o virgula"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Ciornă"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Low"
|
||||
msgstr "Scăzut(ă)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_closed:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Închis"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Pending"
|
||||
msgstr "În așteptare"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Communication & History"
|
||||
msgstr "Comunicare & Istoric"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "August"
|
||||
msgstr "August"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Global CC"
|
||||
msgstr "CC global"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_case_category_act_fund_all1
|
||||
msgid "Funds"
|
||||
msgstr "Fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "June"
|
||||
msgstr "Iunie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Utilizator"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund2
|
||||
msgid "Cheque"
|
||||
msgstr "Cec"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,active:0
|
||||
msgid "Active"
|
||||
msgstr "Activ"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "November"
|
||||
msgstr "Noiembrie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr "Filtre extinse..."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Search"
|
||||
msgstr "Căutare"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "October"
|
||||
msgstr "Octombrie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "January"
|
||||
msgstr "Ianuarie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "#Fundraising"
|
||||
msgstr "#Strangere de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_fund_categ_action
|
||||
msgid ""
|
||||
"Manage and define the fund raising categories you want to be maintained in "
|
||||
"the system."
|
||||
msgstr ""
|
||||
"Gestionati si definiti categoriile strangerii de fonduri care doriti sa "
|
||||
"ramana in sistem."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr "Aceste persoane vor primi e-mail."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Fund Category"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date:0
|
||||
msgid "Date"
|
||||
msgstr "Dată"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund3
|
||||
msgid "Healthcare"
|
||||
msgstr "Servicii medicale"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "History"
|
||||
msgstr "Istoric"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_address_id:0
|
||||
msgid "Partner Contact"
|
||||
msgstr "Contact partener"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Month of fundraising"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Estimates"
|
||||
msgstr "Estimări"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,state:0
|
||||
msgid "State"
|
||||
msgstr "Stare"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Unassigned"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Done"
|
||||
msgstr "Efectuat"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "December"
|
||||
msgstr "Decembrie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anulează"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Open"
|
||||
msgstr "Deschide"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,state:0
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_case_category_act_fund_all1
|
||||
msgid ""
|
||||
"If you need to collect money for your organization or a campaign, Fund "
|
||||
"Raising allows you to track all your fund raising activities. In the search "
|
||||
"list, filter by funds description, email, history and probability of success."
|
||||
msgstr ""
|
||||
"Daca trebuie sa strangeti bani pentru organizatia dumneavoastra sau pentru o "
|
||||
"campanie, Strangerea de fonduri va permite sa tineti evidenta tuturor "
|
||||
"activitatilor dumneavoastra de strangere de fonduri. In lista de cautare, "
|
||||
"filtrati dupa descrierea fondurilor, emai, istoric si probabilitatea de "
|
||||
"succes."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr "Responsabil"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,section_id:0
|
||||
msgid ""
|
||||
"Sales team to which Case belongs to. Define Responsible user and Email "
|
||||
"account for mail gateway."
|
||||
msgstr ""
|
||||
"Echipa de vanzari careia ii apartine cazul. Definiti Utilizatorul "
|
||||
"responsabil si contul de email pentru mail gateway."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.model,name:crm_fundraising.model_crm_fundraising_report
|
||||
msgid "CRM Fundraising Report"
|
||||
msgstr "Raport Strangere de Fonduri MRC"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Reply"
|
||||
msgstr "Răspuns"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Date of fundraising"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,amount_revenue_prob:0
|
||||
msgid "Est. Rev*Prob."
|
||||
msgstr "Venit Estimat*Probabilitate"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,type_id:0
|
||||
msgid "Fundraising Type"
|
||||
msgstr "Tipul Strangerii de fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "New Funds"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_fundraising_stage_act
|
||||
msgid ""
|
||||
"Create and manage fund raising activity categories you want to be maintained "
|
||||
"in the system."
|
||||
msgstr ""
|
||||
"Creati si gestionati categoriile activitatii de stranere de fonduri care "
|
||||
"doriti sa ramana in sistem."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,description:0
|
||||
msgid "Description"
|
||||
msgstr "Descriere"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "May"
|
||||
msgstr "Mai"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,probability:0
|
||||
msgid "Probability (%)"
|
||||
msgstr "Probabilitate (%)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_name:0
|
||||
msgid "Employee's Name"
|
||||
msgstr "Numele angajatului"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,state:0
|
||||
msgid ""
|
||||
"The state is set to 'Draft', when a case is created. "
|
||||
" \n"
|
||||
"If the case is in progress the state is set to 'Open'. "
|
||||
" \n"
|
||||
"When the case is over, the state is set to 'Done'. "
|
||||
" \n"
|
||||
"If the case needs to be reviewed then the state is set to 'Pending'."
|
||||
msgstr ""
|
||||
"Starea este setata pe 'Ciorna', atunci cand este creat un caz. "
|
||||
" \n"
|
||||
"Daca cazul este in desfasurare, starea este setata pe 'Deschis'. "
|
||||
" \n"
|
||||
"Atunci cand cazul este incheiat, starea este setata pe 'Efectuat'. "
|
||||
" \n"
|
||||
"Daca cazul trebuie revazut, atunci starea este setata pe 'In asteptare'."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "February"
|
||||
msgstr "Februarie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nume"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund1
|
||||
msgid "Cash"
|
||||
msgstr "Numerar"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds by Categories"
|
||||
msgstr "Fonduri dupa Categorii"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Month-1"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "April"
|
||||
msgstr "Aprilie"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "My Case(s)"
|
||||
msgstr "Cazul (cazurile) meu (mele)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund4
|
||||
msgid "Demand Draft"
|
||||
msgstr "Solicitare ciorna"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Search Funds"
|
||||
msgstr "Cautare Fonduri"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "High"
|
||||
msgstr "Ridicat(ă)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,section_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Sales Team"
|
||||
msgstr "Echipa de vânzări"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,create_date:0
|
||||
msgid "Create Date"
|
||||
msgstr "Creare data"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_action_last:0
|
||||
msgid "Last Action"
|
||||
msgstr "Ultima acțiune"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,name:0
|
||||
msgid "Year"
|
||||
msgstr "An"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,duration:0
|
||||
msgid "Duration"
|
||||
msgstr "Durată"
|
||||
|
||||
#~ msgid "CRM Fundraising"
|
||||
#~ msgstr "Strangere de fonduri MRC"
|
||||
|
||||
#~ msgid " Month "
|
||||
#~ msgstr " Luna "
|
||||
|
||||
#~ msgid "Channel"
|
||||
#~ msgstr "Canal"
|
||||
|
||||
#~ msgid " Month-1 "
|
||||
#~ msgstr " Luna-1 "
|
||||
|
||||
#~ msgid " Year "
|
||||
#~ msgstr " An "
|
||||
|
||||
#~ msgid "Stages"
|
||||
#~ msgstr "Etape"
|
||||
|
||||
#~ msgid "Stage of case"
|
||||
#~ msgstr "Etapa cazului"
|
||||
|
||||
#~ msgid "Attachments"
|
||||
#~ msgstr "Atașamente"
|
||||
|
||||
#~ msgid "Current"
|
||||
#~ msgstr "Curent"
|
||||
|
||||
#~ msgid "Details"
|
||||
#~ msgstr "Detalii"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The channels represent the different communication modes available with the "
|
||||
#~ "customer."
|
||||
#~ msgstr ""
|
||||
#~ "Canalele reprezinta diferitele moduri disponibile de comunicare cu clientul."
|
|
@ -212,7 +212,7 @@ class delivery_grid(osv.osv):
|
|||
ok = True
|
||||
break
|
||||
if not ok:
|
||||
raise osv.except_osv(_('No price available !'), _('No line matched this order in the choosed delivery grids !'))
|
||||
raise osv.except_osv(_('No price available!'), _('No line matched this product or order in the choosed delivery grid.'))
|
||||
|
||||
return price
|
||||
|
||||
|
|
|
@ -7,20 +7,20 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2010-09-17 19:09+0000\n"
|
||||
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
|
||||
"<jesteve@zikzakmedia.com>\n"
|
||||
"PO-Revision-Date: 2011-12-31 15:56+0000\n"
|
||||
"Last-Translator: Christopher Ormaza - (Ecuadorenlinea.net) "
|
||||
"<chris.ormaza@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-12-23 05:53+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-01-01 05:31+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Order Ref."
|
||||
msgstr ""
|
||||
msgstr "Ref. pedido"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -31,23 +31,23 @@ msgstr "Destino"
|
|||
#. module: delivery
|
||||
#: field:stock.move,weight_net:0
|
||||
msgid "Net weight"
|
||||
msgstr ""
|
||||
msgstr "Peso neto"
|
||||
|
||||
#. module: delivery
|
||||
#: view:stock.picking:0
|
||||
msgid "Delivery Order"
|
||||
msgstr ""
|
||||
msgstr "Orden de Entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/delivery.py:215
|
||||
#, python-format
|
||||
msgid "No price available !"
|
||||
msgstr ""
|
||||
msgstr "¡No existe precio disponible!"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid_line
|
||||
msgid "Delivery Grid Line"
|
||||
msgstr ""
|
||||
msgstr "Línea cuadrícula envío"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -60,7 +60,7 @@ msgstr "Cuadrículas de envío"
|
|||
#: selection:delivery.grid.line,variable_factor:0
|
||||
#: field:stock.picking,volume:0
|
||||
msgid "Volume"
|
||||
msgstr "Volumen"
|
||||
msgstr "Volúmen"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,line_ids:0
|
||||
|
@ -70,12 +70,12 @@ msgstr "Línea de la cuadrícula"
|
|||
#. module: delivery
|
||||
#: help:delivery.carrier,partner_id:0
|
||||
msgid "The partner that is doing the delivery service."
|
||||
msgstr ""
|
||||
msgstr "La empresa que esta realizando el servicio de transporte"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.report.xml,name:delivery.report_shipping
|
||||
msgid "Delivery order"
|
||||
msgstr ""
|
||||
msgstr "Orden de Entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
|
@ -85,17 +85,19 @@ msgstr "Propiedades de envío"
|
|||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_picking_tree4
|
||||
msgid "Picking to be invoiced"
|
||||
msgstr ""
|
||||
msgstr "Orden de Entrega para ser Facturada"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,pricelist_ids:0
|
||||
msgid "Advanced Pricing"
|
||||
msgstr ""
|
||||
msgstr "Precio Avanzado"
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.grid,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of delivery grid."
|
||||
msgstr ""
|
||||
"Indica el orden de secuencia cuando se muestra una lista de cuadrícula de "
|
||||
"envío."
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -107,7 +109,7 @@ msgstr "Países"
|
|||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Delivery Order :"
|
||||
msgstr ""
|
||||
msgstr "Orden de Entrega :"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,variable_factor:0
|
||||
|
@ -122,11 +124,15 @@ msgid ""
|
|||
"can define several price lists for one delivery method, per country or a "
|
||||
"zone in a specific country defined by a postal code range."
|
||||
msgstr ""
|
||||
"La lista de precios por entrega le permite calcular el coste y precio de "
|
||||
"venta de la entrega en funvión del peso de los productos y de otros "
|
||||
"criterios. Puede definir varios precios por un método de entrega, por país, "
|
||||
"o por zona de un páis específico, definido por un rango de códigos postales."
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
msgstr "Monto"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
|
@ -147,28 +153,30 @@ msgstr "Método de envío"
|
|||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_stock_move
|
||||
msgid "Stock Move"
|
||||
msgstr ""
|
||||
msgstr "Moviemiento de stock"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/delivery.py:215
|
||||
#, python-format
|
||||
msgid "No line matched this order in the choosed delivery grids !"
|
||||
msgstr ""
|
||||
"¡No existe línea que concuerde con esta orden en las cuadrículas de envío "
|
||||
"seleccionadas!"
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,carrier_tracking_ref:0
|
||||
msgid "Carrier Tracking Ref"
|
||||
msgstr ""
|
||||
msgstr "Ref. seguimiento transportista"
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,weight_net:0
|
||||
msgid "Net Weight"
|
||||
msgstr ""
|
||||
msgstr "Peso neto"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.grid.line:0
|
||||
msgid "Grid Lines"
|
||||
msgstr "Líneas de la cuadrícula"
|
||||
msgstr "Líneas de cuadrícula"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -179,7 +187,7 @@ msgstr "Definición de la cuadrícula"
|
|||
#. module: delivery
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "_Cancel"
|
||||
msgstr ""
|
||||
msgstr "_Cancelar"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,operator:0
|
||||
|
@ -189,12 +197,12 @@ msgstr "Operador"
|
|||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_sale_order
|
||||
msgid "Sales Order"
|
||||
msgstr ""
|
||||
msgstr "Pedido de Venta"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form1
|
||||
|
@ -202,16 +210,19 @@ msgid ""
|
|||
"Define your delivery methods and their pricing. The delivery costs can be "
|
||||
"added on the sale order form or in the invoice, based on the delivery orders."
|
||||
msgstr ""
|
||||
"Define sus métodos de envío y sus precios. Los costos de envío pueden ser "
|
||||
"agregados en el pedido de venta o en la factura, basado en las ordenes de "
|
||||
"entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Lot"
|
||||
msgstr ""
|
||||
msgstr "Lote"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,partner_id:0
|
||||
msgid "Transport Company"
|
||||
msgstr ""
|
||||
msgstr "Compañia de Transporte"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_grid
|
||||
|
@ -221,12 +232,12 @@ msgstr "Cuadrícula de envío"
|
|||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Invoiced to"
|
||||
msgstr ""
|
||||
msgstr "Facturado a"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_stock_picking
|
||||
msgid "Picking List"
|
||||
msgstr ""
|
||||
msgstr "Lista de Envios"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,grids_id:0
|
||||
|
@ -236,7 +247,7 @@ msgstr "Cuadrículas de envío"
|
|||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_sale_order
|
||||
msgid "Make Delievery"
|
||||
msgstr ""
|
||||
msgstr "Realizar entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,name:0
|
||||
|
@ -254,12 +265,13 @@ msgid ""
|
|||
"Amount of the order to benefit from a free shipping, expressed in the "
|
||||
"company currency"
|
||||
msgstr ""
|
||||
"Monto de la orden por envío gratuito, expresado en la moneda de la compañía"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/stock.py:89
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Alerta"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,grid_id:0
|
||||
|
@ -272,6 +284,8 @@ msgid ""
|
|||
"If the active field is set to False, it will allow you to hide the delivery "
|
||||
"grid without removing it."
|
||||
msgstr ""
|
||||
"Si el campo activo se desmarca, permite ocultar la cuadrícula de envío sin "
|
||||
"eliminarla."
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,zip_to:0
|
||||
|
@ -282,22 +296,22 @@ msgstr "C.Postal final"
|
|||
#: code:addons/delivery/delivery.py:143
|
||||
#, python-format
|
||||
msgid "Default price"
|
||||
msgstr ""
|
||||
msgstr "Precio por Defecto"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.model,name:delivery.model_delivery_define_delivery_steps_wizard
|
||||
msgid "delivery.define.delivery.steps.wizard"
|
||||
msgstr ""
|
||||
msgstr "Asistente de Envíos"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,normal_price:0
|
||||
msgid "Normal Price"
|
||||
msgstr ""
|
||||
msgstr "Precio Normal"
|
||||
|
||||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Order Date"
|
||||
msgstr ""
|
||||
msgstr "Fecha del Pedido"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,name:0
|
||||
|
@ -307,12 +321,12 @@ msgstr "Nombre cuadrícula"
|
|||
#. module: delivery
|
||||
#: view:stock.move:0
|
||||
msgid "Weights"
|
||||
msgstr ""
|
||||
msgstr "Pesos"
|
||||
|
||||
#. module: delivery
|
||||
#: field:stock.picking,number_of_packages:0
|
||||
msgid "Number of Packages"
|
||||
msgstr ""
|
||||
msgstr "Número de bultos"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,type:0
|
||||
|
@ -329,23 +343,27 @@ msgid ""
|
|||
"Check this box if you want to manage delivery prices that depends on the "
|
||||
"destination, the weight, the total of the order, etc."
|
||||
msgstr ""
|
||||
"Seleccione esta opción si usted quiere manejar los precios de envío "
|
||||
"dependiendo de el destino, el preso, el total de la orden, etc."
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.carrier,normal_price:0
|
||||
msgid ""
|
||||
"Keep empty if the pricing depends on the advanced pricing per destination"
|
||||
msgstr ""
|
||||
"Mantenga vacío si el precio deprende de el precio avanzado por destino"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:stock.move:0
|
||||
msgid "You can not move products from or to a location of the type view."
|
||||
msgstr ""
|
||||
"Usted no puede mover productos desde o hacia una ubicación de tipo vista"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:94
|
||||
#, python-format
|
||||
msgid "No grid available !"
|
||||
msgstr ""
|
||||
msgstr "¡No hay una cuadrícula disponible!"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,operator:0
|
||||
|
@ -357,17 +375,17 @@ msgstr ">="
|
|||
#: code:addons/delivery/wizard/delivery_sale_order.py:97
|
||||
#, python-format
|
||||
msgid "Order not in draft state !"
|
||||
msgstr ""
|
||||
msgstr "¡La orden no está en estado borrador!"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.define.delivery.steps.wizard:0
|
||||
msgid "Choose Your Default Picking Policy"
|
||||
msgstr ""
|
||||
msgstr "Seleccione la política de envío por defecto"
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:stock.move:0
|
||||
msgid "You try to assign a lot which is not from the same product"
|
||||
msgstr ""
|
||||
msgstr "Está intentando asignar un lote que no es del mismo producto"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,active:0
|
||||
|
@ -378,7 +396,7 @@ msgstr "Activo"
|
|||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Shipping Date"
|
||||
msgstr ""
|
||||
msgstr "Fecha de envío"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,product_id:0
|
||||
|
@ -393,12 +411,12 @@ msgstr "Condición"
|
|||
#. module: delivery
|
||||
#: field:delivery.grid.line,standard_price:0
|
||||
msgid "Cost Price"
|
||||
msgstr "Precio coste"
|
||||
msgstr "Precio Costo"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.define.delivery.steps.wizard,picking_policy:0
|
||||
msgid "Picking Policy"
|
||||
msgstr ""
|
||||
msgstr "Política de envío"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.grid.line,price_type:0
|
||||
|
@ -410,11 +428,12 @@ msgstr "Variable"
|
|||
#: help:res.partner,property_delivery_carrier:0
|
||||
msgid "This delivery method will be used when invoicing from picking."
|
||||
msgstr ""
|
||||
"El método de envío sera usado cuando se facture desde la orden de entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: sql_constraint:stock.picking:0
|
||||
msgid "Reference must be unique per Company!"
|
||||
msgstr ""
|
||||
msgstr "¡La referencia debe ser única por Compañia!"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,max_value:0
|
||||
|
@ -424,18 +443,18 @@ msgstr "Valor máximo"
|
|||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
msgstr "Cantidad"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.define.delivery.steps.wizard:0
|
||||
#: model:ir.actions.act_window,name:delivery.action_define_delivery_steps
|
||||
msgid "Setup Your Picking Policy"
|
||||
msgstr ""
|
||||
msgstr "Configure su Política de Envíos"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form1
|
||||
msgid "Define Delivery Methods"
|
||||
msgstr ""
|
||||
msgstr "Define Métodos de Envío"
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.carrier,free_if_more_than:0
|
||||
|
@ -443,12 +462,16 @@ msgid ""
|
|||
"If the order is more expensive than a certain amount, the customer can "
|
||||
"benefit from a free shipping"
|
||||
msgstr ""
|
||||
"Si la orden tiene un monto mayor a cierto monto, el cliente se puede "
|
||||
"beneficiar con un envío gratuito"
|
||||
|
||||
#. module: delivery
|
||||
#: help:sale.order,carrier_id:0
|
||||
msgid ""
|
||||
"Complete this field if you plan to invoice the shipping based on picking."
|
||||
msgstr ""
|
||||
"Complete este campo si tiene previsto facturar el envío según la orden de "
|
||||
"entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.define.delivery.steps.wizard:0
|
||||
|
@ -459,12 +482,12 @@ msgstr "Cancelar"
|
|||
#: code:addons/delivery/delivery.py:131
|
||||
#, python-format
|
||||
msgid "Free if more than %.2f"
|
||||
msgstr ""
|
||||
msgstr "Gratis si es mayor a %.2f"
|
||||
|
||||
#. module: delivery
|
||||
#: sql_constraint:sale.order:0
|
||||
msgid "Order Reference must be unique per Company!"
|
||||
msgstr ""
|
||||
msgstr "¡La orden de referencia debe ser única por Compañía!"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,help:delivery.action_delivery_carrier_form
|
||||
|
@ -473,6 +496,9 @@ msgid ""
|
|||
"reinvoice the delivery costs when you are doing invoicing based on delivery "
|
||||
"orders"
|
||||
msgstr ""
|
||||
"Define los métodos de envío que usted esta usando, y sus respectivos precios "
|
||||
"en el pedido para re-facturar los costos de envío cuando usted esta haciendo "
|
||||
"las facturas basadas en las notas de entrega"
|
||||
|
||||
#. module: delivery
|
||||
#: view:res.partner:0
|
||||
|
@ -482,22 +508,22 @@ msgstr "Ventas & Compras"
|
|||
#. module: delivery
|
||||
#: selection:delivery.grid.line,operator:0
|
||||
msgid "<="
|
||||
msgstr ""
|
||||
msgstr "<="
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:stock.move:0
|
||||
msgid "You must assign a production lot for this product"
|
||||
msgstr ""
|
||||
msgstr "Debe asignar un lote de producción para este producto"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,free_if_more_than:0
|
||||
msgid "Free If More Than"
|
||||
msgstr ""
|
||||
msgstr "Gratis si es mayor"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "Create Deliveries"
|
||||
msgstr ""
|
||||
msgstr "Crear envíos"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -509,7 +535,7 @@ msgstr "Provincias"
|
|||
#. module: delivery
|
||||
#: report:sale.shipping:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: delivery
|
||||
#: help:delivery.carrier,active:0
|
||||
|
@ -517,6 +543,8 @@ msgid ""
|
|||
"If the active field is set to False, it will allow you to hide the delivery "
|
||||
"carrier without removing it."
|
||||
msgstr ""
|
||||
"Si el campo activo se desmarca, permite ocultar el transportista sin "
|
||||
"eliminarlo."
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
|
||||
|
@ -535,7 +563,7 @@ msgstr "Precio"
|
|||
#: code:addons/delivery/wizard/delivery_sale_order.py:94
|
||||
#, python-format
|
||||
msgid "No grid matching for this carrier !"
|
||||
msgstr ""
|
||||
msgstr "¡No concuerda cuadrícula para este transportista!"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.ui.menu,name:delivery.menu_delivery
|
||||
|
@ -557,22 +585,22 @@ msgstr "="
|
|||
#: code:addons/delivery/stock.py:90
|
||||
#, python-format
|
||||
msgid "The carrier %s (id: %d) has no delivery grid!"
|
||||
msgstr ""
|
||||
msgstr "¡El transportista %s (id: %d) no dispone de cuadrícula de envío!"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
msgid "Pricing Information"
|
||||
msgstr ""
|
||||
msgstr "Información de Precio"
|
||||
|
||||
#. module: delivery
|
||||
#: selection:delivery.define.delivery.steps.wizard,picking_policy:0
|
||||
msgid "Deliver all products at once"
|
||||
msgstr ""
|
||||
msgstr "Enviar todos los productos a la vez"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.carrier,use_detailed_pricelist:0
|
||||
msgid "Advanced Pricing per Destination"
|
||||
msgstr ""
|
||||
msgstr "Precio avanzado por destino"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.carrier:0
|
||||
|
@ -586,24 +614,24 @@ msgstr "Transportista"
|
|||
#. module: delivery
|
||||
#: view:delivery.sale.order:0
|
||||
msgid "_Apply"
|
||||
msgstr ""
|
||||
msgstr "_Aplicar"
|
||||
|
||||
#. module: delivery
|
||||
#: field:sale.order,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
msgstr "Identificador"
|
||||
|
||||
#. module: delivery
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:65
|
||||
#: code:addons/delivery/wizard/delivery_sale_order.py:97
|
||||
#, python-format
|
||||
msgid "The order state have to be draft to add delivery lines."
|
||||
msgstr ""
|
||||
msgstr "La orden debe estar en estado borrador para añadir líneas de envío."
|
||||
|
||||
#. module: delivery
|
||||
#: constraint:res.partner:0
|
||||
msgid "Error ! You cannot create recursive associated members."
|
||||
msgstr ""
|
||||
msgstr "Error! Usted no puede crear miembros asociados recursivos"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid,sequence:0
|
||||
|
@ -613,7 +641,7 @@ msgstr "Secuencia"
|
|||
#. module: delivery
|
||||
#: field:delivery.grid.line,list_price:0
|
||||
msgid "Sale Price"
|
||||
msgstr "Precio de venta"
|
||||
msgstr "Precio de Venta"
|
||||
|
||||
#. module: delivery
|
||||
#: model:ir.actions.act_window,name:delivery.action_delivery_cost
|
||||
|
@ -624,12 +652,12 @@ msgstr "Costes de envío"
|
|||
#. module: delivery
|
||||
#: selection:delivery.define.delivery.steps.wizard,picking_policy:0
|
||||
msgid "Deliver each product when available"
|
||||
msgstr ""
|
||||
msgstr "Enviar cada producto cuando este disponible"
|
||||
|
||||
#. module: delivery
|
||||
#: view:delivery.define.delivery.steps.wizard:0
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Aplicar"
|
||||
|
||||
#. module: delivery
|
||||
#: field:delivery.grid.line,price_type:0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
|
@ -15,7 +15,7 @@
|
|||
# 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/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import logging
|
||||
|
@ -29,20 +29,20 @@ class NhException(Exception):
|
|||
|
||||
class indexer(object):
|
||||
""" An indexer knows how to parse the content of some file.
|
||||
|
||||
|
||||
Typically, one indexer should be instantiated per file
|
||||
type.
|
||||
Override this class to add more functionality. Note that
|
||||
you should only override the Content or the File methods
|
||||
that give an optimal result. """
|
||||
|
||||
|
||||
def _getMimeTypes(self):
|
||||
""" Return supported mimetypes """
|
||||
return []
|
||||
|
||||
|
||||
def _getExtensions(self):
|
||||
return []
|
||||
|
||||
|
||||
def _getDefMime(self, ext):
|
||||
""" Return a mimetype for this document type, ideally the
|
||||
closest to the extension ext. """
|
||||
|
@ -63,23 +63,23 @@ class indexer(object):
|
|||
return self._doIndexContent(content)
|
||||
except NhException:
|
||||
pass
|
||||
|
||||
|
||||
if realfile != None:
|
||||
try:
|
||||
return self._doIndexFile(realfile)
|
||||
except NhException:
|
||||
pass
|
||||
|
||||
|
||||
fp = open(realfile,'rb')
|
||||
try:
|
||||
content2 = fp.read()
|
||||
finally:
|
||||
finally:
|
||||
fp.close()
|
||||
|
||||
|
||||
# The not-handled exception may be raised here
|
||||
return self._doIndexContent(content2)
|
||||
|
||||
|
||||
|
||||
|
||||
# last try, with a tmp file
|
||||
if content:
|
||||
try:
|
||||
|
@ -94,7 +94,7 @@ class indexer(object):
|
|||
pass
|
||||
|
||||
raise NhException('No appropriate method to index file')
|
||||
|
||||
|
||||
def _doIndexContent(self,content):
|
||||
raise NhException("Content not handled here")
|
||||
|
||||
|
@ -103,7 +103,7 @@ class indexer(object):
|
|||
|
||||
def __repr__(self):
|
||||
return "<indexer %s.%s>" %(self.__module__, self.__class__.__name__)
|
||||
|
||||
|
||||
|
||||
def mime_match(mime, mdict):
|
||||
if mdict.has_key(mime):
|
||||
|
@ -112,7 +112,7 @@ def mime_match(mime, mdict):
|
|||
mpat = mime.split('/')[0]+'/*'
|
||||
if mdict.has_key(mpat):
|
||||
return (mime, mdict[mpat])
|
||||
|
||||
|
||||
return (None, None)
|
||||
|
||||
class contentIndex(object):
|
||||
|
@ -120,22 +120,22 @@ class contentIndex(object):
|
|||
def __init__(self):
|
||||
self.mimes = {}
|
||||
self.exts = {}
|
||||
|
||||
|
||||
def register(self, obj):
|
||||
f = False
|
||||
for mime in obj._getMimeTypes():
|
||||
self.mimes[mime] = obj
|
||||
f = True
|
||||
|
||||
|
||||
for ext in obj._getExtensions():
|
||||
self.exts[ext] = obj
|
||||
f = True
|
||||
|
||||
|
||||
if f:
|
||||
self.__logger.debug('Register content indexer: %r', obj)
|
||||
if not f:
|
||||
raise Exception("Your indexer should at least suport a mimetype or extension")
|
||||
|
||||
|
||||
def doIndex(self, content, filename=None, content_type=None, realfname = None, debug=False):
|
||||
fobj = None
|
||||
fname = None
|
||||
|
@ -148,10 +148,10 @@ class contentIndex(object):
|
|||
if self.exts.has_key(ext):
|
||||
fobj = self.exts[ext]
|
||||
mime = fobj._getDefMime(ext)
|
||||
|
||||
|
||||
if content_type and not fobj:
|
||||
mime,fobj = mime_match(content_type, self.mimes)
|
||||
|
||||
|
||||
if not fobj:
|
||||
try:
|
||||
if realfname :
|
||||
|
@ -164,10 +164,10 @@ class contentIndex(object):
|
|||
fd, fname = tempfile.mkstemp(suffix=ext)
|
||||
os.write(fd, content)
|
||||
os.close(fd)
|
||||
|
||||
|
||||
pop = Popen(['file','-b','--mime',fname], shell=False, stdout=PIPE)
|
||||
(result, _) = pop.communicate()
|
||||
|
||||
|
||||
mime2 = result.split(';')[0]
|
||||
self.__logger.debug('File gave us: %s', mime2)
|
||||
# Note that the temporary file still exists now.
|
||||
|
@ -176,7 +176,7 @@ class contentIndex(object):
|
|||
mime = mime2
|
||||
except Exception:
|
||||
self.__logger.exception('Cannot determine mime type')
|
||||
|
||||
|
||||
try:
|
||||
if fobj:
|
||||
res = (mime, fobj.indexContent(content,filename,fname or realfname) )
|
||||
|
@ -187,14 +187,14 @@ class contentIndex(object):
|
|||
self.__logger.exception("Could not index file %s (%s)",
|
||||
filename, fname or realfname)
|
||||
res = None
|
||||
|
||||
|
||||
# If we created a tmp file, unlink it now
|
||||
if not realfname and fname:
|
||||
try:
|
||||
os.unlink(fname)
|
||||
except Exception:
|
||||
self.__logger.exception("Could not unlink %s", fname)
|
||||
|
||||
|
||||
return res
|
||||
|
||||
cntIndex = contentIndex()
|
||||
|
|
|
@ -23,14 +23,14 @@ class EDI(openerpweb.Controller):
|
|||
@openerpweb.httprequest
|
||||
def view(self, req, db, token):
|
||||
d = self.template(req)
|
||||
d["init"] = 'new s.edi.EdiView(null,"%s","%s").appendTo($("body"));'%(db,token)
|
||||
d["init"] = 's.edi.edi_view("%s","%s");'%(db,token)
|
||||
r = web.controllers.main.html_template % d
|
||||
return r
|
||||
|
||||
@openerpweb.httprequest
|
||||
def import_url(self, req, url):
|
||||
d = self.template(req)
|
||||
d["init"] = 'new s.edi.EdiImport(null,"%s").appendTo($("body"));'%(url)
|
||||
d["init"] = 's.edi.edi_import("%s");'%(url)
|
||||
r = web.controllers.main.html_template % d
|
||||
return r
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ openerp.edi.EdiView = openerp.web.Widget.extend({
|
|||
start: function() {
|
||||
this._super();
|
||||
var self = this;
|
||||
var param = {"db": this.db, "token": this.token};
|
||||
this.session.bind().then(self.rpc('/edi/get_edi_document', param, this.on_document_loaded, this.on_document_failed));
|
||||
var param = {"db": self.db, "token": self.token};
|
||||
return self.rpc('/edi/get_edi_document', param, this.on_document_loaded, this.on_document_failed);
|
||||
},
|
||||
on_document_loaded: function(docs){
|
||||
this.doc = docs[0];
|
||||
|
@ -107,6 +107,12 @@ openerp.edi.EdiView = openerp.web.Widget.extend({
|
|||
}
|
||||
});
|
||||
|
||||
openerp.edi.edi_view = function (db, token) {
|
||||
openerp.connection.bind().then(function () {
|
||||
new openerp.edi.EdiView(null,db,token).appendTo($("body"));
|
||||
});
|
||||
}
|
||||
|
||||
openerp.edi.EdiImport = openerp.web.Widget.extend({
|
||||
init: function(parent,url) {
|
||||
this._super();
|
||||
|
@ -117,18 +123,13 @@ openerp.edi.EdiImport = openerp.web.Widget.extend({
|
|||
this.session = openerp.connection;
|
||||
this.login = new openerp.web.Login(this);
|
||||
this.header = new openerp.web.Header(this);
|
||||
this.header.on_logout.add(this.login.on_logout);
|
||||
},
|
||||
start: function() {
|
||||
this.session.bind().then(function() {
|
||||
this.session.on_session_invalid.add_last(this.do_ask_login)
|
||||
this.header.appendTo($("#oe_header"));
|
||||
this.login.appendTo($('#oe_login'));
|
||||
this.do_import();
|
||||
});
|
||||
},
|
||||
do_ask_login: function() {
|
||||
this.login.do_ask_login(this.do_import);
|
||||
// TODO fix by explicitly asking login if needed
|
||||
//this.session.on_session_invalid.add_last(this.do_ask_login);
|
||||
this.header.appendTo($("#oe_header"));
|
||||
this.login.appendTo($('#oe_login'));
|
||||
this.do_import();
|
||||
},
|
||||
do_import: function() {
|
||||
this.rpc('/edi/import_edi_url', {url: this.url}, this.on_imported, this.on_imported_error);
|
||||
|
@ -159,7 +160,7 @@ openerp.edi.EdiImport = openerp.web.Widget.extend({
|
|||
msg += "\n Reason:" + response.data.fault_code;
|
||||
}
|
||||
var params = {error: response, message: msg};
|
||||
$(openerp.web.qweb.render("DialogWarning", params)).dialog({
|
||||
$(openerp.web.qweb.render("CrashManagerWarning", params)).dialog({
|
||||
title: "Document Import Notification",
|
||||
modal: true,
|
||||
buttons: {
|
||||
|
@ -169,5 +170,11 @@ openerp.edi.EdiImport = openerp.web.Widget.extend({
|
|||
}
|
||||
});
|
||||
|
||||
openerp.edi.edi_import = function (url) {
|
||||
openerp.connection.bind().then(function () {
|
||||
new openerp.edi.EdiImport(null,url).appendTo($("body"));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
|
||||
|
|
|
@ -214,7 +214,7 @@ class email_template(osv.osv):
|
|||
ir_values_obj = self.pool.get('ir.values')
|
||||
ir_values_obj.unlink(cr, uid, template.ref_ir_value.id, context)
|
||||
except:
|
||||
raise osv.except_osv(_("Warning"), _("Deletion of Record failed"))
|
||||
raise osv.except_osv(_("Warning"), _("Deletion of the action record failed."))
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -100,11 +100,11 @@
|
|||
</record>
|
||||
|
||||
<menuitem
|
||||
parent="base.next_id_15"
|
||||
parent="base.menu_email"
|
||||
id="menu_action_fetchmail_server_tree"
|
||||
action="action_email_server_tree"
|
||||
name="Incoming Mail Servers"
|
||||
sequence="40"
|
||||
sequence="14"
|
||||
/>
|
||||
|
||||
<record model="ir.ui.view" id="email_message_tree_view">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
{
|
||||
"name": "Employee Address Book",
|
||||
"name": "Employee Directory",
|
||||
"version": "1.1",
|
||||
"author": "OpenERP SA",
|
||||
"category": "Human Resources",
|
||||
|
|
|
@ -8,14 +8,15 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-12-23 09:54+0000\n"
|
||||
"PO-Revision-Date: 2010-03-09 04:16+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-01-03 02:55+0000\n"
|
||||
"Last-Translator: Christopher Ormaza - (Ecuadorenlinea.net) "
|
||||
"<chris.ormaza@gmail.com>\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: 2011-12-24 05:54+0000\n"
|
||||
"X-Generator: Launchpad (build 14560)\n"
|
||||
"X-Launchpad-Export-Date: 2012-01-04 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.node,name:hr.process_node_openerpuser0
|
||||
|
@ -26,7 +27,7 @@ msgstr "Usuario OpenERP"
|
|||
#: view:hr.job:0
|
||||
#: field:hr.job,requirements:0
|
||||
msgid "Requirements"
|
||||
msgstr ""
|
||||
msgstr "Requisitos"
|
||||
|
||||
#. module: hr
|
||||
#: constraint:hr.department:0
|
||||
|
@ -36,7 +37,7 @@ msgstr "Error! No puede crear departamentos recursivos."
|
|||
#. module: hr
|
||||
#: model:process.transition,name:hr.process_transition_contactofemployee0
|
||||
msgid "Link the employee to information"
|
||||
msgstr ""
|
||||
msgstr "Enlaza el empleado con la información"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,sinid:0
|
||||
|
@ -54,12 +55,12 @@ msgstr "Recursos Humanos"
|
|||
#: view:hr.employee:0
|
||||
#: view:hr.job:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Agroupar por ..."
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.view_department_form_installer
|
||||
msgid "Create Your Departments"
|
||||
msgstr ""
|
||||
msgstr "Crear sus Departamentos"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,help:hr.action_hr_job
|
||||
|
@ -70,6 +71,11 @@ msgid ""
|
|||
"will be used in the recruitment process to evaluate the applicants for this "
|
||||
"job position."
|
||||
msgstr ""
|
||||
"Los puestos de trabajo se utilizan para definir los cargos y sus requisitos. "
|
||||
"Puede controlar el número de empleados que tiene por puesto y cuántos espera "
|
||||
"tener en un futuro. Asimismo, puede adjuntar una encuesta a una posición "
|
||||
"laboral que será utilizada en el proceso de selección para evaluar a los "
|
||||
"candidatos a este puesto."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -83,17 +89,17 @@ msgstr "Departamento"
|
|||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "Mark as Old"
|
||||
msgstr ""
|
||||
msgstr "Marcar como antiguo"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "Jobs"
|
||||
msgstr ""
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "In Recruitment"
|
||||
msgstr ""
|
||||
msgstr "En selección"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,company_id:0
|
||||
|
@ -106,12 +112,12 @@ msgstr "Compañía"
|
|||
#. module: hr
|
||||
#: field:hr.job,no_of_recruitment:0
|
||||
msgid "Expected in Recruitment"
|
||||
msgstr ""
|
||||
msgstr "Previsión en selección"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.todo.category,name:hr.category_hr_management_config
|
||||
msgid "HR Management"
|
||||
msgstr ""
|
||||
msgstr "Administración de RH"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.employee,partner_id:0
|
||||
|
@ -119,11 +125,13 @@ msgid ""
|
|||
"Partner that is related to the current employee. Accounting transaction will "
|
||||
"be written on this partner belongs to employee."
|
||||
msgstr ""
|
||||
"Empresa que está relacionada con el empleado actual. Las transacciones "
|
||||
"contables se escribirán en esta empresa a la cual pertenece el empleado."
|
||||
|
||||
#. module: hr
|
||||
#: model:process.transition,name:hr.process_transition_employeeuser0
|
||||
msgid "Link a user to an employee"
|
||||
msgstr ""
|
||||
msgstr "Vincular un usuario a un empleado"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,parent_id:0
|
||||
|
@ -139,7 +147,7 @@ msgstr "Notas"
|
|||
#. module: hr
|
||||
#: selection:hr.employee,marital:0
|
||||
msgid "Married"
|
||||
msgstr ""
|
||||
msgstr "Casado (a)"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,help:hr.action_create_hr_employee_installer
|
||||
|
@ -149,6 +157,10 @@ msgid ""
|
|||
"operations on all the employees of the same category, i.e. allocating "
|
||||
"holidays."
|
||||
msgstr ""
|
||||
"Cree empleados y enlacelos a un usuario del sistema OpenERP si usted quiere "
|
||||
"que ellos tengan acceso al sistema, Las Categorías pueden ser asignadas a "
|
||||
"los empleados para poder realizar operaciones sobre las categorías, por "
|
||||
"ejemplo los días feriados"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,help:hr.open_module_tree_department
|
||||
|
@ -157,11 +169,14 @@ msgid ""
|
|||
"to employees by departments: expenses and timesheet validation, leaves "
|
||||
"management, recruitments, etc."
|
||||
msgstr ""
|
||||
"La estructura de departamentos de su compañía se utiliza para gestionar "
|
||||
"todos los documentos relativos a los empleados por departamentos: gastos y "
|
||||
"validación de tiempos, gestión de ausencias, procesos de selección, etc."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,color:0
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
msgstr "Color del Indice"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.transition,note:hr.process_transition_employeeuser0
|
||||
|
@ -169,17 +184,19 @@ msgid ""
|
|||
"The Related user field on the Employee form allows to link the OpenERP user "
|
||||
"(and her rights) to the employee."
|
||||
msgstr ""
|
||||
"El campo usuario relacionado en el formulario del empleado permite vincular "
|
||||
"el usuario de OpenERP (y sus permisos) al empleado."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
#: selection:hr.job,state:0
|
||||
msgid "In Recruitement"
|
||||
msgstr ""
|
||||
msgstr "En selección"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,identification_id:0
|
||||
msgid "Identification No"
|
||||
msgstr ""
|
||||
msgstr "Nº identificación"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.employee,gender:0
|
||||
|
@ -189,12 +206,12 @@ msgstr "Mujer"
|
|||
#. module: hr
|
||||
#: help:hr.job,expected_employees:0
|
||||
msgid "Required number of employees in total for that job."
|
||||
msgstr ""
|
||||
msgstr "Número de empleados requeridos en total para este puesto"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config
|
||||
msgid "Attendance"
|
||||
msgstr ""
|
||||
msgstr "Asistencia"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -216,7 +233,7 @@ msgstr "Categorías Inferiores"
|
|||
#: field:hr.job,description:0
|
||||
#: model:ir.model,name:hr.model_hr_job
|
||||
msgid "Job Description"
|
||||
msgstr ""
|
||||
msgstr "Descripción del puesto de trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,work_location:0
|
||||
|
@ -226,7 +243,7 @@ msgstr "Dirección Oficina"
|
|||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
msgid "My Departments Employee"
|
||||
msgstr ""
|
||||
msgstr "Mis Departamentos"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -238,17 +255,17 @@ msgstr "Empleado"
|
|||
#. module: hr
|
||||
#: model:process.node,note:hr.process_node_employeecontact0
|
||||
msgid "Other information"
|
||||
msgstr ""
|
||||
msgstr "Otra información"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,work_email:0
|
||||
msgid "Work E-mail"
|
||||
msgstr ""
|
||||
msgstr "Email de trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,birthday:0
|
||||
msgid "Date of Birth"
|
||||
msgstr ""
|
||||
msgstr "Fecha de nacimiento"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.ui.menu,name:hr.menu_hr_reporting
|
||||
|
@ -259,14 +276,14 @@ msgstr "Informe"
|
|||
#: model:ir.actions.act_window,name:hr.open_board_hr
|
||||
#: model:ir.ui.menu,name:hr.menu_hr_dashboard_user
|
||||
msgid "Human Resources Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Tablero de Recursos Humanos"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
#: field:hr.employee,job_id:0
|
||||
#: view:hr.job:0
|
||||
msgid "Job"
|
||||
msgstr ""
|
||||
msgstr "Puesto de Trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,member_ids:0
|
||||
|
@ -282,12 +299,12 @@ msgstr "Configuración"
|
|||
#: view:hr.employee:0
|
||||
#: field:hr.employee,category_ids:0
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
msgstr "Categorías"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.job,expected_employees:0
|
||||
msgid "Expected Employees"
|
||||
msgstr ""
|
||||
msgstr "Empleados previstos"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.employee,marital:0
|
||||
|
@ -302,7 +319,7 @@ msgstr "Categoría Superior"
|
|||
#. module: hr
|
||||
#: constraint:hr.employee.category:0
|
||||
msgid "Error ! You cannot create recursive Categories."
|
||||
msgstr ""
|
||||
msgstr "¡Error! No puede crear categorías recursivas."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
|
@ -320,7 +337,7 @@ msgstr "Contacto de Empleado"
|
|||
#. module: hr
|
||||
#: view:board.board:0
|
||||
msgid "My Board"
|
||||
msgstr ""
|
||||
msgstr "Mi tablero"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.employee,gender:0
|
||||
|
@ -342,7 +359,7 @@ msgstr "Categoría de empleado"
|
|||
#. module: hr
|
||||
#: model:process.process,name:hr.process_process_employeecontractprocess0
|
||||
msgid "Employee Contract"
|
||||
msgstr ""
|
||||
msgstr "Contrato de empleado"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.model,name:hr.model_hr_department
|
||||
|
@ -352,7 +369,7 @@ msgstr "Departamento"
|
|||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.action_create_hr_employee_installer
|
||||
msgid "Create your Employees"
|
||||
msgstr ""
|
||||
msgstr "Cree sus empleados"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee.category,name:0
|
||||
|
@ -373,11 +390,23 @@ msgid ""
|
|||
"they will be able to enter time through the system. In the note tab, you can "
|
||||
"enter text data that should be recorded for a specific employee."
|
||||
msgstr ""
|
||||
"Aquí puede gestionar su mano de obra creando empleados y asignándoles "
|
||||
"propiedades específicas en el sistema. Mantenga toda la información "
|
||||
"relacionada con los empleados y haga un seguimiento de cualquier hecho que "
|
||||
"necesite ser registrado. La pestaña con información personal le ayudará a "
|
||||
"mantener los datos sobre su identidad. La pestaña Categorías le permite "
|
||||
"asignarles categorías de empleados en función de su puesto y actividades "
|
||||
"dentro de la compañía. Una categoría puede ser la antigüedad dentro de la "
|
||||
"compañía o departamento. La pestaña de Hoja de servicios permite asignarles "
|
||||
"una hoja de servicios específica y un diario analítico donde podrán "
|
||||
"introducir tiempo en el sistema. En la pestaña notas puede introducir "
|
||||
"información, en formato texto libre, que debe ser guardada para un empleado "
|
||||
"en concreto."
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.employee,bank_account_id:0
|
||||
msgid "Employee bank salary account"
|
||||
msgstr ""
|
||||
msgstr "Cuenta bancaria de salario del empleado."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,note:0
|
||||
|
@ -393,6 +422,7 @@ msgstr "Árbol de Empleados"
|
|||
#: constraint:res.users:0
|
||||
msgid "The chosen company is not in the allowed companies for this user"
|
||||
msgstr ""
|
||||
"La compañía seleccionada no está autorizada como compañía para este usuario"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -408,7 +438,7 @@ msgstr "Dirección de trabajo"
|
|||
#: model:ir.actions.act_window,name:hr.open_board_hr_manager
|
||||
#: model:ir.ui.menu,name:hr.menu_hr_dashboard_manager
|
||||
msgid "HR Manager Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Tablero Director Recursos Humanos"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -424,12 +454,12 @@ msgstr "Árbol de categorías"
|
|||
#. module: hr
|
||||
#: field:hr.employee,partner_id:0
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
msgstr "Desconocido"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.job,no_of_employee:0
|
||||
msgid "Number of employees with that job."
|
||||
msgstr ""
|
||||
msgstr "Número de empleados con este trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,ssnid:0
|
||||
|
@ -449,7 +479,7 @@ msgstr "¡Error! No se puede crear una jerarquía recursiva de empleados."
|
|||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.action2
|
||||
msgid "Subordonate Hierarchy"
|
||||
msgstr ""
|
||||
msgstr "Organigrama Jerárquico"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,help:hr.view_department_form_installer
|
||||
|
@ -458,11 +488,14 @@ msgid ""
|
|||
"employees by departments: expenses and timesheet validation, leaves "
|
||||
"management, recruitments, etc."
|
||||
msgstr ""
|
||||
"La estructura de sus departamentos es usada para administrar todos los "
|
||||
"documentos relacionados a los empleados por departamento: Gastos y Hojas de "
|
||||
"Asistencia, gestión de ausencias, proceso de selección, etc."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,bank_account_id:0
|
||||
msgid "Bank Account Number"
|
||||
msgstr ""
|
||||
msgstr "Número de Cuenta Bancaria"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
|
@ -475,27 +508,29 @@ msgid ""
|
|||
"In the Employee form, there are different kind of information like Contact "
|
||||
"information."
|
||||
msgstr ""
|
||||
"En el formulario del empleado, hay diferentes tipos de información como la "
|
||||
"información de contacto."
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.ui.menu,name:hr.menu_hr_dashboard
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
msgstr "Tablero"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.job,state:0
|
||||
msgid "Old"
|
||||
msgstr ""
|
||||
msgstr "Antiguo"
|
||||
|
||||
#. module: hr
|
||||
#: sql_constraint:res.users:0
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr ""
|
||||
msgstr "¡No puede tener dos usuarios con el mismo identificador de usuario!"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
#: field:hr.job,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
msgstr "Estado/Provincia"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,marital:0
|
||||
|
@ -505,22 +540,22 @@ msgstr "Estado civil"
|
|||
#. module: hr
|
||||
#: model:ir.model,name:hr.model_ir_actions_act_window
|
||||
msgid "ir.actions.act_window"
|
||||
msgstr ""
|
||||
msgstr "Asistente"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.node,note:hr.process_node_employee0
|
||||
msgid "Employee form and structure"
|
||||
msgstr ""
|
||||
msgstr "Formulario y estructura del empleado"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,photo:0
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
msgstr "Fotografía"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.model,name:hr.model_res_users
|
||||
msgid "res.users"
|
||||
msgstr ""
|
||||
msgstr "Usuarios"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
|
@ -530,17 +565,17 @@ msgstr "Información personal"
|
|||
#. module: hr
|
||||
#: field:hr.employee,city:0
|
||||
msgid "City"
|
||||
msgstr ""
|
||||
msgstr "Ciudad"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,passport_id:0
|
||||
msgid "Passport No"
|
||||
msgstr ""
|
||||
msgstr "Nº Pasaporte"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,mobile_phone:0
|
||||
msgid "Work Mobile"
|
||||
msgstr ""
|
||||
msgstr "Móvil del trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee.category:0
|
||||
|
@ -555,23 +590,23 @@ msgstr "Domicilio"
|
|||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: hr
|
||||
#: selection:hr.employee,marital:0
|
||||
msgid "Single"
|
||||
msgstr ""
|
||||
msgstr "Soltero(a)"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.job,name:0
|
||||
msgid "Job Name"
|
||||
msgstr ""
|
||||
msgstr "Nombre del Puesto de Trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
#: selection:hr.job,state:0
|
||||
msgid "In Position"
|
||||
msgstr ""
|
||||
msgstr "Ocupado"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
|
@ -586,17 +621,17 @@ msgstr "Nacionalidad"
|
|||
#. module: hr
|
||||
#: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_config
|
||||
msgid "Leaves"
|
||||
msgstr ""
|
||||
msgstr "Ausencias"
|
||||
|
||||
#. module: hr
|
||||
#: view:board.board:0
|
||||
msgid "HR Manager Board"
|
||||
msgstr ""
|
||||
msgstr "Tablero de gestión de RRHH"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,resource_id:0
|
||||
msgid "Resource"
|
||||
msgstr ""
|
||||
msgstr "Recurso"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,complete_name:0
|
||||
|
@ -636,12 +671,12 @@ msgstr "Nombre de departamento"
|
|||
#. module: hr
|
||||
#: help:hr.employee,ssnid:0
|
||||
msgid "Social Security Number"
|
||||
msgstr ""
|
||||
msgstr "Número de Seguro Social"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.node,note:hr.process_node_openerpuser0
|
||||
msgid "Creation of a OpenERP user"
|
||||
msgstr ""
|
||||
msgstr "Creación de un usuario OpenERP"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,child_ids:0
|
||||
|
@ -657,28 +692,28 @@ msgstr "Información laboral"
|
|||
#: model:ir.actions.act_window,name:hr.action_hr_job
|
||||
#: model:ir.ui.menu,name:hr.menu_hr_job
|
||||
msgid "Job Positions"
|
||||
msgstr ""
|
||||
msgstr "Puestos de trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,otherid:0
|
||||
msgid "Other Id"
|
||||
msgstr ""
|
||||
msgstr "Otro id"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
#: field:hr.employee,coach_id:0
|
||||
msgid "Coach"
|
||||
msgstr ""
|
||||
msgstr "Entrenador"
|
||||
|
||||
#. module: hr
|
||||
#: sql_constraint:hr.job:0
|
||||
msgid "The name of the job position must be unique per company!"
|
||||
msgstr ""
|
||||
msgstr "¡El nombre de el puesto de trabajo, debe ser único por Compañia!"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "My Departments Jobs"
|
||||
msgstr ""
|
||||
msgstr "Mis departamentos de Trabajo"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,manager_id:0
|
||||
|
@ -690,7 +725,7 @@ msgstr "Director"
|
|||
#. module: hr
|
||||
#: selection:hr.employee,marital:0
|
||||
msgid "Widower"
|
||||
msgstr ""
|
||||
msgstr "Viudo(a)"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,child_ids:0
|
||||
|
@ -700,7 +735,7 @@ msgstr "Subordinados"
|
|||
#. module: hr
|
||||
#: field:hr.job,no_of_employee:0
|
||||
msgid "Number of Employees"
|
||||
msgstr ""
|
||||
msgstr "Número de Empleados"
|
||||
|
||||
#~ msgid "Work Email"
|
||||
#~ msgstr "E-mail de Trabajo"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<field name="model">hr.attendance</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Employee attendance">
|
||||
<form string="Employee attendances">
|
||||
<field name="employee_id" />
|
||||
<field name="name" />
|
||||
<field name="action" />
|
||||
|
@ -35,7 +35,7 @@
|
|||
<field name="type">tree</field>
|
||||
<field eval="3" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Employee attendance">
|
||||
<tree string="Employee attendances">
|
||||
<field name="employee_id"/>
|
||||
<field name="name"/>
|
||||
<field name="action"/>
|
||||
|
@ -68,7 +68,7 @@
|
|||
</record>
|
||||
|
||||
<record id="open_view_attendance" model="ir.actions.act_window">
|
||||
<field name="name">Attendance</field>
|
||||
<field name="name">Attendances</field>
|
||||
<field name="res_model">hr.attendance</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
<menuitem id="menu_hr_time_tracking" name="Time Tracking" parent="hr.menu_hr_root" sequence="3" groups="base.group_user,base.group_hr_user,base.group_hr_manager"/>
|
||||
|
||||
<menuitem id="menu_hr_attendance" name="Attendance" parent="hr.menu_hr_root" sequence="4" groups="base.group_user,base.group_hr_user,base.group_hr_manager"/>
|
||||
<menuitem id="menu_hr_attendance" name="Attendances" parent="hr.menu_hr_root" sequence="4" groups="base.group_user,base.group_hr_user,base.group_hr_manager"/>
|
||||
|
||||
<menuitem action="open_view_attendance" id="menu_open_view_attendance" parent="menu_hr_attendance" sequence="20"/>
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ class report_custom(report_rml):
|
|||
if context is None:
|
||||
context = {}
|
||||
month = datetime(datas['form']['year'], datas['form']['month'], 1)
|
||||
emp_ids = context.get('active_ids', [])
|
||||
emp_ids = datas['active_ids']
|
||||
user_xml = ['<month>%s</month>' % _(month2name[month.month]), '<year>%s</year>' % month.year]
|
||||
if emp_ids:
|
||||
for emp in obj_emp.read(cr, uid, emp_ids, ['name']):
|
||||
|
@ -96,7 +96,7 @@ class report_custom(report_rml):
|
|||
days_xml.append(today_xml)
|
||||
today, tomor = tomor, tomor + one_day
|
||||
user_xml.append(user_repr % '\n'.join(days_xml))
|
||||
|
||||
|
||||
rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee')
|
||||
rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
|
||||
header_xml = '''
|
||||
|
@ -105,7 +105,7 @@ class report_custom(report_rml):
|
|||
<company>%s</company>
|
||||
</header>
|
||||
''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name)
|
||||
|
||||
|
||||
first_date = str(month)
|
||||
som = datetime.strptime(first_date, '%Y-%m-%d %H:%M:%S')
|
||||
eom = som + timedelta(int(dy)-1)
|
||||
|
@ -130,7 +130,7 @@ class report_custom(report_rml):
|
|||
month=som.month
|
||||
month_dict[j]=som.strftime('%B')
|
||||
width_dict[j]=cell
|
||||
|
||||
|
||||
while day_diff1>0:
|
||||
if month+i<=12:
|
||||
if day_diff1 > lengthmonth(year,i+month): # Not on 30 else you have problems when entering 01-01-2009 for example
|
||||
|
|
|
@ -38,6 +38,7 @@ class hr_attendance_bymonth(osv.osv_memory):
|
|||
def print_report(self, cr, uid, ids, context=None):
|
||||
datas = {
|
||||
'ids': [],
|
||||
'active_ids': context['active_ids'],
|
||||
'model': 'hr.employee',
|
||||
'form': self.read(cr, uid, ids)[0]
|
||||
}
|
||||
|
|
|
@ -305,10 +305,13 @@
|
|||
<field name="response" readonly="1"/>
|
||||
<field name="user_to_review_id"/>
|
||||
<field name="user_id" string="Interviewer"/>
|
||||
<button string="Send Reminder Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
icon="terp-mail-message-new" type="action" colspan="2"
|
||||
states="waiting_answer"/>
|
||||
<group col="2" colspan="2">
|
||||
<button string="Send Reminder Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
icon="terp-mail-message-new" type="action"
|
||||
states="waiting_answer"/>
|
||||
<button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<separator string="State" colspan="4"/>
|
||||
|
@ -332,6 +335,7 @@
|
|||
<field name="response" readonly="1" invisible="True"/>
|
||||
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response, 'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
|
||||
<button name="%(survey.survey_browse_response)d" string="Print Interview" type="action" states="done" icon="gtk-print" context="{'survey_id': survey_id, 'response_id' : [response], 'response_no':0}" attrs="{'readonly':[('response','=',False)]}" />
|
||||
<button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
|
||||
<button name="%(mail.action_email_compose_message_wizard)d" string="Send Reminder Email" icon="terp-mail-message-new" type="action" colspan="2" states="waiting_answer"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
|
|
|
@ -0,0 +1,908 @@
|
|||
# Arabic 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-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2012-01-03 12:54+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@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-01-04 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,send_anonymous_manager:0
|
||||
msgid "Send an anonymous summary to the manager"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Start Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr.evaluation.report:0
|
||||
#: view:hr_evaluation.plan:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Appraisal that overpassed the deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.interview,request_id:0
|
||||
#: field:hr.evaluation.report,request_id:0
|
||||
msgid "Request_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,progress_bar:0
|
||||
#: field:hr_evaluation.evaluation,progress:0
|
||||
msgid "Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,delay_date:0
|
||||
msgid "Delay to Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Appraisal that are in waiting appreciation state"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:244
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:320
|
||||
#, python-format
|
||||
msgid "Warning !"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan:0
|
||||
#: field:hr_evaluation.plan,company_id:0
|
||||
#: field:hr_evaluation.plan.phase,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.interview,evaluation_id:0
|
||||
#: field:hr_evaluation.plan.phase,survey_id:0
|
||||
msgid "Appraisal Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,day:0
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan:0
|
||||
#: field:hr_evaluation.plan,phase_ids:0
|
||||
msgid "Appraisal Phases"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan,month_first:0
|
||||
msgid ""
|
||||
"This number of months will be used to schedule the first evaluation date of "
|
||||
"the employee when selecting an evaluation plan. "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.employee:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "(eval_name)s:Appraisal Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,help:hr_evaluation.open_view_hr_evaluation_tree
|
||||
msgid ""
|
||||
"Each employee may be assigned an Appraisal Plan. Such a plan defines the "
|
||||
"frequency and the way you manage your periodic personnel evaluation. You "
|
||||
"will be able to define steps and attach interviews to each step. OpenERP "
|
||||
"manages all kind of evaluations: bottom-up, top-down, self-evaluation and "
|
||||
"final evaluation by the manager."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Mail Body"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,wait:0
|
||||
msgid "Wait Previous Phases"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_evaluation
|
||||
msgid "Employee Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,state:0
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,rating:0
|
||||
#: selection:hr_evaluation.evaluation,rating:0
|
||||
msgid "Did not meet expectations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.employee:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_hr_evaluation_tree
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_hr_evaluation_tree
|
||||
msgid "Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Send to Managers"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,date_close:0
|
||||
msgid "Ending Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.evaluation,note_action:0
|
||||
msgid ""
|
||||
"If the evaluation does not meet the expectations, you can proposean action "
|
||||
"plan"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Send to Employees"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:82
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"Date: %(date)s\n"
|
||||
"\n"
|
||||
"Dear %(employee_name)s,\n"
|
||||
"\n"
|
||||
"I am doing an evaluation regarding %(eval_name)s.\n"
|
||||
"\n"
|
||||
"Kindly submit your response.\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Thanks,\n"
|
||||
"--\n"
|
||||
"%(user_signature)s\n"
|
||||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Appraisal that are in Plan In Progress state"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Reset to Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid " Month "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "In progress Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_survey_request
|
||||
msgid "survey.request"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "(date)s: Current Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,send_anonymous_employee:0
|
||||
msgid "Send an anonymous summary to the employee"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:81
|
||||
#, python-format
|
||||
msgid "Regarding "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,state:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,employee_id:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,employee_id:0
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_employee
|
||||
msgid "Employee"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,mail_body:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,rating:0
|
||||
#: selection:hr_evaluation.evaluation,rating:0
|
||||
msgid "Exceeds expectations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,mail_feature:0
|
||||
msgid ""
|
||||
"Check this box if you want to send mail to employees coming under this phase"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Evaluation done in last month"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_mail_compose_message
|
||||
msgid "E-mail composition wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,send_answer_manager:0
|
||||
msgid "Send all answers to the manager"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,state:0
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Plan In Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Public Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
msgid "Send Reminder Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr_evaluation.evaluation,rating:0
|
||||
msgid "Appreciation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Print Interview"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,closed:0
|
||||
msgid "closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,rating:0
|
||||
#: selection:hr_evaluation.evaluation,rating:0
|
||||
msgid "Meet expectations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,nbr:0
|
||||
msgid "# of Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.action_evaluation_plans_installer
|
||||
msgid "Review Appraisal Plans"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid " Month-1 "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Action to Perform"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,note_action:0
|
||||
msgid "Action Plan"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_eval_hr_config
|
||||
msgid "Periodic Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Appraisal to close within the next 7 days"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Ending Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,rating:0
|
||||
#: selection:hr_evaluation.evaluation,rating:0
|
||||
msgid "Significantly exceeds expectations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,help:hr_evaluation.action_hr_evaluation_interview_tree
|
||||
msgid ""
|
||||
"Interview Requests are generated automatically by OpenERP according to an "
|
||||
"employee's Appraisal Plan. Each user receives automatic emails and requests "
|
||||
"to evaluate their colleagues periodically."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "In progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
msgid "Interview Request"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,send_answer_employee:0
|
||||
#: field:hr_evaluation.plan.phase,send_answer_manager:0
|
||||
msgid "All Answers"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Evaluation done in current year"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Group by..."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Mail Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.evaluation_reminders
|
||||
msgid "Appraisal Reminders"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Interview Question"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,wait:0
|
||||
msgid ""
|
||||
"Check this box if you want to wait that all preceding phases are finished "
|
||||
"before launching this phase."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Legend"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan,month_first:0
|
||||
msgid "First Appraisal in (months)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,send_anonymous_employee:0
|
||||
#: field:hr_evaluation.plan.phase,send_anonymous_manager:0
|
||||
msgid "Anonymous Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "7 Days"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.employee,evaluation_plan_id:0
|
||||
#: view:hr_evaluation.plan:0
|
||||
#: field:hr_evaluation.plan,name:0
|
||||
#: field:hr_evaluation.plan.phase,plan_id:0
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_plan
|
||||
msgid "Appraisal Plan"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,rating:0
|
||||
#: selection:hr_evaluation.evaluation,rating:0
|
||||
msgid "Significantly bellow expectations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid " (employee_name)s: Partner name"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,plan_id:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: field:hr_evaluation.evaluation,plan_id:0
|
||||
msgid "Plan"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: constraint:hr.employee:0
|
||||
msgid "Error ! You cannot create recursive Hierarchy of Employees."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_plan_phase
|
||||
msgid "Appraisal Plan Phase"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.act_hr_employee_2_hr__evaluation_interview
|
||||
msgid "Appraisal Interviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
msgid "Survey"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.evaluation,rating:0
|
||||
msgid "This is the appreciation on that summarize the evaluation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,action:0
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: selection:hr.evaluation.report,state:0
|
||||
msgid "Final Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Waiting Appreciation"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.action_evaluation_report_all
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_evaluation_report_all
|
||||
msgid "Appraisal Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,date:0
|
||||
msgid "Appraisal Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,rating:0
|
||||
msgid "Overall Rating"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,email_subject:0
|
||||
msgid "char"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Interviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_report
|
||||
msgid "Evaluations Statistics"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
msgid "Deadline Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/wizard/mail_compose_message.py:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Hello %s, \n"
|
||||
"\n"
|
||||
" Kindly post your response for '%s' survey interview. \n"
|
||||
"\n"
|
||||
" Thanks,"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.plan.phase,action:0
|
||||
msgid "Top-Down Appraisal Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,help:hr_evaluation.action_evaluation_plans_installer
|
||||
msgid ""
|
||||
"You can define appraisal plans (ex: first interview after 6 months, then "
|
||||
"every year). Then, each employee can be linked to an appraisal plan so that "
|
||||
"OpenERP can automatically generate interview requests to managers and/or "
|
||||
"subordinates."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan.phase,send_answer_employee:0
|
||||
msgid "Send all answers to the employee"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Appraisal Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: selection:hr.evaluation.report,state:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
#: selection:hr_evaluation.evaluation,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.open_view_hr_evaluation_plan_tree
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_view_hr_evaluation_plan_tree
|
||||
msgid "Appraisal Plans"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: model:ir.model,name:hr_evaluation.model_hr_evaluation_interview
|
||||
msgid "Appraisal Interview"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/wizard/mail_compose_message.py:49
|
||||
#, python-format
|
||||
msgid "Reminder to fill up Survey"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
msgid "To Do"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Final Validation Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,mail_feature:0
|
||||
msgid "Send mail for this phase"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Late"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr.employee,evaluation_date:0
|
||||
msgid ""
|
||||
"The date of the next appraisal is computed by the appraisal plan's dates "
|
||||
"(first appraisal + periodicity)."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,overpass_delay:0
|
||||
msgid "Overpassed Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: help:hr_evaluation.plan,month_next:0
|
||||
msgid ""
|
||||
"The number of month that depicts the delay between each evaluation of this "
|
||||
"plan (after the first one)."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan,month_next:0
|
||||
msgid "Periodicity of Appraisal (months)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.plan.phase,action:0
|
||||
msgid "Self Appraisal Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,survey_request_ids:0
|
||||
msgid "Appraisal Forms"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.plan.phase,action:0
|
||||
msgid "Final Interview"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,name:0
|
||||
msgid "Phase"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr_evaluation.plan.phase,action:0
|
||||
msgid "Bottom-Up Appraisal Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:244
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot change state, because some appraisal in waiting answer or draft "
|
||||
"state"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Interview Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:survey.request,is_evaluation:0
|
||||
msgid "Is Appraisal?"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: code:addons/hr_evaluation/hr_evaluation.py:320
|
||||
#, python-format
|
||||
msgid "You cannot start evaluation without Appraisal."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
msgid "Evaluation done in current month"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.interview,user_to_review_id:0
|
||||
msgid "Employee to Interview"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: selection:hr.evaluation.report,month:0
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "Appraisal Plan Phases"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Validate Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.interview:0
|
||||
#: view:hr_evaluation.evaluation:0
|
||||
msgid "Search Appraisal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.plan.phase,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr_evaluation.plan.phase:0
|
||||
msgid "(user_signature)s: User name"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.action_hr_evaluation_interview_board
|
||||
#: model:ir.actions.act_window,name:hr_evaluation.action_hr_evaluation_interview_tree
|
||||
#: model:ir.ui.menu,name:hr_evaluation.menu_open_hr_evaluation_interview_requests
|
||||
msgid "Interview Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.evaluation.report,create_date:0
|
||||
msgid "Create Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: view:hr.evaluation.report:0
|
||||
#: field:hr.evaluation.report,year:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr_evaluation.evaluation,note_summary:0
|
||||
msgid "Appraisal Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_evaluation
|
||||
#: field:hr.employee,evaluation_date:0
|
||||
msgid "Next Appraisal Date"
|
||||
msgstr ""
|
|
@ -18,7 +18,7 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/board/column[1]" position="inside">
|
||||
<action name="%(action_my_expense)d" string="My Expenses"/>
|
||||
<action name="%(action_my_expense)d" string="My Expenses" creatable="true"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -172,7 +172,6 @@
|
|||
<field name="name">Expenses</field>
|
||||
<field name="res_model">hr.expense.expense</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
<field name="search_view_id" ref="view_hr_expense_filter"/>
|
||||
<field name="view_id" ref="view_expenses_tree"/>
|
||||
<field name="help">The OpenERP expenses management module allows you to track the full flow. Every month, the employees record their expenses. At the end of the month, their managers validates the expenses sheets which creates costs on projects/analytic accounts. The accountant validates the proposed entries and the employee can be reimbursed. You can also reinvoice the customer at the end of the flow.</field>
|
||||
|
|
|
@ -236,6 +236,13 @@ class hr_holidays(osv.osv):
|
|||
for id in ids:
|
||||
wf_service.trg_delete(uid, 'hr.holidays', id, cr)
|
||||
wf_service.trg_create(uid, 'hr.holidays', id, cr)
|
||||
to_unlink = []
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
for record2 in record.linked_request_ids:
|
||||
self.set_to_draft(cr, uid, [record2.id], context=context)
|
||||
to_unlink.append(record2.id)
|
||||
if to_unlink:
|
||||
self.unlink(cr, uid, to_unlink, context=context)
|
||||
return True
|
||||
|
||||
def holidays_validate(self, cr, uid, ids, context=None):
|
||||
|
@ -349,9 +356,17 @@ resource_calendar_leaves()
|
|||
|
||||
|
||||
class hr_employee(osv.osv):
|
||||
_inherit="hr.employee"
|
||||
_inherit="hr.employee"
|
||||
|
||||
def _set_remaining_days(self, cr, uid, empl_id, name, value, arg, context=None):
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
# don't pass the value of remaining leave if it's 0 at the creation time, otherwise it will trigger the inverse
|
||||
# function _set_remaining_days and the system may not be configured for. Note that we don't have this problem on
|
||||
# the write because the clients only send the fields that have been modified.
|
||||
if 'remaining_leaves' in vals and not vals['remaining_leaves']:
|
||||
del(vals['remaining_leaves'])
|
||||
return super(hr_employee, self).create(cr, uid, vals, context=context)
|
||||
|
||||
def _set_remaining_days(self, cr, uid, empl_id, name, value, arg, context=None):
|
||||
employee = self.browse(cr, uid, empl_id, context=context)
|
||||
diff = value - employee.remaining_leaves
|
||||
type_obj = self.pool.get('hr.holidays.status')
|
||||
|
@ -359,7 +374,7 @@ class hr_employee(osv.osv):
|
|||
# Find for holidays status
|
||||
status_ids = type_obj.search(cr, uid, [('limit', '=', False)], context=context)
|
||||
if len(status_ids) != 1 :
|
||||
raise osv.except_osv(_('Warning !'),_("To use this feature, you must have only one leave type without the option 'Allow to Override Limit' set. (%s Found).") % (len(status_ids)))
|
||||
raise osv.except_osv(_('Warning !'),_("The feature behind the field 'Remaining Legal Leaves' can only be used when there is only one leave type with the option 'Allow to Override Limit' unchecked. (%s Found). Otherwise, the update is ambiguous as we cannot decide on which leave type the update has to be done. \nYou may prefer to use the classic menus 'Leave Requests' and 'Allocation Requests' located in 'Human Resources \ Leaves' to manage the leave days of the employees if the configuration does not allow to use this field.") % (len(status_ids)))
|
||||
status_id = status_ids and status_ids[0] or False
|
||||
if not status_id:
|
||||
return False
|
||||
|
@ -375,7 +390,7 @@ class hr_employee(osv.osv):
|
|||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'second_validate', cr)
|
||||
return True
|
||||
|
||||
def _get_remaining_days(self, cr, uid, ids, name, args, context=None):
|
||||
def _get_remaining_days(self, cr, uid, ids, name, args, context=None):
|
||||
cr.execute("""SELECT
|
||||
sum(h.number_of_days) as days,
|
||||
h.employee_id
|
||||
|
@ -396,7 +411,7 @@ class hr_employee(osv.osv):
|
|||
remaining[employee_id] = 0.0
|
||||
return remaining
|
||||
|
||||
def _get_leave_status(self, cr, uid, ids, name, args, context=None):
|
||||
def _get_leave_status(self, cr, uid, ids, name, args, context=None):
|
||||
holidays_id = self.pool.get('hr.holidays').search(cr, uid,
|
||||
[('employee_id', 'in', ids), ('date_from','<=',time.strftime('%Y-%m-%d %H:%M:%S')),
|
||||
('date_to','>=',time.strftime('%Y-%m-%d %H:%M:%S')),('type','=','remove'),('state','not in',('cancel','refuse'))],
|
||||
|
@ -412,7 +427,7 @@ class hr_employee(osv.osv):
|
|||
result[holiday.employee_id.id]['current_leave_id'] = holiday.holiday_status_id.id
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
_columns = {
|
||||
'remaining_leaves': fields.function(_get_remaining_days, string='Remaining Legal Leaves', fnct_inv=_set_remaining_days, type="float", help='Total number of legal leaves allocated to this employee, change this value to create allocation/leave requests.'),
|
||||
'current_leave_state': fields.function(_get_leave_status, multi="leave_status", string="Current Leave Status", type="selection",
|
||||
selection=[('draft', 'New'), ('confirm', 'Waiting Approval'), ('refuse', 'Refused'),
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
<filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/>
|
||||
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="This Month" icon="terp-go-month" name="This Month" domain="[('date_from','<=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_from','>=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
<filter icon="terp-go-year" name="year" string="Year" domain="[('create_date','>=',time.strftime('%%Y-1-1')),('create_date','<=',time.strftime('%%Y-12-31'))]"/>
|
||||
<filter string="Month" icon="terp-go-month" name="This Month" domain="[('date_from','<=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_from','>=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="employee_id">
|
||||
<filter icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/>
|
||||
|
@ -311,7 +312,7 @@
|
|||
<field name="name">Allocation Requests</field>
|
||||
<field name="res_model">hr.holidays</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{"search_default_my_leaves": 1,'default_type':'add',"search_default_department_id": department_id}</field>
|
||||
<field name="context">{'default_type':'add',"search_default_department_id": department_id}</field>
|
||||
<field name="domain">[('type','=','add')]</field>
|
||||
<field name="view_id" ref="allocation_leave_new"/>
|
||||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
|
@ -339,7 +340,7 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="view_holiday_simple"/>
|
||||
<field name="context">{'search_default_my_leaves': 1, 'search_default_group_type': 1, 'search_default_validated': 1}</field>
|
||||
<field name="context">{'search_default_group_type': 1, 'search_default_validated': 1}</field>
|
||||
<field name="domain">[('holiday_type','=','employee')]</field>
|
||||
<field name="search_view_id" ref="view_hr_holidays_filter"/>
|
||||
</record>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,140 @@
|
|||
# Arabic 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-12-22 18:44+0000\n"
|
||||
"PO-Revision-Date: 2012-01-03 12:54+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@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-01-04 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 14616)\n"
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.payslip,move_id:0
|
||||
msgid "Accounting Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.salary.rule,account_tax_id:0
|
||||
msgid "Tax Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.payslip,journal_id:0
|
||||
#: field:hr.payslip.run,journal_id:0
|
||||
msgid "Expense Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:157
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:173
|
||||
#, python-format
|
||||
msgid "Adjustment Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.contract,analytic_account_id:0
|
||||
#: field:hr.salary.rule,analytic_account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: model:ir.model,name:hr_payroll_account.model_hr_salary_rule
|
||||
msgid "hr.salary.rule"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: model:ir.model,name:hr_payroll_account.model_hr_payslip_run
|
||||
msgid "Payslip Batches"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.contract,journal_id:0
|
||||
msgid "Salary Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: model:ir.model,name:hr_payroll_account.model_hr_payslip
|
||||
msgid "Pay Slip"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: constraint:hr.payslip:0
|
||||
msgid "Payslip 'Date From' must be before 'Date To'."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: help:hr.payslip,period_id:0
|
||||
msgid "Keep empty to use the period of the validation(Payslip) date."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:171
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The Expense Journal \"%s\" has not properly configured the Debit Account!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:155
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The Expense Journal \"%s\" has not properly configured the Credit Account!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.salary.rule,account_debit:0
|
||||
msgid "Debit Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:102
|
||||
#, python-format
|
||||
msgid "Payslip of %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: model:ir.model,name:hr_payroll_account.model_hr_contract
|
||||
msgid "Contract"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: constraint:hr.contract:0
|
||||
msgid "Error! contract start-date must be lower then contract end-date."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.payslip,period_id:0
|
||||
msgid "Force Period"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: field:hr.salary.rule,account_credit:0
|
||||
msgid "Credit Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: model:ir.model,name:hr_payroll_account.model_hr_payslip_employees
|
||||
msgid "Generate payslips for all selected employees"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:155
|
||||
#: code:addons/hr_payroll_account/hr_payroll_account.py:171
|
||||
#, python-format
|
||||
msgid "Configuration Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_payroll_account
|
||||
#: view:hr.contract:0
|
||||
#: view:hr.salary.rule:0
|
||||
msgid "Accounting"
|
||||
msgstr ""
|
|
@ -433,9 +433,8 @@ class hr_applicant(crm.crm_case, osv.osv):
|
|||
})
|
||||
self.case_close(cr, uid, [applicant.id], *args)
|
||||
else:
|
||||
raise osv.except_osv(_('Warning!'),_('You must define Applied Job for Applicant !'))
|
||||
raise osv.except_osv(_('Warning!'),_('You must define Applied Job for this applicant.'))
|
||||
|
||||
|
||||
action_model, action_id = model_data.get_object_reference(cr, uid, 'hr', 'open_view_employee_list')
|
||||
dict_act_window = act_window.read(cr, uid, action_id, [])
|
||||
if emp_id:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -89,7 +89,7 @@
|
|||
<field name="res_model">hr.analytic.timesheet</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{"search_default_user_id":uid, "search_default_today":1}</field>
|
||||
<field name="context">{"search_default_today":1}</field>
|
||||
<field name="search_view_id" ref="hr_timesheet_line_search"/>
|
||||
<field name="help">Through this menu you can register and follow your workings hours by project every day.</field>
|
||||
</record>
|
||||
|
|
|
@ -170,16 +170,16 @@ hr_analytic_timesheet()
|
|||
class account_invoice(osv.osv):
|
||||
_inherit = "account.invoice"
|
||||
|
||||
def _get_analytic_lines(self, cr, uid, id):
|
||||
iml = super(account_invoice, self)._get_analytic_lines(cr, uid, id)
|
||||
def _get_analytic_lines(self, cr, uid, id, context=None):
|
||||
iml = super(account_invoice, self)._get_analytic_lines(cr, uid, id, context=context)
|
||||
|
||||
inv = self.browse(cr, uid, [id])[0]
|
||||
inv = self.browse(cr, uid, [id], context=context)[0]
|
||||
if inv.type == 'in_invoice':
|
||||
obj_analytic_account = self.pool.get('account.analytic.account')
|
||||
for il in iml:
|
||||
if il['account_analytic_id']:
|
||||
# *-* browse (or refactor to avoid read inside the loop)
|
||||
to_invoice = obj_analytic_account.read(cr, uid, [il['account_analytic_id']], ['to_invoice'])[0]['to_invoice']
|
||||
to_invoice = obj_analytic_account.read(cr, uid, [il['account_analytic_id']], ['to_invoice'], context=context)[0]['to_invoice']
|
||||
if to_invoice:
|
||||
il['analytic_lines'][0][2]['to_invoice'] = to_invoice[0]
|
||||
return iml
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<field name="state" readonly="1" widget="statusbar"
|
||||
statusbar_visible="open,pending,close" statusbar_colors='{"pending":"red", "template":"blue"}'/>
|
||||
<button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
|
||||
<button name="set_open" string="Reactivate Account" type="object" states="pending,cancelled,close,draft" icon="gtk-ok"/>
|
||||
<button name="set_open" string="Re-open project" type="object" states="pending,cancelled,close,draft" icon="gtk-ok"/>
|
||||
<button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
|
||||
<button name="set_close" string="Close" type="object" states="open,pending" icon="terp-dialog-close"/>
|
||||
</group>
|
||||
|
@ -89,7 +89,8 @@
|
|||
<field name="inherit_id" ref="account.view_account_analytic_line_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="date" position="before">
|
||||
<filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False),('to_invoice','<>',False)]" icon="terp-dolar"/>
|
||||
<filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False), ('to_invoice','<>',False)]" icon="terp-dolar"/>
|
||||
<filter name="invoiced" string="Invoiced" domain="[('invoice_id','!=',False), ('to_invoice','<>',False)]" icon="terp-dolar"/>
|
||||
<separator orientation="vertical"/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -271,7 +271,7 @@ class idea_idea(osv.osv):
|
|||
|
||||
if vals.get('my_vote', False):
|
||||
if vals.get('state', state) != 'open':
|
||||
raise osv.except_osv(_("Warning !"), _("Draft/Accepted/Cancelled ideas Could not be voted"))
|
||||
raise osv.except_osv(_("Warning !"), _("You can not vote on a Draft/Accepted/Cancelled ideas."))
|
||||
|
||||
res = super(idea_idea, self).write(cr, user, ids, vals, context=context)
|
||||
return res
|
||||
|
|
|
@ -42,12 +42,12 @@ class import_framework(Thread):
|
|||
for advanced purpose get_default_hook can also be extended
|
||||
@see dummy import for a minimal exemple
|
||||
"""
|
||||
|
||||
|
||||
"""
|
||||
for import_object, this domain will avoid to find an already existing object
|
||||
"""
|
||||
DO_NOT_FIND_DOMAIN = [('id', '=', 0)]
|
||||
|
||||
|
||||
#TODO don't use context to pass credential parameters
|
||||
def __init__(self, obj, cr, uid, instance_name, module_name, email_to_notify=False, context=None):
|
||||
Thread.__init__(self)
|
||||
|
@ -64,34 +64,34 @@ class import_framework(Thread):
|
|||
self.initialize()
|
||||
|
||||
"""
|
||||
Abstract Method to be implemented in
|
||||
Abstract Method to be implemented in
|
||||
the real instance
|
||||
"""
|
||||
"""
|
||||
def initialize(self):
|
||||
"""
|
||||
init before import
|
||||
usually for the login
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
def init_run(self):
|
||||
"""
|
||||
call after intialize run in the thread, not in the main process
|
||||
TO use for long initialization operation
|
||||
TO use for long initialization operation
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
def get_data(self, table):
|
||||
"""
|
||||
@return: a list of dictionaries
|
||||
each dictionnaries contains the list of pair external_field_name : value
|
||||
each dictionnaries contains the list of pair external_field_name : value
|
||||
"""
|
||||
return [{}]
|
||||
|
||||
|
||||
def get_link(self, from_table, ids, to_table):
|
||||
"""
|
||||
@return: a dictionaries that contains the association between the id (from_table)
|
||||
and the list (to table) of id linked
|
||||
@return: a dictionaries that contains the association between the id (from_table)
|
||||
and the list (to table) of id linked
|
||||
"""
|
||||
return {}
|
||||
|
||||
|
@ -103,14 +103,14 @@ class import_framework(Thread):
|
|||
of self.external_id_field
|
||||
"""
|
||||
return data[self.external_id_field]
|
||||
|
||||
|
||||
def get_mapping(self):
|
||||
"""
|
||||
@return: { TABLE_NAME : {
|
||||
'model' : 'openerp.model.name',
|
||||
#if true import the table if not just resolve dependencies, use for meta package, by default => True
|
||||
#if true import the table if not just resolve dependencies, use for meta package, by default => True
|
||||
#Not required
|
||||
'import' : True or False,
|
||||
'import' : True or False,
|
||||
#Not required
|
||||
'dependencies' : [TABLE_1, TABLE_2],
|
||||
#Not required
|
||||
|
@ -127,40 +127,40 @@ class import_framework(Thread):
|
|||
'field' : call(method, val('external_field') interface of method is self, val where val is the value of the field
|
||||
'field' : const(value) #always set this field to value
|
||||
+ any custom mapper that you will define
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
"""
|
||||
return {}
|
||||
|
||||
|
||||
def default_hook(self, val):
|
||||
"""
|
||||
this hook will be apply on each table that don't have hook
|
||||
here we define the identity hook
|
||||
"""
|
||||
return val
|
||||
|
||||
|
||||
def _import_table(self, table):
|
||||
data = self.get_data(table)
|
||||
map = self.get_mapping()[table]['map']
|
||||
hook = self.get_mapping()[table].get('hook', self.default_hook)
|
||||
model = self.get_mapping()[table]['model']
|
||||
|
||||
|
||||
final_data = []
|
||||
for val in data:
|
||||
res = hook(val)
|
||||
if res:
|
||||
final_data.append(res)
|
||||
return self._save_data(model, dict(map), final_data, table)
|
||||
|
||||
|
||||
def _save_data(self, model, mapping, datas, table):
|
||||
"""
|
||||
@param model: the model of the object to import
|
||||
@param table : the external table where the data come from
|
||||
@param table : the external table where the data come from
|
||||
@param mapping : definition of the mapping
|
||||
@see: get_mapping
|
||||
@param datas : list of dictionnaries
|
||||
@param datas : list of dictionnaries
|
||||
datas = [data_1, data_2, ..]
|
||||
data_i is a map external field_name => value
|
||||
and each data_i have a external id => in data_id['id']
|
||||
|
@ -170,21 +170,21 @@ class import_framework(Thread):
|
|||
return (0, 'No data found')
|
||||
mapping['id'] = 'id_new'
|
||||
res = []
|
||||
|
||||
|
||||
|
||||
|
||||
self_dependencies = []
|
||||
for k in mapping.keys():
|
||||
if '_parent' in k:
|
||||
self_dependencies.append((k[:-7], mapping.pop(k)))
|
||||
|
||||
|
||||
for data in datas:
|
||||
for k, field_name in self_dependencies:
|
||||
data[k] = data.get(field_name) and self._generate_xml_id(data.get(field_name), table)
|
||||
|
||||
|
||||
data['id_new'] = self._generate_xml_id(self.get_external_id(data), table)
|
||||
fields, values = self._fields_mapp(data, mapping, table)
|
||||
res.append(values)
|
||||
|
||||
|
||||
model_obj = self.obj.pool.get(model)
|
||||
if not model_obj:
|
||||
raise ValueError(_("%s is not a valid model name") % model)
|
||||
|
@ -193,13 +193,13 @@ class import_framework(Thread):
|
|||
for (field, field_name) in self_dependencies:
|
||||
self._import_self_dependencies(model_obj, field, datas)
|
||||
return (len(res), warning)
|
||||
|
||||
|
||||
def _import_self_dependencies(self, obj, parent_field, datas):
|
||||
"""
|
||||
@param parent_field: the name of the field that generate a self_dependencies, we call the object referenced in this
|
||||
field the parent of the object
|
||||
@param datas: a list of dictionnaries
|
||||
Dictionnaries need to contains
|
||||
Dictionnaries need to contains
|
||||
id_new : the xml_id of the object
|
||||
field_new : the xml_id of the parent
|
||||
"""
|
||||
|
@ -207,14 +207,14 @@ class import_framework(Thread):
|
|||
for data in datas:
|
||||
if data.get(parent_field):
|
||||
values = [data['id_new'], data[parent_field]]
|
||||
obj.import_data(self.cr, self.uid, fields, [values], mode='update', current_module=self.module_name, noupdate=True, context=self.context)
|
||||
|
||||
obj.import_data(self.cr, self.uid, fields, [values], mode='update', current_module=self.module_name, noupdate=True, context=self.context)
|
||||
|
||||
def _preprocess_mapping(self, mapping):
|
||||
"""
|
||||
Preprocess the mapping :
|
||||
after the preprocces, everything is
|
||||
after the preprocces, everything is
|
||||
callable in the val of the dictionary
|
||||
|
||||
|
||||
use to allow syntaxical sugar like 'field': 'external_field'
|
||||
instead of 'field' : value('external_field')
|
||||
"""
|
||||
|
@ -223,14 +223,14 @@ class import_framework(Thread):
|
|||
if isinstance(value, basestring):
|
||||
map[key] = mapper.value(value)
|
||||
#set parent for instance of dbmapper
|
||||
elif isinstance(value, mapper.dbmapper):
|
||||
elif isinstance(value, mapper.dbmapper):
|
||||
value.set_parent(self)
|
||||
return map
|
||||
|
||||
|
||||
return map
|
||||
|
||||
|
||||
def _fields_mapp(self,dict_sugar, openerp_dict, table):
|
||||
"""
|
||||
call all the mapper and transform data
|
||||
call all the mapper and transform data
|
||||
to be compatible with import_data
|
||||
"""
|
||||
fields=[]
|
||||
|
@ -242,7 +242,7 @@ class import_framework(Thread):
|
|||
value = val(dict(dict_sugar))
|
||||
data_lst.append(value)
|
||||
return fields, data_lst
|
||||
|
||||
|
||||
def _generate_xml_id(self, name, table):
|
||||
"""
|
||||
@param name: name of the object, has to be unique in for a given table
|
||||
|
@ -253,8 +253,8 @@ class import_framework(Thread):
|
|||
sugar_instance = self.instance_name
|
||||
name = name.replace('.', '_').replace(',', '_')
|
||||
return sugar_instance + "_" + table + "_" + name
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
Public interface of the framework
|
||||
those function can be use in the callable function defined in the mapping
|
||||
|
@ -268,11 +268,11 @@ class import_framework(Thread):
|
|||
"""
|
||||
if not external_id:
|
||||
return False
|
||||
|
||||
|
||||
xml_id = self._generate_xml_id(external_id, table)
|
||||
id = self.obj.pool.get('ir.model.data').search(self.cr, self.uid, [('name', '=', xml_id), ('module', '=', self.module_name)])
|
||||
return id and xml_id or False
|
||||
|
||||
|
||||
def name_exist(self, table, name, model):
|
||||
"""
|
||||
Check if the object with the name exist in the openerp database
|
||||
|
@ -282,21 +282,21 @@ class import_framework(Thread):
|
|||
fields = ['name']
|
||||
data = [name]
|
||||
return self.import_object(fields, data, model, table, name, [('name', '=', name)])
|
||||
|
||||
|
||||
def get_mapped_id(self, table, external_id, context=None):
|
||||
"""
|
||||
@return return the databse id linked with the external_id
|
||||
"""
|
||||
if not external_id:
|
||||
return False
|
||||
|
||||
|
||||
xml_id = self._generate_xml_id(external_id, table)
|
||||
return self.obj.pool.get('ir.model.data').get_object_reference(self.cr, self.uid, self.module_name, xml_id)[1]
|
||||
|
||||
|
||||
def import_object_mapping(self, mapping, data, model, table, name, domain_search=False):
|
||||
"""
|
||||
same as import_objects but instead of two list fields and data,
|
||||
this method take a dictionnaries : external_field : value
|
||||
same as import_objects but instead of two list fields and data,
|
||||
this method take a dictionnaries : external_field : value
|
||||
and the mapping similar to the one define in 'map' key
|
||||
@see import_object, get_mapping
|
||||
"""
|
||||
|
@ -308,7 +308,7 @@ class import_framework(Thread):
|
|||
This method will import an object in the openerp, usefull for field that is only a char in sugar and is an object in openerp
|
||||
use import_data that will take care to create/update or do nothing with the data
|
||||
this method return the xml_id
|
||||
|
||||
|
||||
To be use, when you want to create an object or link if already exist
|
||||
use DO_NOT_LINK_DOMAIN to create always a new object
|
||||
@param fields: list of fields needed to create the object without id
|
||||
|
@ -318,21 +318,21 @@ class import_framework(Thread):
|
|||
@param table: the table where data come from in sugarcrm, no need to fit the real name of openerp name, just need to be unique
|
||||
@param unique_name: the name of the object that we want to create/update get the id
|
||||
@param domain_search : the domain that should find the unique existing record
|
||||
|
||||
|
||||
@return: the xml_id of the ressources
|
||||
"""
|
||||
domain_search = not domain_search and [('name', 'ilike', name)] or domain_search
|
||||
obj = self.obj.pool.get(model)
|
||||
if not obj: #if the model doesn't exist
|
||||
return False
|
||||
|
||||
|
||||
xml_id = self._generate_xml_id(name, table)
|
||||
xml_ref = self.mapped_id_if_exist(model, domain_search, table, name)
|
||||
fields.append('id')
|
||||
data.append(xml_id)
|
||||
obj.import_data(self.cr, self.uid, fields, [data], mode='update', current_module=self.module_name, noupdate=True, context=self.context)
|
||||
return xml_ref or xml_id
|
||||
|
||||
|
||||
|
||||
def mapped_id_if_exist(self, model, domain, table, name):
|
||||
"""
|
||||
|
@ -354,8 +354,8 @@ class import_framework(Thread):
|
|||
noupdate=True, res_id=ids[0], context=self.context)
|
||||
return xml_id
|
||||
return False
|
||||
|
||||
|
||||
|
||||
|
||||
def set_table_list(self, table_list):
|
||||
"""
|
||||
Set the list of table to import, this method should be call before run
|
||||
|
@ -363,13 +363,13 @@ class import_framework(Thread):
|
|||
['Leads', 'Opportunity']
|
||||
"""
|
||||
self.table_list = table_list
|
||||
|
||||
|
||||
def run(self):
|
||||
"""
|
||||
Import all data into openerp,
|
||||
Import all data into openerp,
|
||||
this is the Entry point to launch the process of import
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
self.data_started = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
self.cr = pooler.get_db(self.cr.dbname).cursor()
|
||||
|
@ -388,21 +388,21 @@ class import_framework(Thread):
|
|||
result.append((table, position, warning))
|
||||
imported.add(table)
|
||||
self.cr.commit()
|
||||
|
||||
|
||||
except Exception, err:
|
||||
sh = StringIO.StringIO()
|
||||
traceback.print_exc(file=sh)
|
||||
error = sh.getvalue()
|
||||
print error
|
||||
|
||||
|
||||
|
||||
|
||||
self.date_ended = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
self._send_notification_email(result, error)
|
||||
|
||||
|
||||
self.cr.close()
|
||||
|
||||
|
||||
def _resolve_dependencies(self, dep, imported):
|
||||
"""
|
||||
"""
|
||||
import dependencies recursively
|
||||
and avoid to import twice the same table
|
||||
"""
|
||||
|
@ -418,13 +418,13 @@ class import_framework(Thread):
|
|||
result.append((dependency, position, warning))
|
||||
imported.add(dependency)
|
||||
return result
|
||||
|
||||
|
||||
def _send_notification_email(self, result, error):
|
||||
if not self.email:
|
||||
return False
|
||||
return False
|
||||
email_obj = self.obj.pool.get('mail.message')
|
||||
email_id = email_obj.create(self.cr, self.uid, {
|
||||
'email_from' : 'import@module.openerp',
|
||||
'email_from' : 'import@module.openerp',
|
||||
'email_to' : self.email,
|
||||
'body_text' : self.get_email_body(result, error),
|
||||
'subject' : self.get_email_subject(result, error),
|
||||
|
@ -434,34 +434,34 @@ class import_framework(Thread):
|
|||
self.logger.error(_("Import failed due to an unexpected error"))
|
||||
else:
|
||||
self.logger.info(_("Import finished, notification email sended"))
|
||||
|
||||
|
||||
def get_email_subject(self, result, error=False):
|
||||
"""
|
||||
This method define the subject of the email send by openerp at the end of import
|
||||
@param result: a list of tuple
|
||||
@param result: a list of tuple
|
||||
(table_name, number_of_record_created/updated, warning) for each table
|
||||
@return the subject of the mail
|
||||
|
||||
|
||||
"""
|
||||
if error:
|
||||
return _("Data Import failed at %s due to an unexpected error") % self.date_ended
|
||||
return _("Import of your data finished at %s") % self.date_ended
|
||||
|
||||
|
||||
def get_email_body(self, result, error=False):
|
||||
"""
|
||||
This method define the body of the email send by openerp at the end of import. The body is separated in two part
|
||||
the header (@see get_body_header), and the generate body with the list of table and number of record imported.
|
||||
If you want to keep this it's better to overwrite get_body_header
|
||||
@param result: a list of tuple
|
||||
@param result: a list of tuple
|
||||
(table_name, number_of_record_created/updated, warning) for each table
|
||||
@return the subject of the mail
|
||||
|
||||
|
||||
"""
|
||||
|
||||
|
||||
body = _("started at %s and finished at %s \n") % (self.data_started, self.date_ended)
|
||||
if error:
|
||||
body += _("but failed, in consequence no data were imported to keep database consistency \n error : \n") + error
|
||||
|
||||
body += _("but failed, in consequence no data were imported to keep database consistency \n error : \n") + error
|
||||
|
||||
for (table, nb, warning) in result:
|
||||
if not warning:
|
||||
warning = _("with no warning")
|
||||
|
@ -469,13 +469,13 @@ class import_framework(Thread):
|
|||
warning = _("with warning : %s") % warning
|
||||
body += _("%s has been successfully imported from %s %s, %s \n") % (nb, self.instance_name, table, warning)
|
||||
return self.get_body_header(result) + "\n\n" + body
|
||||
|
||||
|
||||
def get_body_header(self, result):
|
||||
"""
|
||||
@return the first sentences written in the mail's body
|
||||
"""
|
||||
return _("The import of data \n instance name : %s \n") % self.instance_name
|
||||
|
||||
|
||||
|
||||
#TODO documentation test
|
||||
def run_test(self):
|
||||
|
@ -489,13 +489,13 @@ class import_framework(Thread):
|
|||
self.get_data = back_get_data
|
||||
self.get_link = back_get_link
|
||||
self.initialize = back_init
|
||||
|
||||
|
||||
def get_data_test(self, table):
|
||||
return [{}]
|
||||
|
||||
def get_link_test(self, from_table, ids, to_table):
|
||||
return {}
|
||||
|
||||
|
||||
def intialize_test(self):
|
||||
pass
|
||||
|
||||
|
|
|
@ -107,7 +107,6 @@ class synchronize_google(osv.osv_memory):
|
|||
_defaults = {
|
||||
'create_partner': 'create_all',
|
||||
'group_name': 'all',
|
||||
'calendar_name': 'all',
|
||||
}
|
||||
|
||||
def import_google(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -120,9 +120,9 @@
|
|||
|
||||
<record id="pst_qc_en" model="account.tax.template">
|
||||
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
|
||||
<field name="name">PST - 8.5%</field>
|
||||
<field name="name">PST - 9.5%</field>
|
||||
<field name="description">PST</field>
|
||||
<field name="amount">0.085000</field>
|
||||
<field name="amount">0.095000</field>
|
||||
<field name="type">percent</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="account_collected_id" ref="chart1182_en"/>
|
||||
|
|
|
@ -120,9 +120,9 @@
|
|||
|
||||
<record id="tvq_fr" model="account.tax.template">
|
||||
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
|
||||
<field name="name">TVQ - 8.5%</field>
|
||||
<field name="name">TVQ - 9.5%</field>
|
||||
<field name="description">TVQ</field>
|
||||
<field name="amount">0.085000</field>
|
||||
<field name="amount">0.095000</field>
|
||||
<field name="type">percent</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="account_collected_id" ref="chart1182_fr"/>
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
<!-- 科目表模板-->
|
||||
<record id="cn_root" model="account.account.template">
|
||||
<field name="name">会计科目</field>
|
||||
<field name="code">0</field>
|
||||
<field name="type">view</field>
|
||||
<field name="user_type" ref="user_type_all"/>
|
||||
</record>
|
||||
|
|
|
@ -1,235 +1,235 @@
|
|||
"id","code","name","parent_id:id","user_type:id","type","reconcile"
|
||||
"0","0","Azienda",,"account_type_view","view","FALSE"
|
||||
"1","1","ATTIVO ","0","account_type_view","view","TRUE"
|
||||
"11","11","IMMOBILIZZAZIONI IMMATERIALI ","1","account_type_view","view","TRUE"
|
||||
"1101","1101","costi di impianto ","11","account_type_asset","other","TRUE"
|
||||
"1106","1106","software ","11","account_type_asset","other","TRUE"
|
||||
"1108","1108","avviamento ","11","account_type_asset","other","TRUE"
|
||||
"1111","1111","fondo ammortamento costi di impianto ","11","account_type_asset","other","TRUE"
|
||||
"1116","1116","fondo ammortamento software ","11","account_type_asset","other","TRUE"
|
||||
"1118","1118","fondo ammortamento avviamento ","11","account_type_asset","other","TRUE"
|
||||
"12","12","IMMOBILIZZAZIONI MATERIALI ","1","account_type_view","view","TRUE"
|
||||
"1201","1201","fabbricati ","12","account_type_asset","other","TRUE"
|
||||
"1202","1202","impianti e macchinari ","12","account_type_asset","other","TRUE"
|
||||
"1204","1204","attrezzature commerciali ","12","account_type_asset","other","TRUE"
|
||||
"1205","1205","macchine d'ufficio ","12","account_type_asset","other","TRUE"
|
||||
"1206","1206","arredamento ","12","account_type_asset","other","TRUE"
|
||||
"1207","1207","automezzi ","12","account_type_asset","other","TRUE"
|
||||
"1208","1208","imballaggi durevoli ","12","account_type_asset","other","TRUE"
|
||||
"1211","1211","fondo ammortamento fabbricati ","12","account_type_asset","other","TRUE"
|
||||
"1212","1212","fondo ammortamento impianti e macchinari ","12","account_type_asset","other","TRUE"
|
||||
"1214","1214","fondo ammortamento attrezzature commerciali ","12","account_type_asset","other","TRUE"
|
||||
"1215","1215","fondo ammortamento macchine d'ufficio ","12","account_type_asset","other","TRUE"
|
||||
"1216","1216","fondo ammortamento arredamento ","12","account_type_asset","other","TRUE"
|
||||
"1217","1217","fondo ammortamento automezzi ","12","account_type_asset","other","TRUE"
|
||||
"1218","1218","fondo ammortamento imballaggi durevoli ","12","account_type_asset","other","TRUE"
|
||||
"1220","1220","fornitori immobilizzazioni c/acconti ","12","account_type_asset","other","TRUE"
|
||||
"13","13","IMMOBILIZZAZIONI FINANZIARIE ","1","account_type_view","view","TRUE"
|
||||
"1301","1301","mutui attivi ","13","account_type_asset","other","TRUE"
|
||||
"14","14","RIMANENZE ","1","account_type_view","view","TRUE"
|
||||
"1401","1401","materie di consumo ","14","account_type_asset","other","TRUE"
|
||||
"1404","1404","merci ","14","account_type_asset","other","TRUE"
|
||||
"1410","1410","fornitori c/acconti ","14","account_type_asset","other","TRUE"
|
||||
"15","15","CREDITI COMMERCIALI ","1","account_type_view","view","TRUE"
|
||||
"1501","1501","crediti v/clienti ","15","account_type_receivable","receivable","TRUE"
|
||||
"1502","1502","crediti commerciali diversi ","15","account_type_receivable","other","TRUE"
|
||||
"1503","1503","clienti c/spese anticipate ","15","account_type_receivable","receivable","TRUE"
|
||||
"1505","1505","cambiali attive ","15","account_type_receivable","other","TRUE"
|
||||
"1506","1506","cambiali allo sconto ","15","account_type_receivable","other","TRUE"
|
||||
"1507","1507","cambiali all'incasso ","15","account_type_receivable","other","TRUE"
|
||||
"1509","1509","fatture da emettere ","15","account_type_receivable","other","TRUE"
|
||||
"1510","1510","crediti insoluti ","15","account_type_receivable","other","TRUE"
|
||||
"1511","1511","cambiali insolute ","15","account_type_receivable","other","TRUE"
|
||||
"1531","1531","crediti da liquidare ","15","account_type_receivable","other","TRUE"
|
||||
"1540","1540","fondo svalutazione crediti ","15","account_type_receivable","other","TRUE"
|
||||
"1541","1541","fondo rischi su crediti ","15","account_type_receivable","other","TRUE"
|
||||
"16","16","CREDITI DIVERSI ","1","account_type_view","view","TRUE"
|
||||
"1601","1601","IVA n/credito ","16","account_type_tax","other","TRUE"
|
||||
"1602","1602","IVA c/acconto ","16","account_type_tax","other","TRUE"
|
||||
"1605","1605","crediti per IVA ","16","account_type_tax","other","TRUE"
|
||||
"1607","1607","imposte c/acconto ","16","account_type_tax","other","TRUE"
|
||||
"1608","1608","crediti per imposte ","16","account_type_tax","other","TRUE"
|
||||
"1609","1609","crediti per ritenute subite ","16","account_type_asset","other","TRUE"
|
||||
"1610","1610","crediti per cauzioni ","16","account_type_asset","other","TRUE"
|
||||
"1620","1620","personale c/acconti ","16","account_type_asset","other","TRUE"
|
||||
"1630","1630","crediti v/istituti previdenziali ","16","account_type_asset","other","TRUE"
|
||||
"1640","1640","debitori diversi ","16","account_type_receivable","receivable","TRUE"
|
||||
"18","18","DISPONIBILITÀ LIQUIDE ","1","account_type_view","view","TRUE"
|
||||
"1801","1801","banche c/c ","18","account_type_bank","liquidity","TRUE"
|
||||
"1810","1810","c/c postali ","18","account_type_cash","liquidity","TRUE"
|
||||
"1820","1820","denaro in cassa ","18","account_type_cash","liquidity","TRUE"
|
||||
"1821","1821","assegni ","18","account_type_cash","liquidity","TRUE"
|
||||
"1822","1822","valori bollati ","18","account_type_cash","liquidity","TRUE"
|
||||
"19","19","RATEI E RISCONTI ATTIVI ","1","account_type_view","view","TRUE"
|
||||
"1901","1901","ratei attivi ","19","account_type_asset","other","TRUE"
|
||||
"1902","1902","risconti attivi ","19","account_type_asset","other","TRUE"
|
||||
"2","2","PASSIVO ","0","account_type_view","view","TRUE"
|
||||
"20","20","PATRIMONIO NETTO ","2","account_type_view","view","TRUE"
|
||||
"2101","2101","patrimonio netto ","20","account_type_asset","other","TRUE"
|
||||
"2102","2102","utile d'esercizio ","20","account_type_asset","other","TRUE"
|
||||
"2103","2103","perdita d'esercizio ","20","account_type_asset","other","TRUE"
|
||||
"2104","2104","prelevamenti extra gestione ","20","account_type_asset","other","TRUE"
|
||||
"2105","2105","titolare c/ritenute subite ","20","account_type_asset","other","TRUE"
|
||||
"22","22","FONDI PER RISCHI E ONERI ","2","account_type_view","view","TRUE"
|
||||
"2201","2201","fondo per imposte ","22","account_type_asset","other","TRUE"
|
||||
"2204","2204","fondo responsabilità civile ","22","account_type_asset","other","TRUE"
|
||||
"2205","2205","fondo spese future ","22","account_type_asset","other","TRUE"
|
||||
"2211","2211","fondo manutenzioni programmate ","22","account_type_asset","other","TRUE"
|
||||
"23","23","TRATTAMENTO FINE RAPPORTO DI LAVORO ","2","account_type_view","view","TRUE"
|
||||
"2301","2301","debiti per TFRL ","23","account_type_asset","other","TRUE"
|
||||
"24","24","DEBITI FINANZIARI ","2","account_type_view","view","TRUE"
|
||||
"2410","2410","mutui passivi ","24","account_type_asset","other","TRUE"
|
||||
"2411","2411","banche c/sovvenzioni ","24","account_type_asset","other","TRUE"
|
||||
"2420","2420","banche c/c passivi ","24","account_type_asset","other","TRUE"
|
||||
"2421","2421","banche c/RIBA all'incasso ","24","account_type_asset","other","TRUE"
|
||||
"2422","2422","banche c/cambiali all'incasso ","24","account_type_asset","other","TRUE"
|
||||
"2423","2423","banche c/anticipi su fatture ","24","account_type_asset","other","TRUE"
|
||||
"2440","2440","debiti v/altri finanziatori ","24","account_type_asset","other","TRUE"
|
||||
"25","25","DEBITI COMMERCIALI ","2","account_type_view","view","TRUE"
|
||||
"2501","2501","debiti v/fornitori ","25","account_type_payable","payable","TRUE"
|
||||
"2503","2503","cambiali passive ","25","account_type_asset","other","TRUE"
|
||||
"2520","2520","fatture da ricevere ","25","account_type_asset","other","TRUE"
|
||||
"2521","2521","debiti da liquidare ","25","account_type_asset","other","TRUE"
|
||||
"2530","2530","clienti c/acconti ","25","account_type_payable","payable","TRUE"
|
||||
"26","26","DEBITI DIVERSI ","2","account_type_view","view","TRUE"
|
||||
"2601","2601","IVA n/debito ","26","account_type_tax","other","TRUE"
|
||||
"2602","2602","debiti per ritenute da versare ","26","account_type_tax","other","TRUE"
|
||||
"2605","2605","erario c/IVA ","26","account_type_tax","other","TRUE"
|
||||
"2606","2606","debiti per imposte ","26","account_type_tax","other","TRUE"
|
||||
"2619","2619","debiti per cauzioni ","26","account_type_asset","other","TRUE"
|
||||
"2620","2620","personale c/retribuzioni ","26","account_type_asset","other","TRUE"
|
||||
"2621","2621","personale c/liquidazioni ","26","account_type_asset","other","TRUE"
|
||||
"2622","2622","clienti c/cessione ","26","account_type_asset","other","TRUE"
|
||||
"2630","2630","debiti v/istituti previdenziali ","26","account_type_asset","other","TRUE"
|
||||
"2640","2640","creditori diversi ","26","account_type_payable","payable","TRUE"
|
||||
"27","27","RATEI E RISCONTI PASSIVI ","2","account_type_view","view","TRUE"
|
||||
"2701","2701","ratei passivi ","27","account_type_asset","other","TRUE"
|
||||
"2702","2702","risconti passivi ","27","account_type_asset","other","TRUE"
|
||||
"28","28","CONTI TRANSITORI E DIVERSI ","2","account_type_view","view","TRUE"
|
||||
"2801","2801","bilancio di apertura ","28","account_type_asset","other","TRUE"
|
||||
"2802","2802","bilancio di chiusura ","28","account_type_asset","other","TRUE"
|
||||
"2810","2810","IVA c/liquidazioni ","28","account_type_asset","other","TRUE"
|
||||
"2811","2811","istituti previdenziali ","28","account_type_asset","other","TRUE"
|
||||
"2820","2820","banca ... c/c ","28","account_type_asset","other","TRUE"
|
||||
"2821","2821","banca ... c/c ","28","account_type_asset","other","TRUE"
|
||||
"2822","2822","banca ... c/c ","28","account_type_asset","other","TRUE"
|
||||
"29","29","CONTI DEI SISTEMI SUPPLEMENTARI ","2","account_type_view","view","TRUE"
|
||||
"2901","2901","beni di terzi ","29","account_type_asset","other","TRUE"
|
||||
"2902","2902","depositanti beni ","29","account_type_asset","other","TRUE"
|
||||
"2911","2911","merci da ricevere ","29","account_type_asset","other","TRUE"
|
||||
"2912","2912","fornitori c/impegni ","29","account_type_asset","other","TRUE"
|
||||
"2913","2913","impegni per beni in leasing ","29","account_type_asset","other","TRUE"
|
||||
"2914","2914","creditori c/leasing ","29","account_type_asset","other","TRUE"
|
||||
"2916","2916","clienti c/impegni ","29","account_type_asset","other","TRUE"
|
||||
"2917","2917","merci da consegnare ","29","account_type_asset","other","TRUE"
|
||||
"2921","2921","rischi per effetti scontati ","29","account_type_asset","other","TRUE"
|
||||
"2922","2922","banche c/effetti scontati ","29","account_type_asset","other","TRUE"
|
||||
"2926","2926","rischi per fideiussioni ","29","account_type_asset","other","TRUE"
|
||||
"2927","2927","creditori per fideiussioni ","29","account_type_asset","other","TRUE"
|
||||
"2931","2931","rischi per avalli ","29","account_type_asset","other","TRUE"
|
||||
"2932","2932","creditori per avalli ","29","account_type_asset","other","TRUE"
|
||||
"3","3","VALORE DELLA PRODUZIONE ","0","account_type_view","view","TRUE"
|
||||
"31","31","VENDITE E PRESTAZIONI ","3","account_type_view","view","TRUE"
|
||||
"3101","3101","merci c/vendite ","31","account_type_income","other","TRUE"
|
||||
"3103","3103","rimborsi spese di vendita ","31","account_type_income","other","TRUE"
|
||||
"3110","3110","resi su vendite ","31","account_type_income","other","TRUE"
|
||||
"3111","3111","ribassi e abbuoni passivi ","31","account_type_income","other","TRUE"
|
||||
"3112","3112","premi su vendite ","31","account_type_income","other","TRUE"
|
||||
"32","32","RICAVI E PROVENTI DIVERSI ","3","account_type_view","view","TRUE"
|
||||
"3201","3201","fitti attivi ","32","account_type_income","other","TRUE"
|
||||
"3202","3202","proventi vari ","32","account_type_income","other","TRUE"
|
||||
"3210","3210","arrotondamenti attivi ","32","account_type_income","other","TRUE"
|
||||
"3220","3220","plusvalenze ordinarie diverse ","32","account_type_income","other","TRUE"
|
||||
"3230","3230","sopravvenienze attive ordinarie diverse ","32","account_type_income","other","TRUE"
|
||||
"3240","3240","insussistenze attive ordinarie diverse ","32","account_type_income","other","TRUE"
|
||||
"4","4","COSTI DELLA PRODUZIONE ","0","account_type_view","view","TRUE"
|
||||
"41","41","COSTO DEL VENDUTO ","4","account_type_view","view","TRUE"
|
||||
"4101","4101","merci c/acquisti ","41","account_type_expense","other","TRUE"
|
||||
"4102","4102","materie di consumo c/acquisti ","41","account_type_expense","other","TRUE"
|
||||
"4105","4105","merci c/apporti ","41","account_type_expense","other","TRUE"
|
||||
"4110","4110","resi su acquisti ","41","account_type_expense","other","TRUE"
|
||||
"4111","4111","ribassi e abbuoni attivi ","41","account_type_expense","other","TRUE"
|
||||
"4112","4112","premi su acquisti ","41","account_type_expense","other","TRUE"
|
||||
"4121","4121","merci c/esistenze iniziali ","41","account_type_expense","other","TRUE"
|
||||
"4122","4122","materie di consumo c/esistenze iniziali ","41","account_type_expense","other","TRUE"
|
||||
"4131","4131","merci c/rimanenze finali ","41","account_type_expense","other","TRUE"
|
||||
"4132","4132","materie di consumo c/rimanenze finali ","41","account_type_expense","other","TRUE"
|
||||
"42","42","COSTI PER SERVIZI ","4","account_type_view","view","TRUE"
|
||||
"4201","4201","costi di trasporto ","42","account_type_expense","other","TRUE"
|
||||
"4202","4202","costi per energia ","42","account_type_expense","other","TRUE"
|
||||
"4203","4203","costi di pubblicità ","42","account_type_expense","other","TRUE"
|
||||
"4204","4204","costi di consulenze ","42","account_type_expense","other","TRUE"
|
||||
"4205","4205","costi postali ","42","account_type_expense","other","TRUE"
|
||||
"4206","4206","costi telefonici ","42","account_type_expense","other","TRUE"
|
||||
"4207","4207","costi di assicurazione ","42","account_type_expense","other","TRUE"
|
||||
"4208","4208","costi di vigilanza ","42","account_type_expense","other","TRUE"
|
||||
"4209","4209","costi per i locali ","42","account_type_expense","other","TRUE"
|
||||
"4210","4210","costi di esercizio automezzi ","42","account_type_expense","other","TRUE"
|
||||
"4211","4211","costi di manutenzione e riparazione ","42","account_type_expense","other","TRUE"
|
||||
"4212","4212","provvigioni passive ","42","account_type_expense","other","TRUE"
|
||||
"4213","4213","spese di incasso ","42","account_type_expense","other","TRUE"
|
||||
"43","43","COSTI PER GODIMENTO BENI DI TERZI ","4","account_type_view","view","TRUE"
|
||||
"4301","4301","fitti passivi ","43","account_type_expense","other","TRUE"
|
||||
"4302","4302","canoni di leasing ","43","account_type_expense","other","TRUE"
|
||||
"44","44","COSTI PER IL PERSONALE ","4","account_type_view","view","TRUE"
|
||||
"4401","4401","salari e stipendi ","44","account_type_expense","other","TRUE"
|
||||
"4402","4402","oneri sociali ","44","account_type_expense","other","TRUE"
|
||||
"4403","4403","TFRL ","44","account_type_expense","other","TRUE"
|
||||
"4404","4404","altri costi per il personale ","44","account_type_expense","other","TRUE"
|
||||
"45","45","AMMORTAMENTI IMMOBILIZZAZIONI IMMATERIALI ","4","account_type_view","view","TRUE"
|
||||
"4501","4501","ammortamento costi di impianto ","45","account_type_p_l","other","TRUE"
|
||||
"4506","4506","ammortamento software ","45","account_type_p_l","other","TRUE"
|
||||
"4508","4508","ammortamento avviamento ","45","account_type_p_l","other","TRUE"
|
||||
"46","46","AMMORTAMENTI IMMOBILIZZAZIONI MATERIALI ","4","account_type_view","view","TRUE"
|
||||
"4601","4601","ammortamento fabbricati ","46","account_type_p_l","other","TRUE"
|
||||
"4602","4602","ammortamento impianti e macchinari ","46","account_type_p_l","other","TRUE"
|
||||
"4604","4604","ammortamento attrezzature commerciali ","46","account_type_p_l","other","TRUE"
|
||||
"4605","4605","ammortamento macchine d'ufficio ","46","account_type_p_l","other","TRUE"
|
||||
"4606","4606","ammortamento arredamento ","46","account_type_p_l","other","TRUE"
|
||||
"4607","4607","ammortamento automezzi ","46","account_type_p_l","other","TRUE"
|
||||
"4608","4608","ammortamento imballaggi durevoli ","46","account_type_p_l","other","TRUE"
|
||||
"47","47","SVALUTAZIONI ","4","account_type_view","view","TRUE"
|
||||
"4701","4701","svalutazioni immobilizzazioni immateriali ","47","account_type_p_l","other","TRUE"
|
||||
"4702","4702","svalutazioni immobilizzazioni materiali ","47","account_type_p_l","other","TRUE"
|
||||
"4706","4706","svalutazione crediti ","47","account_type_p_l","other","TRUE"
|
||||
"48","48","ACCANTONAMENTI ","4","account_type_view","view","TRUE"
|
||||
"481","481","ACCANTONAMENTI PER RISCHI ","48","account_type_view","view","TRUE"
|
||||
"4814","4814","accantonamento per responsabilità civile ","481","account_type_p_l","other","TRUE"
|
||||
"482","482","ALTRI ACCANTONAMENTI ","48","account_type_view","view","TRUE"
|
||||
"4821","4821","accantonamento per spese future ","482","account_type_p_l","other","TRUE"
|
||||
"4823","4823","accantonamento per manutenzioni programmate ","482","account_type_p_l","other","TRUE"
|
||||
"49","49","ONERI DIVERSI ","4","account_type_view","view","TRUE"
|
||||
"4901","4901","oneri fiscali diversi ","49","account_type_p_l","other","TRUE"
|
||||
"4903","4903","oneri vari ","49","account_type_p_l","other","TRUE"
|
||||
"4905","4905","perdite su crediti ","49","account_type_p_l","other","TRUE"
|
||||
"4910","4910","arrotondamenti passivi ","49","account_type_p_l","other","TRUE"
|
||||
"4920","4920","minusvalenze ordinarie diverse ","49","account_type_p_l","other","TRUE"
|
||||
"4930","4930","sopravvenienze passive ordinarie diverse ","49","account_type_p_l","other","TRUE"
|
||||
"4940","4940","insussistenze passive ordinarie diverse ","49","account_type_p_l","other","TRUE"
|
||||
"5","5","PROVENTI E ONERI FINANZIARI ","0","account_type_view","view","TRUE"
|
||||
"51","51","PROVENTI FINANZIARI ","5","account_type_view","view","TRUE"
|
||||
"5110","5110","interessi attivi v/clienti ","51","account_type_p_l","other","TRUE"
|
||||
"5115","5115","interessi attivi bancari ","51","account_type_p_l","other","TRUE"
|
||||
"5116","5116","interessi attivi postali ","51","account_type_p_l","other","TRUE"
|
||||
"5140","5140","proventi finanziari diversi ","51","account_type_p_l","other","TRUE"
|
||||
"52","52","ONERI FINANZIARI ","5","account_type_view","view","TRUE"
|
||||
"5201","5201","interessi passivi v/fornitori ","52","account_type_p_l","other","TRUE"
|
||||
"5202","5202","interessi passivi bancari ","52","account_type_p_l","other","TRUE"
|
||||
"5203","5203","sconti passivi bancari ","52","account_type_p_l","other","TRUE"
|
||||
"5210","5210","interessi passivi su mutui ","52","account_type_p_l","other","TRUE"
|
||||
"5240","5240","oneri finanziari diversi ","52","account_type_p_l","other","TRUE"
|
||||
"7","7","PROVENTI E ONERI STRAORDINARI ","0","account_type_view","view","TRUE"
|
||||
"71","71","PROVENTI STRAORDINARI ","7","account_type_view","view","TRUE"
|
||||
"7101","7101","plusvalenze straordinarie ","71","account_type_p_l","other","TRUE"
|
||||
"7102","7102","sopravvenienze attive straordinarie ","71","account_type_p_l","other","TRUE"
|
||||
"7103","7103","insussistenze attive straordinarie ","71","account_type_p_l","other","TRUE"
|
||||
"72","72","ONERI STRAORDINARI ","7","account_type_view","view","TRUE"
|
||||
"7201","7201","minusvalenze straordinarie ","72","account_type_p_l","other","TRUE"
|
||||
"7202","7202","sopravvenienze passive straordinarie ","72","account_type_p_l","other","TRUE"
|
||||
"7203","7203","insussistenze passive straordinarie ","72","account_type_p_l","other","TRUE"
|
||||
"7204","7204","imposte esercizi precedenti ","72","account_type_p_l","other","TRUE"
|
||||
"8","8","IMPOSTE DELL'ESERCIZIO ","0","account_type_view","view","TRUE"
|
||||
"8101","8101","imposte dell'esercizio ","8","account_type_p_l","other","TRUE"
|
||||
"9","9","CONTI DI RISULTATO ","0","account_type_view","view","TRUE"
|
||||
"9101","9101","conto di risultato economico ","9","account_type_p_l","other","TRUE"
|
||||
"9102","9102","stato patrimoniale","9","account_type_p_l","other","TRUE"
|
||||
id,code,name,parent_id:id,user_type:id,type,reconcile
|
||||
0,0,Azienda,,account_type_view,view,FALSE
|
||||
1,1,ATTIVO ,0,account_type_view,view,TRUE
|
||||
11,11,IMMOBILIZZAZIONI IMMATERIALI ,1,account_type_view,view,TRUE
|
||||
1101,1101,costi di impianto ,11,account_type_asset,other,TRUE
|
||||
1106,1106,software ,11,account_type_asset,other,TRUE
|
||||
1108,1108,avviamento ,11,account_type_asset,other,TRUE
|
||||
1111,1111,fondo ammortamento costi di impianto ,11,account_type_asset,other,TRUE
|
||||
1116,1116,fondo ammortamento software ,11,account_type_asset,other,TRUE
|
||||
1118,1118,fondo ammortamento avviamento ,11,account_type_asset,other,TRUE
|
||||
12,12,IMMOBILIZZAZIONI MATERIALI ,1,account_type_view,view,TRUE
|
||||
1201,1201,fabbricati ,12,account_type_asset,other,TRUE
|
||||
1202,1202,impianti e macchinari ,12,account_type_asset,other,TRUE
|
||||
1204,1204,attrezzature commerciali ,12,account_type_asset,other,TRUE
|
||||
1205,1205,macchine d'ufficio ,12,account_type_asset,other,TRUE
|
||||
1206,1206,arredamento ,12,account_type_asset,other,TRUE
|
||||
1207,1207,automezzi ,12,account_type_asset,other,TRUE
|
||||
1208,1208,imballaggi durevoli ,12,account_type_asset,other,TRUE
|
||||
1211,1211,fondo ammortamento fabbricati ,12,account_type_asset,other,TRUE
|
||||
1212,1212,fondo ammortamento impianti e macchinari ,12,account_type_asset,other,TRUE
|
||||
1214,1214,fondo ammortamento attrezzature commerciali ,12,account_type_asset,other,TRUE
|
||||
1215,1215,fondo ammortamento macchine d'ufficio ,12,account_type_asset,other,TRUE
|
||||
1216,1216,fondo ammortamento arredamento ,12,account_type_asset,other,TRUE
|
||||
1217,1217,fondo ammortamento automezzi ,12,account_type_asset,other,TRUE
|
||||
1218,1218,fondo ammortamento imballaggi durevoli ,12,account_type_asset,other,TRUE
|
||||
1220,1220,fornitori immobilizzazioni c/acconti ,12,account_type_asset,other,TRUE
|
||||
13,13,IMMOBILIZZAZIONI FINANZIARIE ,1,account_type_view,view,TRUE
|
||||
1301,1301,mutui attivi ,13,account_type_asset,other,TRUE
|
||||
14,14,RIMANENZE ,1,account_type_view,view,TRUE
|
||||
1401,1401,materie di consumo ,14,account_type_asset,other,TRUE
|
||||
1404,1404,merci ,14,account_type_asset,other,TRUE
|
||||
1410,1410,fornitori c/acconti ,14,account_type_asset,other,TRUE
|
||||
15,15,CREDITI COMMERCIALI ,1,account_type_view,view,TRUE
|
||||
1501,1501,crediti v/clienti ,15,account_type_receivable,receivable,TRUE
|
||||
1502,1502,crediti commerciali diversi ,15,account_type_receivable,other,TRUE
|
||||
1503,1503,clienti c/spese anticipate ,15,account_type_receivable,receivable,TRUE
|
||||
1505,1505,cambiali attive ,15,account_type_receivable,other,TRUE
|
||||
1506,1506,cambiali allo sconto ,15,account_type_receivable,other,TRUE
|
||||
1507,1507,cambiali all'incasso ,15,account_type_receivable,other,TRUE
|
||||
1509,1509,fatture da emettere ,15,account_type_receivable,other,TRUE
|
||||
1510,1510,crediti insoluti ,15,account_type_receivable,other,TRUE
|
||||
1511,1511,cambiali insolute ,15,account_type_receivable,other,TRUE
|
||||
1531,1531,crediti da liquidare ,15,account_type_receivable,other,TRUE
|
||||
1540,1540,fondo svalutazione crediti ,15,account_type_receivable,other,TRUE
|
||||
1541,1541,fondo rischi su crediti ,15,account_type_receivable,other,TRUE
|
||||
16,16,CREDITI DIVERSI ,1,account_type_view,view,TRUE
|
||||
1601,1601,IVA n/credito ,16,account_type_tax,other,TRUE
|
||||
1602,1602,IVA c/acconto ,16,account_type_tax,other,TRUE
|
||||
1605,1605,crediti per IVA ,16,account_type_tax,other,TRUE
|
||||
1607,1607,imposte c/acconto ,16,account_type_tax,other,TRUE
|
||||
1608,1608,crediti per imposte ,16,account_type_tax,other,TRUE
|
||||
1609,1609,crediti per ritenute subite ,16,account_type_asset,other,TRUE
|
||||
1610,1610,crediti per cauzioni ,16,account_type_asset,other,TRUE
|
||||
1620,1620,personale c/acconti ,16,account_type_asset,other,TRUE
|
||||
1630,1630,crediti v/istituti previdenziali ,16,account_type_asset,other,TRUE
|
||||
1640,1640,debitori diversi ,16,account_type_receivable,receivable,TRUE
|
||||
18,18,DISPONIBILITÀ LIQUIDE ,1,account_type_view,view,TRUE
|
||||
1801,1801,banche c/c ,18,account_type_bank,liquidity,TRUE
|
||||
1810,1810,c/c postali ,18,account_type_cash,liquidity,TRUE
|
||||
1820,1820,denaro in cassa ,18,account_type_cash,liquidity,TRUE
|
||||
1821,1821,assegni ,18,account_type_cash,liquidity,TRUE
|
||||
1822,1822,valori bollati ,18,account_type_cash,liquidity,TRUE
|
||||
19,19,RATEI E RISCONTI ATTIVI ,1,account_type_view,view,TRUE
|
||||
1901,1901,ratei attivi ,19,account_type_asset,other,TRUE
|
||||
1902,1902,risconti attivi ,19,account_type_asset,other,TRUE
|
||||
2,2,PASSIVO ,0,account_type_view,view,TRUE
|
||||
20,20,PATRIMONIO NETTO ,2,account_type_view,view,TRUE
|
||||
2101,2101,patrimonio netto ,20,account_type_asset,other,TRUE
|
||||
2102,2102,utile d'esercizio ,20,account_type_asset,other,TRUE
|
||||
2103,2103,perdita d'esercizio ,20,account_type_asset,other,TRUE
|
||||
2104,2104,prelevamenti extra gestione ,20,account_type_asset,other,TRUE
|
||||
2105,2105,titolare c/ritenute subite ,20,account_type_asset,other,TRUE
|
||||
22,22,FONDI PER RISCHI E ONERI ,2,account_type_view,view,TRUE
|
||||
2201,2201,fondo per imposte ,22,account_type_asset,other,TRUE
|
||||
2204,2204,fondo responsabilità civile ,22,account_type_asset,other,TRUE
|
||||
2205,2205,fondo spese future ,22,account_type_asset,other,TRUE
|
||||
2211,2211,fondo manutenzioni programmate ,22,account_type_asset,other,TRUE
|
||||
23,23,TRATTAMENTO FINE RAPPORTO DI LAVORO ,2,account_type_view,view,TRUE
|
||||
2301,2301,debiti per TFRL ,23,account_type_asset,other,TRUE
|
||||
24,24,DEBITI FINANZIARI ,2,account_type_view,view,TRUE
|
||||
2410,2410,mutui passivi ,24,account_type_asset,other,TRUE
|
||||
2411,2411,banche c/sovvenzioni ,24,account_type_asset,other,TRUE
|
||||
2420,2420,banche c/c passivi ,24,account_type_asset,other,TRUE
|
||||
2421,2421,banche c/RIBA all'incasso ,24,account_type_asset,other,TRUE
|
||||
2422,2422,banche c/cambiali all'incasso ,24,account_type_asset,other,TRUE
|
||||
2423,2423,banche c/anticipi su fatture ,24,account_type_asset,other,TRUE
|
||||
2440,2440,debiti v/altri finanziatori ,24,account_type_asset,other,TRUE
|
||||
25,25,DEBITI COMMERCIALI ,2,account_type_view,view,TRUE
|
||||
2501,2501,debiti v/fornitori ,25,account_type_payable,payable,TRUE
|
||||
2503,2503,cambiali passive ,25,account_type_asset,other,TRUE
|
||||
2520,2520,fatture da ricevere ,25,account_type_asset,other,TRUE
|
||||
2521,2521,debiti da liquidare ,25,account_type_asset,other,TRUE
|
||||
2530,2530,clienti c/acconti ,25,account_type_payable,payable,TRUE
|
||||
26,26,DEBITI DIVERSI ,2,account_type_view,view,TRUE
|
||||
2601,2601,IVA n/debito ,26,account_type_tax,other,TRUE
|
||||
2602,2602,debiti per ritenute da versare ,26,account_type_tax,other,TRUE
|
||||
2605,2605,erario c/IVA ,26,account_type_payable,payable,TRUE
|
||||
2606,2606,debiti per imposte ,26,account_type_tax,other,TRUE
|
||||
2619,2619,debiti per cauzioni ,26,account_type_asset,other,TRUE
|
||||
2620,2620,personale c/retribuzioni ,26,account_type_asset,other,TRUE
|
||||
2621,2621,personale c/liquidazioni ,26,account_type_asset,other,TRUE
|
||||
2622,2622,clienti c/cessione ,26,account_type_asset,other,TRUE
|
||||
2630,2630,debiti v/istituti previdenziali ,26,account_type_asset,other,TRUE
|
||||
2640,2640,creditori diversi ,26,account_type_payable,payable,TRUE
|
||||
27,27,RATEI E RISCONTI PASSIVI ,2,account_type_view,view,TRUE
|
||||
2701,2701,ratei passivi ,27,account_type_asset,other,TRUE
|
||||
2702,2702,risconti passivi ,27,account_type_asset,other,TRUE
|
||||
28,28,CONTI TRANSITORI E DIVERSI ,2,account_type_view,view,TRUE
|
||||
2801,2801,bilancio di apertura ,28,account_type_asset,other,TRUE
|
||||
2802,2802,bilancio di chiusura ,28,account_type_asset,other,TRUE
|
||||
2810,2810,IVA c/liquidazioni ,28,account_type_asset,other,TRUE
|
||||
2811,2811,istituti previdenziali ,28,account_type_asset,other,TRUE
|
||||
2820,2820,banca ... c/c ,28,account_type_asset,other,TRUE
|
||||
2821,2821,banca ... c/c ,28,account_type_asset,other,TRUE
|
||||
2822,2822,banca ... c/c ,28,account_type_asset,other,TRUE
|
||||
29,29,CONTI DEI SISTEMI SUPPLEMENTARI ,2,account_type_view,view,TRUE
|
||||
2901,2901,beni di terzi ,29,account_type_asset,other,TRUE
|
||||
2902,2902,depositanti beni ,29,account_type_asset,other,TRUE
|
||||
2911,2911,merci da ricevere ,29,account_type_asset,other,TRUE
|
||||
2912,2912,fornitori c/impegni ,29,account_type_asset,other,TRUE
|
||||
2913,2913,impegni per beni in leasing ,29,account_type_asset,other,TRUE
|
||||
2914,2914,creditori c/leasing ,29,account_type_asset,other,TRUE
|
||||
2916,2916,clienti c/impegni ,29,account_type_asset,other,TRUE
|
||||
2917,2917,merci da consegnare ,29,account_type_asset,other,TRUE
|
||||
2921,2921,rischi per effetti scontati ,29,account_type_asset,other,TRUE
|
||||
2922,2922,banche c/effetti scontati ,29,account_type_asset,other,TRUE
|
||||
2926,2926,rischi per fideiussioni ,29,account_type_asset,other,TRUE
|
||||
2927,2927,creditori per fideiussioni ,29,account_type_asset,other,TRUE
|
||||
2931,2931,rischi per avalli ,29,account_type_asset,other,TRUE
|
||||
2932,2932,creditori per avalli ,29,account_type_asset,other,TRUE
|
||||
3,3,VALORE DELLA PRODUZIONE ,0,account_type_view,view,TRUE
|
||||
31,31,VENDITE E PRESTAZIONI ,3,account_type_view,view,TRUE
|
||||
3101,3101,merci c/vendite ,31,account_type_income,other,TRUE
|
||||
3103,3103,rimborsi spese di vendita ,31,account_type_income,other,TRUE
|
||||
3110,3110,resi su vendite ,31,account_type_income,other,TRUE
|
||||
3111,3111,ribassi e abbuoni passivi ,31,account_type_income,other,TRUE
|
||||
3112,3112,premi su vendite ,31,account_type_income,other,TRUE
|
||||
32,32,RICAVI E PROVENTI DIVERSI ,3,account_type_view,view,TRUE
|
||||
3201,3201,fitti attivi ,32,account_type_income,other,TRUE
|
||||
3202,3202,proventi vari ,32,account_type_income,other,TRUE
|
||||
3210,3210,arrotondamenti attivi ,32,account_type_income,other,TRUE
|
||||
3220,3220,plusvalenze ordinarie diverse ,32,account_type_income,other,TRUE
|
||||
3230,3230,sopravvenienze attive ordinarie diverse ,32,account_type_income,other,TRUE
|
||||
3240,3240,insussistenze attive ordinarie diverse ,32,account_type_income,other,TRUE
|
||||
4,4,COSTI DELLA PRODUZIONE ,0,account_type_view,view,TRUE
|
||||
41,41,COSTO DEL VENDUTO ,4,account_type_view,view,TRUE
|
||||
4101,4101,merci c/acquisti ,41,account_type_expense,other,TRUE
|
||||
4102,4102,materie di consumo c/acquisti ,41,account_type_expense,other,TRUE
|
||||
4105,4105,merci c/apporti ,41,account_type_expense,other,TRUE
|
||||
4110,4110,resi su acquisti ,41,account_type_expense,other,TRUE
|
||||
4111,4111,ribassi e abbuoni attivi ,41,account_type_expense,other,TRUE
|
||||
4112,4112,premi su acquisti ,41,account_type_expense,other,TRUE
|
||||
4121,4121,merci c/esistenze iniziali ,41,account_type_expense,other,TRUE
|
||||
4122,4122,materie di consumo c/esistenze iniziali ,41,account_type_expense,other,TRUE
|
||||
4131,4131,merci c/rimanenze finali ,41,account_type_expense,other,TRUE
|
||||
4132,4132,materie di consumo c/rimanenze finali ,41,account_type_expense,other,TRUE
|
||||
42,42,COSTI PER SERVIZI ,4,account_type_view,view,TRUE
|
||||
4201,4201,costi di trasporto ,42,account_type_expense,other,TRUE
|
||||
4202,4202,costi per energia ,42,account_type_expense,other,TRUE
|
||||
4203,4203,costi di pubblicità ,42,account_type_expense,other,TRUE
|
||||
4204,4204,costi di consulenze ,42,account_type_expense,other,TRUE
|
||||
4205,4205,costi postali ,42,account_type_expense,other,TRUE
|
||||
4206,4206,costi telefonici ,42,account_type_expense,other,TRUE
|
||||
4207,4207,costi di assicurazione ,42,account_type_expense,other,TRUE
|
||||
4208,4208,costi di vigilanza ,42,account_type_expense,other,TRUE
|
||||
4209,4209,costi per i locali ,42,account_type_expense,other,TRUE
|
||||
4210,4210,costi di esercizio automezzi ,42,account_type_expense,other,TRUE
|
||||
4211,4211,costi di manutenzione e riparazione ,42,account_type_expense,other,TRUE
|
||||
4212,4212,provvigioni passive ,42,account_type_expense,other,TRUE
|
||||
4213,4213,spese di incasso ,42,account_type_expense,other,TRUE
|
||||
43,43,COSTI PER GODIMENTO BENI DI TERZI ,4,account_type_view,view,TRUE
|
||||
4301,4301,fitti passivi ,43,account_type_expense,other,TRUE
|
||||
4302,4302,canoni di leasing ,43,account_type_expense,other,TRUE
|
||||
44,44,COSTI PER IL PERSONALE ,4,account_type_view,view,TRUE
|
||||
4401,4401,salari e stipendi ,44,account_type_expense,other,TRUE
|
||||
4402,4402,oneri sociali ,44,account_type_expense,other,TRUE
|
||||
4403,4403,TFRL ,44,account_type_expense,other,TRUE
|
||||
4404,4404,altri costi per il personale ,44,account_type_expense,other,TRUE
|
||||
45,45,AMMORTAMENTI IMMOBILIZZAZIONI IMMATERIALI ,4,account_type_view,view,TRUE
|
||||
4501,4501,ammortamento costi di impianto ,45,account_type_p_l,other,TRUE
|
||||
4506,4506,ammortamento software ,45,account_type_p_l,other,TRUE
|
||||
4508,4508,ammortamento avviamento ,45,account_type_p_l,other,TRUE
|
||||
46,46,AMMORTAMENTI IMMOBILIZZAZIONI MATERIALI ,4,account_type_view,view,TRUE
|
||||
4601,4601,ammortamento fabbricati ,46,account_type_p_l,other,TRUE
|
||||
4602,4602,ammortamento impianti e macchinari ,46,account_type_p_l,other,TRUE
|
||||
4604,4604,ammortamento attrezzature commerciali ,46,account_type_p_l,other,TRUE
|
||||
4605,4605,ammortamento macchine d'ufficio ,46,account_type_p_l,other,TRUE
|
||||
4606,4606,ammortamento arredamento ,46,account_type_p_l,other,TRUE
|
||||
4607,4607,ammortamento automezzi ,46,account_type_p_l,other,TRUE
|
||||
4608,4608,ammortamento imballaggi durevoli ,46,account_type_p_l,other,TRUE
|
||||
47,47,SVALUTAZIONI ,4,account_type_view,view,TRUE
|
||||
4701,4701,svalutazioni immobilizzazioni immateriali ,47,account_type_p_l,other,TRUE
|
||||
4702,4702,svalutazioni immobilizzazioni materiali ,47,account_type_p_l,other,TRUE
|
||||
4706,4706,svalutazione crediti ,47,account_type_p_l,other,TRUE
|
||||
48,48,ACCANTONAMENTI ,4,account_type_view,view,TRUE
|
||||
481,481,ACCANTONAMENTI PER RISCHI ,48,account_type_view,view,TRUE
|
||||
4814,4814,accantonamento per responsabilità civile ,481,account_type_p_l,other,TRUE
|
||||
482,482,ALTRI ACCANTONAMENTI ,48,account_type_view,view,TRUE
|
||||
4821,4821,accantonamento per spese future ,482,account_type_p_l,other,TRUE
|
||||
4823,4823,accantonamento per manutenzioni programmate ,482,account_type_p_l,other,TRUE
|
||||
49,49,ONERI DIVERSI ,4,account_type_view,view,TRUE
|
||||
4901,4901,oneri fiscali diversi ,49,account_type_p_l,other,TRUE
|
||||
4903,4903,oneri vari ,49,account_type_p_l,other,TRUE
|
||||
4905,4905,perdite su crediti ,49,account_type_p_l,other,TRUE
|
||||
4910,4910,arrotondamenti passivi ,49,account_type_p_l,other,TRUE
|
||||
4920,4920,minusvalenze ordinarie diverse ,49,account_type_p_l,other,TRUE
|
||||
4930,4930,sopravvenienze passive ordinarie diverse ,49,account_type_p_l,other,TRUE
|
||||
4940,4940,insussistenze passive ordinarie diverse ,49,account_type_p_l,other,TRUE
|
||||
5,5,PROVENTI E ONERI FINANZIARI ,0,account_type_view,view,TRUE
|
||||
51,51,PROVENTI FINANZIARI ,5,account_type_view,view,TRUE
|
||||
5110,5110,interessi attivi v/clienti ,51,account_type_p_l,other,TRUE
|
||||
5115,5115,interessi attivi bancari ,51,account_type_p_l,other,TRUE
|
||||
5116,5116,interessi attivi postali ,51,account_type_p_l,other,TRUE
|
||||
5140,5140,proventi finanziari diversi ,51,account_type_p_l,other,TRUE
|
||||
52,52,ONERI FINANZIARI ,5,account_type_view,view,TRUE
|
||||
5201,5201,interessi passivi v/fornitori ,52,account_type_p_l,other,TRUE
|
||||
5202,5202,interessi passivi bancari ,52,account_type_p_l,other,TRUE
|
||||
5203,5203,sconti passivi bancari ,52,account_type_p_l,other,TRUE
|
||||
5210,5210,interessi passivi su mutui ,52,account_type_p_l,other,TRUE
|
||||
5240,5240,oneri finanziari diversi ,52,account_type_p_l,other,TRUE
|
||||
7,7,PROVENTI E ONERI STRAORDINARI ,0,account_type_view,view,TRUE
|
||||
71,71,PROVENTI STRAORDINARI ,7,account_type_view,view,TRUE
|
||||
7101,7101,plusvalenze straordinarie ,71,account_type_p_l,other,TRUE
|
||||
7102,7102,sopravvenienze attive straordinarie ,71,account_type_p_l,other,TRUE
|
||||
7103,7103,insussistenze attive straordinarie ,71,account_type_p_l,other,TRUE
|
||||
72,72,ONERI STRAORDINARI ,7,account_type_view,view,TRUE
|
||||
7201,7201,minusvalenze straordinarie ,72,account_type_p_l,other,TRUE
|
||||
7202,7202,sopravvenienze passive straordinarie ,72,account_type_p_l,other,TRUE
|
||||
7203,7203,insussistenze passive straordinarie ,72,account_type_p_l,other,TRUE
|
||||
7204,7204,imposte esercizi precedenti ,72,account_type_p_l,other,TRUE
|
||||
8,8,IMPOSTE DELL'ESERCIZIO ,0,account_type_view,view,TRUE
|
||||
8101,8101,imposte dell'esercizio ,8,account_type_p_l,other,TRUE
|
||||
9,9,CONTI DI RISULTATO ,0,account_type_view,view,TRUE
|
||||
9101,9101,conto di risultato economico ,9,account_type_p_l,other,TRUE
|
||||
9102,9102,stato patrimoniale,9,account_type_p_l,other,TRUE
|
||||
|
|
|
|
@ -2516,6 +2516,7 @@
|
|||
<record id="pcg_4558" model="account.account.template">
|
||||
<field name="name">Actionari/asociati dobanzi la conturi curente</field>
|
||||
<field name="type">receivable</field>
|
||||
<field name="code">4558</field>
|
||||
<field name="user_type" ref="account_type_receivable"/>
|
||||
<field name="parent_id" ref="pcg_455"/>
|
||||
<field name="reconcile" eval="True"/>
|
||||
|
|
|
@ -131,7 +131,6 @@
|
|||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('email_from', '!=', False)]</field>
|
||||
<field name="context">{'search_default_received':1}</field>
|
||||
<field name="search_view_id" ref="view_email_message_search"/>
|
||||
</record>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -133,7 +133,7 @@ Normal - the campaign runs normally and automatically sends all emails and repor
|
|||
campaign = self.browse(cr, uid, ids[0])
|
||||
|
||||
if not campaign.activity_ids:
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be started: there are no activities in it"))
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be started: there are no activities in it."))
|
||||
|
||||
has_start = False
|
||||
has_signal_without_from = False
|
||||
|
@ -145,7 +145,7 @@ Normal - the campaign runs normally and automatically sends all emails and repor
|
|||
has_signal_without_from = True
|
||||
|
||||
if not has_start and not has_signal_without_from:
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be started: it doesn't have any starting activity (or any activity with a signal and no previous activity)"))
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be started: it doesn't have any starting activity. Modify campaign's activities to mark one as the starting point."))
|
||||
|
||||
return self.write(cr, uid, ids, {'state': 'running'})
|
||||
|
||||
|
@ -155,7 +155,7 @@ Normal - the campaign runs normally and automatically sends all emails and repor
|
|||
[('campaign_id', 'in', ids),
|
||||
('state', '=', 'running')])
|
||||
if segment_ids :
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be marked as done before all segments are done"))
|
||||
raise osv.except_osv(_("Error"), _("The campaign cannot be marked as done before all segments are closed."))
|
||||
self.write(cr, uid, ids, {'state': 'done'})
|
||||
return True
|
||||
|
||||
|
@ -211,7 +211,7 @@ Normal - the campaign runs normally and automatically sends all emails and repor
|
|||
|
||||
# prevent duplication until the server properly duplicates several levels of nested o2m
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
raise osv.except_osv(_("Operation not supported"), _("Sorry, campaign duplication is not supported at the moment."))
|
||||
raise osv.except_osv(_("Operation not supported"), _("You can not duplicate a campaign, it's not supported yet."))
|
||||
|
||||
def _find_duplicate_workitems(self, cr, uid, record, campaign_rec, context=None):
|
||||
"""Finds possible duplicates workitems for a record in this campaign, based on a uniqueness
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue