[Merge] lp:openobject-addons

bzr revid: dbr@tinyerp.com-20130222055629-7b4wjhef7l66l6ri
This commit is contained in:
DBR (OpenERP) 2013-02-22 11:26:29 +05:30
commit 92fc06063c
183 changed files with 40451 additions and 1603 deletions

View File

@ -343,7 +343,7 @@ class account_journal_cashbox_line(osv.osv):
_rec_name = 'pieces'
_columns = {
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1),
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1, ondelete="cascade"),
}
_order = 'pieces asc'

View File

@ -39,6 +39,8 @@ class account_financial_report(osv.osv):
_description = "Account Report"
def _get_level(self, cr, uid, ids, field_name, arg, context=None):
'''Returns a dictionary with key=the ID of a record and value = the level of this
record in the tree structure.'''
res = {}
for report in self.browse(cr, uid, ids, context=context):
level = 0
@ -48,6 +50,8 @@ class account_financial_report(osv.osv):
return res
def _get_children_by_order(self, cr, uid, ids, context=None):
'''returns a dictionary with the key= the ID of a record and value = all its children,
computed recursively, and sorted by sequence. Ready for the printing'''
res = []
for id in ids:
res.append(id)
@ -56,6 +60,12 @@ class account_financial_report(osv.osv):
return res
def _get_balance(self, cr, uid, ids, field_names, args, context=None):
'''returns a dictionary with key=the ID of a record and value=the balance amount
computed for this record. If the record is of type :
'accounts' : it's the sum of the linked accounts
'account_type' : it's the sum of leaf accoutns with such an account_type
'account_report' : it's the amount of the related report
'sum' : it's the sum of the children of this record (aka a 'view' record)'''
account_obj = self.pool.get('account.account')
res = {}
for report in self.browse(cr, uid, ids, context=context):

View File

@ -23,7 +23,6 @@ import time
from lxml import etree
import openerp.addons.decimal_precision as dp
from openerp import netsvc
from openerp import pooler
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
@ -80,11 +79,10 @@ class account_invoice(osv.osv):
def _reconciled(self, cr, uid, ids, name, args, context=None):
res = {}
wf_service = netsvc.LocalService("workflow")
for inv in self.browse(cr, uid, ids, context=context):
res[inv.id] = self.test_paid(cr, uid, [inv.id])
if not res[inv.id] and inv.state == 'paid':
wf_service.trg_validate(uid, 'account.invoice', inv.id, 'open_test', cr)
self.signal_open_test(cr, uid, [inv.id])
return res
def _get_reference_type(self, cr, uid, context=None):
@ -308,7 +306,7 @@ class account_invoice(osv.osv):
'''
Find the partner for which the accounting entries will be created
'''
#if the chosen partner is not a company and has a parent company, use the parent for the journal entries
#if the chosen partner is not a company and has a parent company, use the parent for the journal entries
#because you want to invoice 'Agrolait, accounting department' but the journal items are for 'Agrolait'
part = inv.partner_id
if part.parent_id and not part.is_company:
@ -419,7 +417,7 @@ class account_invoice(osv.osv):
try:
compose_form_id = ir_model_data.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')[1]
except ValueError:
compose_form_id = False
compose_form_id = False
ctx = dict(context)
ctx.update({
'default_model': 'account.invoice',
@ -451,11 +449,15 @@ class account_invoice(osv.osv):
context = {}
invoices = self.read(cr, uid, ids, ['state','internal_number'], context=context)
unlink_ids = []
for t in invoices:
if t['state'] in ('draft', 'cancel') and t['internal_number']== False:
unlink_ids.append(t['id'])
if t['state'] not in ('draft', 'cancel'):
raise openerp.exceptions.Warning(_('You cannot delete an invoice which is not draft or cancelled. You should refund it instead.'))
elif t['internal_number']:
raise openerp.exceptions.Warning(_('You cannot delete an invoice after it has been validated (and received a number). You can set it back to "Draft" state and modify its content, then re-confirm it.'))
else:
raise osv.except_osv(_('Invalid Action!'), _('You can not delete an invoice which is not cancelled. You should refund it instead.'))
unlink_ids.append(t['id'])
osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
return True
@ -540,11 +542,11 @@ class account_invoice(osv.osv):
return result
def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice):
res = {}
res = {}
if not date_invoice:
date_invoice = time.strftime('%Y-%m-%d')
if not payment_term_id:
return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term
return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term
pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice)
if pterm_list:
pterm_list = [line[0] for line in pterm_list]
@ -560,35 +562,41 @@ class account_invoice(osv.osv):
def onchange_partner_bank(self, cursor, user, ids, partner_bank_id=False):
return {'value': {}}
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id):
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id, context=None):
val = {}
dom = {}
obj_journal = self.pool.get('account.journal')
account_obj = self.pool.get('account.account')
inv_line_obj = self.pool.get('account.invoice.line')
if company_id and part_id and type:
acc_id = False
partner_obj = self.pool.get('res.partner').browse(cr,uid,part_id)
partner_obj = self.pool.get('res.partner').browse(cr, uid, part_id, context=context)
if partner_obj.property_account_payable and partner_obj.property_account_receivable:
if partner_obj.property_account_payable.company_id.id != company_id and partner_obj.property_account_receivable.company_id.id != company_id:
property_obj = self.pool.get('ir.property')
rec_pro_id = property_obj.search(cr, uid, [('name','=','property_account_receivable'),('res_id','=','res.partner,'+str(part_id)+''),('company_id','=',company_id)])
pay_pro_id = property_obj.search(cr, uid, [('name','=','property_account_payable'),('res_id','=','res.partner,'+str(part_id)+''),('company_id','=',company_id)])
if not rec_pro_id:
rec_pro_id = property_obj.search(cr, uid, [('name','=','property_account_receivable'),('company_id','=',company_id)])
if not pay_pro_id:
pay_pro_id = property_obj.search(cr, uid, [('name','=','property_account_payable'),('company_id','=',company_id)])
rec_line_data = property_obj.read(cr, uid, rec_pro_id, ['name','value_reference','res_id'])
pay_line_data = property_obj.read(cr, uid, pay_pro_id, ['name','value_reference','res_id'])
rec_res_id = rec_line_data and rec_line_data[0].get('value_reference',False) and int(rec_line_data[0]['value_reference'].split(',')[1]) or False
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!'),
_('Cannot find a chart of account, you should create one from Settings\Configuration\Accounting menu.'))
raise self.pool.get('res.config.settings').get_config_warning(cr, _('Cannot find any chart of account: you can create a new one from %(menu:account.menu_account_config)s.'), context=context)
if type in ('out_invoice', 'out_refund'):
acc_id = rec_res_id
else:
acc_id = pay_res_id
val= {'account_id': acc_id}
if ids:
if company_id:
@ -638,10 +646,8 @@ class account_invoice(osv.osv):
# go from canceled state to draft state
def action_cancel_draft(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state':'draft'})
wf_service = netsvc.LocalService("workflow")
for inv_id in ids:
wf_service.trg_delete(uid, 'account.invoice', inv_id, cr)
wf_service.trg_create(uid, 'account.invoice', inv_id, cr)
self.delete_workflow(cr, uid, ids)
self.create_workflow(cr, uid, ids)
return True
# Workflow stuff
@ -1145,6 +1151,11 @@ class account_invoice(osv.osv):
return self.name_get(cr, user, ids, context)
def _refund_cleanup_lines(self, cr, uid, lines, context=None):
"""Convert records to dict of values suitable for one2many line creation
:param list(browse_record) lines: records to convert
:return: list of command tuple for one2many line creation [(0, 0, dict of valueis), ...]
"""
clean_lines = []
for line in lines:
clean_line = {}
@ -1394,7 +1405,12 @@ class account_invoice_line(osv.osv):
# XXX this gets the default account for the user's company,
# it should get the default account for the invoice's company
# however, the invoice's company does not reach this point
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_income_categ', 'product.category', context=context)
if context is None:
context = {}
if context.get('type') in ('out_invoice','out_refund'):
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_income_categ', 'product.category', context=context)
else:
prop = self.pool.get('ir.property').get(cr, uid, 'property_account_expense_categ', 'product.category', context=context)
return prop and prop.id or False
_defaults = {

View File

@ -257,7 +257,7 @@
<group>
<field name="move_id" groups="account.group_account_user"/>
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]" groups="account.group_account_user"/>
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
</group>
</group>
</page>
@ -390,7 +390,7 @@
<page string="Other Info">
<group col="4">
<group>
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
<field name="user_id" groups="base.group_user"/>
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2012-12-24 11:01+0000\n"
"PO-Revision-Date: 2013-02-20 17:45+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-25 04:47+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-21 05:14+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@ -26,7 +26,7 @@ msgstr "Pago del sistema"
msgid ""
"An account fiscal position could be defined only once time on same accounts."
msgstr ""
"Una posición fiscal solo puede estar definida una vez en las mismas cuentas."
"Una posición fiscal sólo puede estar definida una vez en las mismas cuentas."
#. module: account
#: help:account.tax.code,sequence:0

View File

@ -18,6 +18,7 @@
<field name="parent_id" invisible="1"/>
<field name="state" invisible="1"/>
<field name="type" invisible="1"/>
<field name="template_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>

View File

@ -56,7 +56,7 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
for report in self.pool.get('account.financial.report').browse(self.cr, self.uid, ids2, context=data['form']['used_context']):
vals = {
'name': report.name,
'balance': report.balance * report.sign,
'balance': report.balance * report.sign or 0.0,
'type': 'report',
'level': bool(report.style_overwrite) and report.style_overwrite or report.level,
'account_type': report.type =='sum' and 'view' or False, #used to underline the financial report balances

View File

@ -151,12 +151,12 @@ class account_config_settings(osv.osv_memory):
self.write(cr, uid, [id], vals, context)
return id
def onchange_company_id(self, cr, uid, ids, company_id):
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
# update related fields
values = {}
values['currency_id'] = False
if company_id:
company = self.pool.get('res.company').browse(cr, uid, company_id)
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
has_chart_of_accounts = company_id not in self.pool.get('account.installer').get_unconfigured_cmp(cr, uid)
fiscalyear_count = self.pool.get('account.fiscalyear').search_count(cr, uid,
[('date_start', '<=', time.strftime('%Y-%m-%d')), ('date_stop', '>=', time.strftime('%Y-%m-%d')),

View File

@ -33,7 +33,7 @@
<label for="company_id" string="Select Company"/>
<field name="company_id"
widget="selection"
on_change="onchange_company_id(company_id)"
on_change="onchange_company_id(company_id, context)"
class="oe_inline"/>
</div>
<div>

View File

@ -23,7 +23,6 @@ import time
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import netsvc
class account_invoice_refund(osv.osv_memory):
@ -90,7 +89,6 @@ class account_invoice_refund(osv.osv_memory):
account_m_line_obj = self.pool.get('account.move.line')
mod_obj = self.pool.get('ir.model.data')
act_obj = self.pool.get('ir.actions.act_window')
wf_service = netsvc.LocalService('workflow')
inv_tax_obj = self.pool.get('account.invoice.tax')
inv_line_obj = self.pool.get('account.invoice.line')
res_users_obj = self.pool.get('res.users')
@ -161,8 +159,7 @@ class account_invoice_refund(osv.osv_memory):
to_reconcile_ids[line.account_id.id] = [line.id]
if type(line.reconcile_id) != osv.orm.browse_null:
reconcile_obj.unlink(cr, uid, line.reconcile_id.id)
wf_service.trg_validate(uid, 'account.invoice', \
refund.id, 'invoice_open', cr)
inv_obj.signal_invoice_open(cr, uid, [refund.id])
refund = inv_obj.browse(cr, uid, refund_id[0], context=context)
for tmpline in refund.move_id.line_id:
if tmpline.account_id.id == inv.account_id.id:
@ -183,9 +180,9 @@ class account_invoice_refund(osv.osv_memory):
'journal_id', 'period_id'], context=context)
invoice = invoice[0]
del invoice['id']
invoice_lines = inv_line_obj.read(cr, uid, invoice['invoice_line'], context=context)
invoice_lines = inv_line_obj.browse(cr, uid, invoice['invoice_line'], context=context)
invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines)
tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context)
tax_lines = inv_tax_obj.browse(cr, uid, invoice['tax_line'], context=context)
tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines)
invoice.update({
'type': inv.type,

View File

@ -21,7 +21,6 @@
from openerp.osv import osv
from openerp.tools.translate import _
from openerp import netsvc
from openerp import pooler
class account_invoice_confirm(osv.osv_memory):
@ -33,16 +32,16 @@ class account_invoice_confirm(osv.osv_memory):
_description = "Confirm the selected invoices"
def invoice_confirm(self, cr, uid, ids, context=None):
wf_service = netsvc.LocalService('workflow')
if context is None:
context = {}
pool_obj = pooler.get_pool(cr.dbname)
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
account_invoice_obj = pool_obj.get('account.invoice')
data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] not in ('draft','proforma','proforma2'):
raise osv.except_osv(_('Warning!'), _("Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state."))
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_open', cr)
account_invoice_obj.signal_invoice_open(cr, uid, [ record['id'] ])
return {'type': 'ir.actions.act_window_close'}
account_invoice_confirm()
@ -59,14 +58,13 @@ class account_invoice_cancel(osv.osv_memory):
def invoice_cancel(self, cr, uid, ids, context=None):
if context is None:
context = {}
wf_service = netsvc.LocalService('workflow')
pool_obj = pooler.get_pool(cr.dbname)
data_inv = pool_obj.get('account.invoice').read(cr, uid, context['active_ids'], ['state'], context=context)
account_invoice_obj = pool_obj.get('account.invoice')
data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] in ('cancel','paid'):
raise osv.except_osv(_('Warning!'), _("Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state."))
wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_cancel', cr)
account_invoice_obj.signal_invoice_cancel(cr , uid, [record['id']])
return {'type': 'ir.actions.act_window_close'}
account_invoice_cancel()

View File

@ -35,8 +35,7 @@ class account_state_open(osv.osv_memory):
data_inv = obj_invoice.browse(cr, uid, context['active_ids'][0], context=context)
if data_inv.reconciled:
raise osv.except_osv(_('Warning!'), _('Invoice is already reconciled.'))
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.invoice', context['active_ids'][0], 'open_test', cr)
obj_invoice.signal_open_test(cr, uid, context['active_ids'][0])
return {'type': 'ir.actions.act_window_close'}
account_state_open()

View File

@ -20,7 +20,6 @@
##############################################################################
import account_analytic_analysis
import cron_account_analytic_account
import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -38,7 +38,6 @@ Adds menu to show relevant information to each manager.You can also view the rep
'security/ir.model.access.csv',
'security/account_analytic_analysis_security.xml',
'account_analytic_analysis_view.xml',
'account_analytic_analysis_menu.xml',
'account_analytic_analysis_cron.xml',
'res_config_view.xml',
],

View File

@ -18,6 +18,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import datetime
import logging
import time
from openerp.osv import osv, fields
from openerp.osv.orm import intersect, except_orm
@ -27,6 +30,8 @@ from openerp.tools.translate import _
from openerp.addons.decimal_precision import decimal_precision as dp
_logger = logging.getLogger(__name__)
class account_virtual_invoice(osv.osv):
_name = "account.virtual.invoice"
_auto = False
@ -628,7 +633,70 @@ class account_analytic_account(osv.osv):
}
return result
account_analytic_account()
def cron_account_analytic_account(self, cr, uid, context=None):
if context is None:
context = {}
remind = {}
def fill_remind(key, domain, write_pending=False):
base_domain = [
('type', '=', 'contract'),
('partner_id', '!=', False),
('manager_id', '!=', False),
('manager_id.email', '!=', False),
]
base_domain.extend(domain)
accounts_ids = self.search(cr, uid, base_domain, context=context, order='name asc')
accounts = self.browse(cr, uid, accounts_ids, context=context)
for account in accounts:
if write_pending:
account.write({'state' : 'pending'}, context=context)
remind_user = remind.setdefault(account.manager_id.id, {})
remind_type = remind_user.setdefault(key, {})
remind_partner = remind_type.setdefault(account.partner_id, []).append(account)
# Already expired
fill_remind("old", [('state', 'in', ['pending'])])
# Expires now
fill_remind("new", [('state', 'in', ['draft', 'open']), '|', '&', ('date', '!=', False), ('date', '<=', time.strftime('%Y-%m-%d')), ('is_overdue_quantity', '=', True)], True)
# Expires in less than 30 days
fill_remind("future", [('state', 'in', ['draft', 'open']), ('date', '!=', False), ('date', '<', (datetime.datetime.now() + datetime.timedelta(30)).strftime("%Y-%m-%d"))])
context['base_url'] = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
context['action_id'] = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'action_account_analytic_overdue_all')[1]
template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_analytic_analysis', 'account_analytic_cron_email_template')[1]
for user_id, data in remind.items():
context["data"] = data
_logger.debug("Sending reminder to uid %s", user_id)
self.pool.get('email.template').send_mail(cr, uid, template_id, user_id, context=context)
return True
def cron_create_invoice(self, cr, uid, context=None):
res = []
inv_obj = self.pool.get('account.invoice')
journal_obj = self.pool.get('account.journal')
inv_lines = []
contract_ids = self.search(cr, uid, [('next_date','<=',time.strftime("%Y-%m-%d")), ('state','=', 'open'), ('recurring_invoices','=', True)], context=context, order='name asc')
a = self.pool.get('hr.timesheet.invoice.create.final').do_create(cr, uid, contract_ids, context=None)
contracts = self.browse(cr, uid, contract_ids, context=context)
for contract in contracts:
next_date = datetime.datetime.strptime(contract.next_date, "%Y-%m-%d")
interval = contract.interval
if contract.rrule_type == 'monthly':
new_date = next_date+relativedelta(months=+interval)
if contract.rrule_type == 'daily':
new_date = next_date+relativedelta(days=+interval)
if contract.rrule_type == 'weekly':
new_date = next_date+relativedelta(weeks=+interval)
# Link this new invoice to related contract
contract.write({'next_date':new_date}, context=context)
return True
class account_analytic_account_summary_user(osv.osv):
_name = "account_analytic_analysis.summary.user"
@ -682,8 +750,6 @@ class account_analytic_account_summary_user(osv.osv):
lu.user_id as "user",
unit_amount
from lu, mu)''')
account_analytic_account_summary_user()
class account_analytic_account_summary_month(osv.osv):
_name = "account_analytic_analysis.summary.month"
@ -744,6 +810,4 @@ class account_analytic_account_summary_month(osv.osv):
'GROUP BY d.month, d.account_id ' \
')')
account_analytic_account_summary_month()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,15 +1,77 @@
<?xml version="1.0" encoding='UTF-8'?>
<openerp>
<data>
<record id="account_analytic_cron_email_template" model="email.template">
<field name="name">Contract expiration reminder</field>
<field name="email_from">${object.email or ''}</field>
<field name="subject">Contract expiration reminder ${user.company_id.name}</field>
<field name="email_to">${object.email}</field>
<field name="lang">${object.lang}</field>
<field name="model_id" ref="base.model_res_users"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
Hello ${object.name},
% macro account_table(values):
<table cellspacing="1" border="1" cellpadding="4">
<tr>
<th>Customer</th>
<th>Contract</th>
<th>Dates</th>
<th>Prepaid Units</th>
<th>Contact</th>
</tr>
% for partner, accounts in values:
% for account in accounts:
<tr>
<td>${partner.name}</td>
<td><a href="${ctx["base_url"]}/#action=${ctx["action_id"]}&id=${account.id}&view_type=form">${account.name}</a></td>
<td>${account.date_start} to ${account.date and account.date or '???'}</td>
<td>
% if account.quantity_max != 0.0:
${account.remaining_hours}/${account.quantity_max} units
% endif
</td>
<td>${account.partner_id.phone or ''}, ${account.partner_id.email or ''}</td>
</tr>
% endfor
% endfor
</table>
% endmacro
% if "new" in ctx["data"]:
<h2>The following contracts just expired: </h2>
${account_table(ctx["data"]["new"].iteritems())}
% endif
% if "old" in ctx["data"]:
<h2>The following expired contracts are still not processed: </h2>
${account_table(ctx["data"]["old"].iteritems())}
% endif
% if "future" in ctx["data"]:
<h2>The following contracts will expire in less than one month: </h2>
${account_table(ctx["data"]["future"].iteritems())}
% endif
</pre>
]]></field>
</record>
<!--
-->
<record model="ir.cron" id="account_analytic_cron">
<field name="name">Analytic Account Report for Sales</field>
<field name="name">Contract expiration reminder</field>
<field name="interval_number">1</field>
<field name="interval_type">weeks</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field eval="'account.analytic.account'" name="model"/>
<field eval="'cron_account_analytic_account'" name="function"/>
<field eval="'()'" name="args"/>
<field name="doall" eval="False"/>
<field name="model" eval="'account.analytic.account'"/>
<field name="function" eval="'cron_account_analytic_account'"/>
<field name="args" eval="'()'" />
</record>
<record model="ir.cron" id="account_analytic_cron_for_invoice">

View File

@ -1,104 +0,0 @@
<openerp>
<data>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
<field name="name">Time &amp; Materials to Invoice</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
<field name="context">{'search_default_to_invoice': 1, 'search_default_sales': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p>
You will find here timesheets and purchases you did for
contracts that can be reinvoiced to the customer. If you want
to record new activities to invoice, you should use the timesheet
menu instead.
</p>
</field>
</record>
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced" sequence="5"/>
<record id="view_account_analytic_account_overdue_search" model="ir.ui.view">
<field name="name">account.analytic.account.search</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<search string="Contracts">
<field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
<field name="date"/>
<field name="partner_id"/>
<field name="manager_id"/>
<field name="parent_id"/>
<filter name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/>
<filter name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/>
<filter string="To Renew" domain="['|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" name="renew"
help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" />
<separator/>
<filter string="Customer Contracts" help="Contracts assigned to a customer." name="has_partner" domain="[('partner_id', '!=', False)]"/>
<filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('manager_id', '=', False)]"/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Status" domain="[]" context="{'group_by':'state'}"/>
<filter string="Account Manager" domain="[]" context="{'group_by':'manager_id'}"/>
<filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Parent" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Start Date" domain="[]" context="{'group_by' : 'date_start'}" />
<filter string="End Date" domain="[]" context="{'group_by' : 'date'}" />
</group>
</search>
</field>
</record>
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Contracts to Renew</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new contract.
</p><p>
You will find here the contracts to be renewed because the
end date is passed or the working effort is higher than the
maximum authorized one.
</p><p>
OpenERP automatically sets contracts to be renewed in a pending
state. After the negociation, the salesman should close or renew
pending contracts.
</p>
</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
<record id="action_account_analytic_overdue_all" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new contract.
</p><p>
Use contracts to follow tasks, issues, timesheets or invoicing based on
work done, expenses and/or sales orders. OpenERP will automatically manage
the alerts for the renewal of the contracts to the right salesperson.
</p>
</field>
</record>
<menuitem id="base.menu_sales" name="Sales"
parent="base.menu_base_partner"
sequence="1"/>
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="7" parent="base.menu_sales"/>
</data>
</openerp>

View File

@ -80,6 +80,7 @@
<field name="src_model">account.analytic.account</field>
</record>
<!-- Inherited Analytic Account form for contracts -->
<record id="account_analytic_account_form_form" model="ir.ui.view">
<field name="name">account.analytic.account.invoice.form.inherit</field>
<field name="model">account.analytic.account</field>
@ -240,19 +241,7 @@
</field>
</record>
<record id="view_account_analytic_account_tree_c2c_3" model="ir.ui.view">
<field name="name">account.analytic.account.tree</field>
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="account.view_account_analytic_account_list"/>
<field name="arch" type="xml">
<field name="date" position="before">
<field name="last_invoice_date"/>
<field name="toinvoice_total"/>
<field name="remaining_hours"/>
</field>
</field>
</record>
<!-- Inherited Analytic Account form for template required -->
<record id="view_account_analytic_account_template_required" model="ir.ui.view">
<field name="name">account.analytic.account.form.template.required</field>
<field name="model">account.analytic.account</field>
@ -265,6 +254,132 @@
</field>
</record>
<!-- Inherited Analytic Account list for contracts -->
<record id="view_account_analytic_account_tree_c2c_3" model="ir.ui.view">
<field name="name">account.analytic.account.list.contract</field>
<field name="model">account.analytic.account</field>
<field name="inherit_id" ref="account.view_account_analytic_account_list"/>
<field name="arch" type="xml">
<field name="date" position="before">
<field name="last_invoice_date"/>
<field name="toinvoice_total"/>
<field name="remaining_hours"/>
<field name="pricelist_id" invisible="1"/>
</field>
</field>
</record>
<!-- Analytic Account search view for contract -->
<record id="view_account_analytic_account_overdue_search" model="ir.ui.view">
<field name="name">account.analytic.account.search</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<search string="Contracts">
<field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
<field name="date"/>
<field name="partner_id"/>
<field name="manager_id"/>
<field name="parent_id"/>
<filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="Contracts in progress (open, draft)"/>
<filter name="pending" string="To Renew" domain="[('state','=','pending')]" help="Pending contracts"/>
<filter name="closed" string="Closed" domain="[('state','=','pending')]" help="Closed contracts"/>
<filter name="cancelled" string="Cancelled" domain="[('state','=','cancel')]" help="Cancelled contracts"/>
<separator/>
<filter
string="Expired or consumed"
domain="[('state','in',('open','draft','pending')), '|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]"
help="End date passed or prepaid unit consumed" />
<filter
string="Expiring soon"
domain="[('date', '!=', False), ('date', '&lt;=', (context_today() + datetime.timedelta(30)).strftime('%%Y-%%m-%%d') )]"
help="End date is in the next month" />
<separator/>
<filter string="Customer Contracts" help="Contracts assigned to a customer." name="has_partner" domain="[('partner_id', '!=', False)]"/>
<filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('manager_id', '=', False)]"/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Status" domain="[]" context="{'group_by':'state'}"/>
<filter string="Account Manager" domain="[]" context="{'group_by':'manager_id'}"/>
<filter string="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Parent" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Template" domain="[]" context="{'group_by':'template_id'}"/>
<filter string="Start Date" domain="[]" context="{'group_by' : 'date_start'}" />
<filter string="End Date" domain="[]" context="{'group_by' : 'date'}" />
<filter string="Pricelist" domain="[]" context="{'group_by' : 'pricelist_id'}" />
</group>
</search>
</field>
</record>
<!-- Action Sales/Sales/Contracts -->
<record id="action_account_analytic_overdue_all" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'default_type':'contract', 'search_default_open':1, 'search_default_pending':1, 'default_manager_id':uid}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new contract.
</p><p>
Use contracts to follow tasks, issues, timesheets or invoicing based on
work done, expenses and/or sales orders. OpenERP will automatically manage
the alerts for the renewal of the contracts to the right salesperson.
</p>
</field>
</record>
<menuitem id="base.menu_sales" name="Sales" parent="base.menu_base_partner" sequence="1"/>
<menuitem action="action_account_analytic_overdue_all" id="menu_action_account_analytic_overdue_all" sequence="7" parent="base.menu_sales"/>
<!-- Action Sales/Invoicing/Time and Material to Invoice -->
<record id="action_hr_tree_invoiced_all" model="ir.actions.act_window">
<field name="name">Time &amp; Materials to Invoice</field>
<field name="res_model">account.analytic.line</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
<field name="context">{'search_default_to_invoice': 1, 'search_default_sales': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p>
You will find here timesheets and purchases you did for
contracts that can be reinvoiced to the customer. If you want
to record new activities to invoice, you should use the timesheet
menu instead.
</p>
</field>
</record>
<menuitem id="base.menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"/>
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced" sequence="5"/>
<!-- Action Sales/Invoicing/Contract to renew -->
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Contracts to Renew</field>
<field name="res_model">account.analytic.account</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_manager_id':uid, 'search_default_pending':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new contract.
</p><p>
You will find here the contracts to be renewed because the
end date is passed or the working effort is higher than the
maximum authorized one.
</p><p>
OpenERP automatically sets contracts to be renewed in a pending
state. After the negociation, the salesman should close or renew
pending contracts.
</p>
</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
<!-- Action Sales/Configuration/Contract template -->
<record id="template_of_contract_action" model="ir.actions.act_window">
<field name="name">Contract Template</field>
<field name="type">ir.actions.act_window</field>
@ -282,7 +397,6 @@
terms and conditions of the contract.
</p>
</field>
</record>
<menuitem action="template_of_contract_action" id="menu_template_of_contract_action" parent="base.menu_base_config"/>
<menuitem action="action_account_virtual_invoice"

View File

@ -1,136 +0,0 @@
#!/usr/bin/env python
from mako.template import Template
import time
import datetime
from dateutil.relativedelta import relativedelta
try:
import cStringIO as StringIO
except ImportError:
import StringIO
from openerp import tools
from openerp.osv import osv
MAKO_TEMPLATE = u"""Hello ${user.name},
Here is a list of contracts that have to be renewed for two
possible reasons:
- the end of contract date is passed
- the customer consumed more hours than expected
Can you contact the customer in order to sell a new or renew its contract.
The contract has been set with a pending state, can you update the status
of the analytic account following this rule:
- Set Done: if the customer does not want to renew
- Set Open: if the customer purchased an extra contract
Here is the list of contracts to renew:
% for partner, accounts in partners.iteritems():
* ${partner.name}
% for account in accounts:
- Name: ${account.name}
% if account.quantity_max != 0.0:
- Quantity: ${account.quantity}/${account.quantity_max} hours
% endif
- Dates: ${account.date_start} to ${account.date and account.date or '???'}
- Contacts:
${account.partner_id.name}, ${account.partner_id.phone or ''}, ${account.partner_id.email or ''}
% endfor
% endfor
You can use the report in the menu: Sales > Invoicing > Overdue Accounts
Regards,
--
OpenERP
"""
class analytic_account(osv.osv):
_inherit = 'account.analytic.account'
def cron_account_analytic_account(self, cr, uid, context=None):
domain = [
('name', 'not ilike', 'maintenance'),
('partner_id', '!=', False),
('user_id', '!=', False),
('user_id.email', '!=', False),
('state', 'in', ('draft', 'open')),
'|', ('date', '<', time.strftime('%Y-%m-%d')), ('date', '=', False),
]
account_ids = self.search(cr, uid, domain, context=context, order='name asc')
accounts = self.browse(cr, uid, account_ids, context=context)
users = dict()
for account in accounts:
users.setdefault(account.user_id, dict()).setdefault(account.partner_id, []).append(account)
account.write({'state' : 'pending'}, context=context)
for user, data in users.iteritems():
subject = '[OPENERP] Reporting: Analytic Accounts'
body = Template(MAKO_TEMPLATE).render_unicode(user=user, partners=data)
tools.email_send('noreply@openerp.com', [user.email, ], subject, body)
return True
def cron_create_invoice(self, cr, uid, context=None):
res = []
inv_obj = self.pool.get('account.invoice')
journal_obj = self.pool.get('account.journal')
inv_lines = []
contract_ids = self.search(cr, uid, [('next_date','<=',time.strftime("%Y-%m-%d")), ('state','=', 'open'), ('recurring_invoices','=', True)], context=context, order='name asc')
print "\n000000000000 ids 0000000000000>",contract_ids
a = self.pool.get('hr.timesheet.invoice.create.final').do_create(cr, uid, contract_ids, context=None)
print"\n\n====================================================>",a
contracts = self.browse(cr, uid, contract_ids, context=context)
for contract in contracts:
# journal_ids = journal_obj.search(cr, uid, [('type', '=','sale'),('company_id', '=', contract.company_id.id)], limit=1)
# if not journal_ids:
# raise osv.except_osv(_('Error!'),
# _('Define sale journal for this company: "%s" (id:%d).') % (contract.company_id.name, contract.company_id.id))
# inv_data = {}
# inv_data = {
# 'name': contract.name,
# 'reference': contract.name,
# 'account_id': contract.partner_id.property_account_receivable.id or contract.partner_id.property_account_receivable or False,
# 'type': 'in_invoice',
# 'partner_id': contract.partner_id.id,
# 'currency_id': contract.partner_id.property_product_pricelist.id,
# 'journal_id': len(journal_ids) and journal_ids[0] or False,
# 'invoice_line': [(6, 0, inv_lines)],
# 'date_invoice': contract.next_date,
# 'origin': contract.name,
# 'company_id': contract.company_id.id,
# 'contract_id': contract.id,
# }
# inv_id = inv_obj.create(cr, uid, inv_data, context=context)
# inv_obj.button_compute(cr, uid, [inv_id], context=context, set_total=True)
next_date = datetime.datetime.strptime(contract.next_date, "%Y-%m-%d")
interval = contract.interval
print"STRAT...................."
# # compute the invoice
# res.append(inv_id)
if contract.rrule_type == 'monthly':
new_date = next_date+relativedelta(months=+interval)
if contract.rrule_type == 'daily':
new_date = next_date+relativedelta(days=+interval)
if contract.rrule_type == 'weekly':
new_date = next_date+relativedelta(weeks=+interval)
print"==========res=============>",contract.next_date,contract.interval,contract.rrule_type,new_date
# Link this new invoice to related contract
contract.write({'next_date':new_date}, context=context)
print"\n\n========11111==res=========FINISH.====>",res
return True
analytic_account()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2010-12-20 23:20+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2013-02-15 10:57+0000\n"
"Last-Translator: gobi <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:42+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -29,12 +29,12 @@ msgstr "Бүлэглэх..."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "To Invoice"
msgstr ""
msgstr "Үнийн нэхэмжлэл"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Remaining"
msgstr ""
msgstr "Үлдэгдэл"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -71,12 +71,12 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "⇒ Invoice"
msgstr ""
msgstr "⇒ Нэхэмжлэл"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr "Нэхэмжилсэн дүн"
msgstr "Нэхэмжлэлийн дүн"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
@ -86,7 +86,7 @@ msgstr "Эцсийн өртөгийг нэхэмжилсэн огноо"
#. module: account_analytic_analysis
#: help:account.analytic.account,fix_price_to_invoice:0
msgid "Sum of quotations for this contract."
msgstr ""
msgstr "Энэ гэрээний ханшийн нийлбэр."
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
@ -120,7 +120,7 @@ msgstr "Аналитик данс"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Partner"
msgstr ""
msgstr "Харилцагч"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -149,12 +149,12 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "End Date"
msgstr "Дуусах огноо"
msgstr "Дуусан огноо"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Account Manager"
msgstr ""
msgstr "Дансны менежер"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours_to_invoice:0
@ -164,12 +164,12 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Expected"
msgstr ""
msgstr "Тооцоолсон"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Contracts not assigned"
msgstr ""
msgstr "Гэрээнүүд оноогдоогүй байна"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
@ -205,6 +205,7 @@ msgstr "Бодит зөрүүний хэмжээ (%)"
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Time - Total Worked Time"
msgstr ""
"Тооцоололд ашиглагдсан томъёо: Хамгийн их хугацаа - Нийт ажилласан хугацаа"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@ -218,7 +219,7 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Nothing to invoice, create"
msgstr ""
msgstr "Нэхэмжлэх, үүсгэх зүйлс алга"
#. module: account_analytic_analysis
#: model:res.groups,name:account_analytic_analysis.group_template_required
@ -228,7 +229,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Total Worked Time"
msgstr ""
msgstr "Нийт ажилласан хугацаа"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
@ -238,7 +239,7 @@ msgstr "Бодит зөрүү"
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr "Hours summary by month"
msgstr "Сарын цагийн хураангуй"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
@ -248,12 +249,12 @@ msgstr "Томъёг ашиглан тооцоолох: (Бодит зөрүү/
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "or view"
msgstr ""
msgstr "эсвэл үзэх"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Customer Contracts"
msgstr ""
msgstr "Захиалагчийн гэрээнүүд"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -270,7 +271,7 @@ msgstr "Сар"
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "Time & Materials to Invoice"
msgstr ""
msgstr "Хугацаа & Нэхэмжлэлийн материал"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
@ -281,12 +282,12 @@ msgstr "Гэрээнүүд"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Start Date"
msgstr ""
msgstr "Эхлэх огноо"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Invoiced"
msgstr ""
msgstr "Нэхэмжилсэн"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -305,7 +306,7 @@ msgstr "Захиалагчтай шинэчлэхээр хүлээж байга
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Timesheets"
msgstr ""
msgstr "Цагийн хуудас"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@ -329,7 +330,7 @@ msgstr "Тоо ширхэг хязгаараас давсан"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Status"
msgstr ""
msgstr "Төлөв"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
@ -350,7 +351,7 @@ msgstr "OpenERP-д гэрээ нь харилцагч бүхий шинжилг
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
msgid "Sales Orders"
msgstr ""
msgstr "Борлуулалтын захиалгууд"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
@ -437,12 +438,12 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,toinvoice_total:0
msgid "Total to Invoice"
msgstr ""
msgstr "Нийт нэхэмжлэл"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Sale Orders"
msgstr ""
msgstr "Борлуулалтын захиалга"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
@ -452,7 +453,7 @@ msgstr "Нээх"
#. module: account_analytic_analysis
#: field:account.analytic.account,invoiced_total:0
msgid "Total Invoiced"
msgstr ""
msgstr "Нийт нэхэмжлэл"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
@ -468,7 +469,7 @@ msgstr "Сүүлийн нэхэмжлэлийн огноо"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Units Remaining"
msgstr ""
msgstr "Нэгжийн үлдэгдэл"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,help:account_analytic_analysis.action_hr_tree_invoiced_all
@ -497,7 +498,7 @@ msgstr "Нэхэмжлэх"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr "Нийт өртөг"
msgstr "Нийт зардал"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_total:0
@ -526,7 +527,7 @@ msgstr "Онолын Хязгаар"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_total:0
msgid "Total Remaining"
msgstr ""
msgstr "Нийт үлдэгдэл"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
@ -536,12 +537,12 @@ msgstr "Томъёг ашиглан тооцоолох: Нэхэмжилсэн
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_est:0
msgid "Estimation of Hours to Invoice"
msgstr ""
msgstr "Нэхэмжлэх цагийн тооцоолол"
#. module: account_analytic_analysis
#: field:account.analytic.account,fix_price_invoices:0
msgid "Fixed Price"
msgstr ""
msgstr "Тогтмол үнэ"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
@ -551,23 +552,23 @@ msgstr "Энэ данс дээр хйигдсэн сүүлийн ажлын ог
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_sale_config_settings
msgid "sale.config.settings"
msgstr ""
msgstr "sale.config.settings"
#. module: account_analytic_analysis
#: field:sale.config.settings,group_template_required:0
msgid "Mandatory use of templates."
msgstr ""
msgstr "Үлгэрүүдийн зайлшгүй хэрэглээ"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action
#: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action
msgid "Contract Template"
msgstr ""
msgstr "Гэрээний загвар"
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Units Done"
msgstr ""
msgstr "Хийгдсэн Нэгжүүд"
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
@ -581,7 +582,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,est_total:0
msgid "Total Estimation"
msgstr ""
msgstr "Нийт таамаг тооцоо"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
@ -617,7 +618,7 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Total"
msgstr ""
msgstr "Нийт"
#~ msgid ""
#~ "Number of hours that can be invoiced plus those that already have been "

View File

@ -331,6 +331,9 @@ class account_asset_asset(osv.osv):
depreciation_obj = self.pool.get('account.asset.depreciation.line')
period = period_obj.browse(cr, uid, period_id, context=context)
depreciation_ids = depreciation_obj.search(cr, uid, [('asset_id', 'in', ids), ('depreciation_date', '<=', period.date_stop), ('depreciation_date', '>=', period.date_start), ('move_check', '=', False)], context=context)
if context is None:
context = {}
context.update({'depreciation_date':period.date_stop})
return depreciation_obj.create_move(cr, uid, depreciation_ids, context=context)
def create(self, cr, uid, vals, context=None):
@ -388,7 +391,7 @@ class account_asset_depreciation_line(osv.osv):
created_move_ids = []
asset_ids = []
for line in self.browse(cr, uid, ids, context=context):
depreciation_date = time.strftime('%Y-%m-%d')
depreciation_date = context.get('depreciation_date') or time.strftime('%Y-%m-%d')
period_ids = period_obj.find(cr, uid, depreciation_date, context=context)
company_currency = line.asset_id.company_id.currency_id.id
current_currency = line.asset_id.currency_id.id

View File

@ -0,0 +1,230 @@
# Czech translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-20 13:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2013-02-21 05:14+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check on Top"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.top:0
msgid "Open Balance"
msgstr ""
#. module: account_check_writing
#: view:account.check.write:0
#: view:account.voucher:0
msgid "Print Check"
msgstr ""
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check in middle"
msgstr ""
#. module: account_check_writing
#: help:res.company,check_layout:0
msgid ""
"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
msgstr ""
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check on bottom"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.act_window,name:account_check_writing.action_account_check_write
msgid "Print Check in Batch"
msgstr ""
#. module: account_check_writing
#: code:addons/account_check_writing/wizard/account_check_batch_printing.py:59
#, python-format
msgid "One of the printed check already got a number."
msgstr ""
#. module: account_check_writing
#: help:account.journal,allow_check_writing:0
msgid "Check this if the journal is to be used for writing checks."
msgstr ""
#. module: account_check_writing
#: field:account.journal,allow_check_writing:0
msgid "Allow Check writing"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Description"
msgstr "Popis"
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.act_window,name:account_check_writing.action_write_check
#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
msgid "Write Checks"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Discount"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Original Amount"
msgstr ""
#. module: account_check_writing
#: field:res.company,check_layout:0
msgid "Check Layout"
msgstr ""
#. module: account_check_writing
#: field:account.voucher,allow_check:0
msgid "Allow Check Writing"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Payment"
msgstr ""
#. module: account_check_writing
#: field:account.journal,use_preprint_check:0
msgid "Use Preprinted Check"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
msgid "Print Check (Bottom)"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.act_window,help:account_check_writing.action_write_check
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to create a new check. \n"
" </p><p>\n"
" The check payment form allows you to track the payment you "
"do\n"
" to your suppliers using checks. When you select a supplier, "
"the\n"
" payment method and an amount for the payment, OpenERP will\n"
" propose to reconcile your payment with the open supplier\n"
" invoices or bills.\n"
" </p>\n"
" "
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Due Date"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
msgid "Print Check (Middle)"
msgstr ""
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_res_company
msgid "Companies"
msgstr ""
#. module: account_check_writing
#: code:addons/account_check_writing/wizard/account_check_batch_printing.py:59
#, python-format
msgid "Error!"
msgstr ""
#. module: account_check_writing
#: help:account.check.write,check_number:0
msgid "The number of the next check number to be printed."
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
msgid "Balance Due"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
msgid "Print Check (Top)"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Check Amount"
msgstr ""
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_account_voucher
msgid "Accounting Voucher"
msgstr ""
#. module: account_check_writing
#: view:account.check.write:0
msgid "or"
msgstr ""
#. module: account_check_writing
#: field:account.voucher,amount_in_word:0
msgid "Amount in Word"
msgstr ""
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_account_check_write
msgid "Prin Check in Batch"
msgstr ""
#. module: account_check_writing
#: view:account.check.write:0
msgid "Cancel"
msgstr ""
#. module: account_check_writing
#: field:account.check.write,check_number:0
msgid "Next Check Number"
msgstr ""
#. module: account_check_writing
#: view:account.check.write:0
msgid "Check"
msgstr ""

View File

@ -238,7 +238,12 @@ class res_partner(osv.osv):
from report import account_followup_print
assert len(ids) == 1
if context is None:
context = {}
partner = self.browse(cr, uid, ids[0], context=context)
#copy the context to not change global context. Overwrite it because _() looks for the lang in local variable 'context'.
#Set the language to use = the partner language
context = dict(context, lang=partner.lang)
followup_table = ''
if partner.unreconciled_aml_ids:
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
@ -251,13 +256,14 @@ class res_partner(osv.osv):
followup_table += '''
<table border="2" width=100%%>
<tr>
<td>Invoice date</td>
<td>Reference</td>
<td>Due date</td>
<td>Amount (%s)</td>
<td>Lit.</td>
<td>''' + _("Invoice Date") + '''</td>
<td>''' + _("Description") + '''</td>
<td>''' + _("Reference") + '''</td>
<td>''' + _("Due Date") + '''</td>
<td>''' + _("Amount") + " (%s)" % (currency.symbol) + '''</td>
<td>''' + _("Lit.") + '''</td>
</tr>
''' % (currency.symbol)
'''
total = 0
for aml in currency_dict['line']:
block = aml['blocked'] and 'X' or ' '
@ -268,13 +274,28 @@ class res_partner(osv.osv):
if date <= current_date and aml['balance'] > 0:
strbegin = "<TD><B>"
strend = "</B></TD>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
followup_table +="<TR>" + strbegin + str(aml['date']) + strend + strbegin + aml['name'] + strend + strbegin + aml['ref'] + strend + strbegin + str(date) + strend + strbegin + str(aml['balance']) + strend + strbegin + block + strend + "</TR>"
total = rml_parse.formatLang(total, dp='Account', currency_obj=currency)
followup_table += '''<tr> </tr>
</table>
<center>Amount due: %s </center>''' % (total)
<center>''' + _("Amount due") + ''' : %s </center>''' % (total)
return followup_table
def write(self, cr, uid, ids, vals, context=None):
if vals.get("payment_responsible_id", False):
for part in self.browse(cr, uid, ids, context=context):
if part.payment_responsible_id <> vals["payment_responsible_id"]:
#Find partner_id of user put as responsible
responsible_partner_id = self.pool.get("res.users").browse(cr, uid, vals['payment_responsible_id'], context=context).partner_id.id
self.pool.get("mail.thread").message_post(cr, uid, 0,
body = _("You became responsible to do the next action for the payment follow-up of") + " <b><a href='#id=" + str(part.id) + "&view_type=form&model=res.partner'> " + part.name + " </a></b>",
type = 'comment',
subtype = "mail.mt_comment", context = context,
model = 'res.partner', res_id = part.id,
notified_partner_ids = [(6, 0, [responsible_partner_id])],
partner_ids = [(6, 0, [responsible_partner_id])])
return super(res_partner, self).write(cr, uid, ids, vals, context=context)
def action_done(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'payment_next_action_date': False, 'payment_next_action':'', 'payment_responsible_id': False}, context=context)
@ -408,13 +429,16 @@ class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
'payment_responsible_id':fields.many2one('res.users', ondelete='set null', string='Follow-up Responsible',
help="Optionally you can assign a user to this field, which will make him responsible for the action."),
'payment_note':fields.text('Customer Payment Promise', help="Payment Note"),
help="Optionally you can assign a user to this field, which will make him responsible for the action.",
track_visibility="onchange"),
'payment_note':fields.text('Customer Payment Promise', help="Payment Note", track_visibility="onchange"),
'payment_next_action':fields.text('Next Action',
help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. "),
help="This is the next action to be taken. It will automatically be set when the partner gets a follow-up level that requires a manual action. ",
track_visibility="onchange"),
'payment_next_action_date':fields.date('Next Action Date',
help="This is when the manual follow-up is needed. " \
"The date will be set to the current date when the partner gets a follow-up level that requires a manual action. Can be practical to set manually e.g. to see if he keeps his promises."),
"The date will be set to the current date when the partner gets a follow-up level that requires a manual action. "\
"Can be practical to set manually e.g. to see if he keeps his promises."),
'unreconciled_aml_ids':fields.one2many('account.move.line', 'partner_id', domain=['&', ('reconcile_id', '=', False), '&',
('account_id.active','=', True), '&', ('account_id.type', '=', 'receivable'), ('state', '!=', 'draft')]),
'latest_followup_date':fields.function(_get_latest, method=True, type='date', string="Latest Follow-up Date",

View File

@ -35,10 +35,10 @@
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('payment_amount_overdue', '>', 0.0)]" name="todo"/>
<separator/>
<filter string="No Responsible" domain="[('payment_responsible_id', '=', False)]"/>
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]"/>
<filter string="My Follow-ups" domain="[('payment_responsible_id','=', uid)]" name="my"/>
</group>
<group expand="1" string="Group By...">
<filter string="Responsible" context="{'group_by':'payment_responsible_id'}"/>
<filter string="Follow-up Responsible" context="{'group_by':'payment_responsible_id'}"/>
</group>
</search>
</field>
@ -132,6 +132,18 @@
<!-- Menus about followup of customers -->
<menuitem id="account_followup_s" action="action_customer_followup"
parent="menu_finance_followup" name="Do Manual Follow-Ups" sequence="3"/>
<record id="action_customer_my_followup" model="ir.actions.act_window">
<field name="name">My Follow-Ups</field>
<field name="view_id" ref="customer_followup_tree"/>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('payment_amount_due', '>', 0.0)]</field>
<field name="context">{'Followupfirst':True, 'search_default_todo': True, 'search_default_my': True} </field>
<field name="search_view_id" ref="customer_followup_search_view"/>
</record>
<menuitem id="base.menu_sales_followup" parent="base.menu_base_partner" name="Payment Follow-up" groups="account.group_account_invoice" sequence="2"/>
<menuitem id="menu_sale_followup" parent="base.menu_sales_followup" sequence="10"
action="action_customer_my_followup" groups="account.group_account_invoice"/>
</data>
</openerp>

View File

@ -44,8 +44,7 @@ class TestAccountFollowup(TransactionCase):
'quantity': 5,
'price_unit':200
})]})
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.invoice', self.invoice_id, 'invoice_open', cr)
self.registry('account.invoice').signal_invoice_open(cr, uid, [self.invoice_id])
self.voucher = self.registry("account.voucher")

View File

@ -127,7 +127,7 @@ class account_followup_print(osv.osv_memory):
'email_body': fields.text('Email Body'),
'summary': fields.text('Summary', readonly=True),
'test_print': fields.boolean('Test Print',
help='Check if you want to print follow-ups without changing follow-ups level.'),
help='Check if you want to print follow-ups without changing follow-up level.'),
}
def _get_followup(self, cr, uid, context=None):
@ -204,7 +204,7 @@ class account_followup_print(osv.osv_memory):
if not part.unreconciled_aml_ids:
partners_to_clear.append(part.id)
self.pool.get('res.partner').action_done(cr, uid, partners_to_clear, context=context)
return len(ids)
return len(partners_to_clear)
def do_process(self, cr, uid, ids, context=None):
if context is None:

View File

@ -23,7 +23,6 @@ import logging
import time
from openerp.osv import fields, osv
from openerp import netsvc
_logger = logging.getLogger(__name__)
@ -120,9 +119,7 @@ class payment_order(osv.osv):
def set_to_draft(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state': 'draft'})
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_create(uid, 'payment.order', id, cr)
self.create_workflow(cr, uid, ids)
return True
def action_open(self, cr, uid, ids, *args):
@ -135,9 +132,8 @@ class payment_order(osv.osv):
return True
def set_done(self, cr, uid, ids, *args):
wf_service = netsvc.LocalService("workflow")
self.write(cr, uid, ids, {'date_done': time.strftime('%Y-%m-%d')})
wf_service.trg_validate(uid, 'payment.order', ids[0], 'done', cr)
self.signal_done(cr, uid, [ids[0]])
return True
def copy(self, cr, uid, id, default=None, context=None):

View File

@ -0,0 +1,241 @@
# Arabic translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-18 11:32+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: 2013-02-19 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: account_test
#: view:accounting.assert.test:0
msgid ""
"Code should always set a variable named `result` with the result of your "
"test, that can be a list or\n"
"a dictionary. If `result` is an empty list, it means that the test was "
"succesful. Otherwise it will\n"
"try to translate and print what is inside `result`.\n"
"\n"
"If the result of your test is a dictionary, you can set a variable named "
"`column_order` to choose in\n"
"what order you want to print `result`'s content.\n"
"\n"
"Should you need them, you can also use the following variables into your "
"code:\n"
" * cr: cursor to the database\n"
" * uid: ID of the current user\n"
"\n"
"In any ways, the code must be legal python statements with correct "
"indentation (if needed).\n"
"\n"
"Example: \n"
" sql = '''SELECT id, name, ref, date\n"
" FROM account_move_line \n"
" WHERE account_id IN (SELECT id FROM account_account WHERE type "
"= 'view')\n"
" '''\n"
" cr.execute(sql)\n"
" result = cr.dictfetchall()"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_02
msgid "Test 2: Opening a fiscal year"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_05
msgid ""
"Check that reconciled invoice for Sales/Purchases has reconciled entries for "
"Payable and Receivable Accounts"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_03
msgid ""
"Check if movement lines are balanced and have the same date and period"
msgstr ""
#. module: account_test
#: field:accounting.assert.test,name:0
msgid "Test Name"
msgstr ""
#. module: account_test
#: report:account.test.assert.print:0
msgid "Accouting tests on"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_01
msgid "Test 1: General balance"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_06
msgid "Check that paid/reconciled invoices are not in 'Open' state"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_05_2
msgid ""
"Check that reconciled account moves, that define Payable and Receivable "
"accounts, are belonging to reconciled invoices"
msgstr ""
#. module: account_test
#: view:accounting.assert.test:0
msgid "Tests"
msgstr ""
#. module: account_test
#: field:accounting.assert.test,desc:0
msgid "Test Description"
msgstr ""
#. module: account_test
#: view:accounting.assert.test:0
msgid "Description"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_06_1
msgid "Check that there's no move for any account with « View » account type"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_08
msgid "Test 9 : Accounts and partners on account moves"
msgstr ""
#. module: account_test
#: model:ir.actions.act_window,name:account_test.action_accounting_assert
#: model:ir.actions.report.xml,name:account_test.account_assert_test_report
#: model:ir.ui.menu,name:account_test.menu_action_license
msgid "Accounting Tests"
msgstr ""
#. module: account_test
#: code:addons/account_test/report/account_test_report.py:74
#, python-format
msgid "The test was passed successfully"
msgstr ""
#. module: account_test
#: field:accounting.assert.test,active:0
msgid "Active"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_06
msgid "Test 6 : Invoices status"
msgstr ""
#. module: account_test
#: model:ir.model,name:account_test.model_accounting_assert_test
msgid "accounting.assert.test"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_05
msgid ""
"Test 5.1 : Payable and Receivable accountant lines of reconciled invoices"
msgstr ""
#. module: account_test
#: field:accounting.assert.test,code_exec:0
msgid "Python code"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_07
msgid ""
"Check on bank statement that the Closing Balance = Starting Balance + sum of "
"statement lines"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_07
msgid "Test 8 : Closing balance on bank statements"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_03
msgid "Test 3: Movement lines"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_05_2
msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts"
msgstr ""
#. module: account_test
#: view:accounting.assert.test:0
msgid "Expression"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_04
msgid "Test 4: Totally reconciled mouvements"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_04
msgid "Check if the totally reconciled movements are balanced"
msgstr ""
#. module: account_test
#: field:accounting.assert.test,sequence:0
msgid "Sequence"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_02
msgid ""
"Check if the balance of the new opened fiscal year matches with last year's "
"balance"
msgstr ""
#. module: account_test
#: view:accounting.assert.test:0
msgid "Python Code"
msgstr ""
#. module: account_test
#: model:ir.actions.act_window,help:account_test.action_accounting_assert
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to create Accounting Test.\n"
" </p>\n"
" "
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_01
msgid "Check the balance: Debit sum = Credit sum"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,desc:account_test.account_test_08
msgid "Check that general accounts and partners on account moves are active"
msgstr ""
#. module: account_test
#: model:accounting.assert.test,name:account_test.account_test_06_1
msgid "Test 7: « View  » account type"
msgstr ""
#. module: account_test
#: view:accounting.assert.test:0
msgid "Code Help"
msgstr ""

View File

@ -22,7 +22,6 @@
import time
from lxml import etree
from openerp import netsvc
from openerp.osv import fields, osv
import openerp.addons.decimal_precision as dp
from openerp.tools.translate import _
@ -50,13 +49,25 @@ class account_config_settings(osv.osv_memory):
'company_id', 'income_currency_exchange_account_id',
type='many2one',
relation='account.account',
string="Gain Exchange Rate Account"),
string="Gain Exchange Rate Account",
domain="[('type', '=', 'other')]"),
'expense_currency_exchange_account_id': fields.related(
'company_id', 'expense_currency_exchange_account_id',
type="many2one",
relation='account.account',
string="Loss Exchange Rate Account"),
string="Loss Exchange Rate Account",
domain="[('type', '=', 'other')]"),
}
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
res = super(account_config_settings, self).onchange_company_id(cr, uid, ids, company_id, context=context)
if company_id:
company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
res['value'].update({'income_currency_exchange_account_id': company.income_currency_exchange_account_id and company.income_currency_exchange_account_id.id or False,
'expense_currency_exchange_account_id': company.expense_currency_exchange_account_id and company.expense_currency_exchange_account_id.id or False})
else:
res['value'].update({'income_currency_exchange_account_id': False,
'expense_currency_exchange_account_id': False})
return res
class account_voucher(osv.osv):
def _check_paid(self, cr, uid, ids, name, args, context=None):
@ -820,10 +831,7 @@ class account_voucher(osv.osv):
return vals
def button_proforma_voucher(self, cr, uid, ids, context=None):
context = context or {}
wf_service = netsvc.LocalService("workflow")
for vid in ids:
wf_service.trg_validate(uid, 'account.voucher', vid, 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, ids)
return {'type': 'ir.actions.act_window_close'}
def proforma_voucher(self, cr, uid, ids, context=None):
@ -831,9 +839,7 @@ class account_voucher(osv.osv):
return True
def action_cancel_draft(self, cr, uid, ids, context=None):
wf_service = netsvc.LocalService("workflow")
for voucher_id in ids:
wf_service.trg_create(uid, 'account.voucher', voucher_id, cr)
self.create_workflow(cr, uid, ids)
self.write(cr, uid, ids, {'state':'draft'})
return True
@ -1508,7 +1514,6 @@ class account_bank_statement(osv.osv):
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, next_number, context=None):
voucher_obj = self.pool.get('account.voucher')
wf_service = netsvc.LocalService("workflow")
move_line_obj = self.pool.get('account.move.line')
bank_st_line_obj = self.pool.get('account.bank.statement.line')
st_line = bank_st_line_obj.browse(cr, uid, st_line_id, context=context)
@ -1516,7 +1521,7 @@ class account_bank_statement(osv.osv):
voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number}, context=context)
if st_line.voucher_id.state == 'cancel':
voucher_obj.action_cancel_draft(cr, uid, [st_line.voucher_id.id], context=context)
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
voucher_obj.signal_proforma_voucher(cr, uid, [st_line.voucher_id.id])
v = voucher_obj.browse(cr, uid, st_line.voucher_id.id, context=context)
bank_st_line_obj.write(cr, uid, [st_line_id], {

File diff suppressed because it is too large Load Diff

View File

@ -159,8 +159,6 @@
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case1'))
data = []
@ -183,10 +181,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 1 USD/USD'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my first voucher is valid
-
@ -257,8 +253,6 @@
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case1'))
data = []
@ -281,10 +275,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 1'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my second voucher is valid
-

View File

@ -131,8 +131,6 @@
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2_suppl'))
data = []
@ -162,10 +160,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 SUPPL USD/EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my voucher is valid
-
@ -237,8 +233,6 @@
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2_suppl'))
data = []
@ -268,10 +262,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that my voucher state is posted
-

View File

@ -182,8 +182,7 @@
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 USD/EUR DR EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my voucher is valid
-
@ -258,8 +257,7 @@
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR DR EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that my voucher state is posted
-

View File

@ -163,8 +163,6 @@
I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2b'))
data = []
@ -180,10 +178,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 USD/EUR DR USD'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my voucher is valid
-
@ -247,8 +243,6 @@
and I fully reconcil the 2 previous invoices
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2b'))
data = []
@ -271,10 +265,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR DR USD'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that my voucher state is posted
-

View File

@ -118,8 +118,6 @@
I fill amounts 100 for the invoice of 150€ and 20 for the invoice of 80€
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case3'))
data = []
@ -142,10 +140,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 3'),('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my first voucher is valid
-
@ -209,8 +205,6 @@
I fill amounts 50 for the invoice of 150€ and 70 for the invoice of 80€
-
!python {model: account.voucher}: |
import time
from openerp import netsvc
vals = {}
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case3'))
data = []
@ -233,10 +227,8 @@
I confirm the voucher
-
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 3'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my second voucher is valid
-

View File

@ -144,8 +144,7 @@
!python {model: account.voucher}: |
from openerp import netsvc
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 4'), ('partner_id', '=', ref('base.res_partner_19'))])
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, voucher)
-
I check that the move of my voucher is valid
-

View File

@ -61,8 +61,7 @@
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher_id.id, 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, [voucher_id.id])
-
Finally i will Confirm the state of the invoice is paid

View File

@ -65,8 +65,7 @@
id = self.create(cr, uid, vals)
voucher_id = self.browse(cr, uid, id)
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'account.voucher', voucher_id.id, 'proforma_voucher', cr)
self.signal_proforma_voucher(cr, uid, [voucher_id.id])
-
I check that move lines are reconciled meaning voucher is paid
-

View File

@ -307,8 +307,9 @@
</group>
<group>
<field name="date" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
<field name="period_id"/>
<field name="reference" invisible="context.get('line_type', False)" string="Payment Ref" placeholder="e.g. 003/10"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)" placeholder="e.g. Invoice SAJ/0042"/>
<field name="name" invisible="context.get('line_type', False)" placeholder="e.g. Invoice SAJ/0042"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="account_id"

View File

@ -196,7 +196,7 @@ class account_analytic_account(osv.osv):
'date_start': fields.date('Start Date'),
'date': fields.date('Date End', select=True),
'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts.
'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'), ('cancelled', 'Cancelled'),('pending','To Renew'),('close','Closed')], 'Status', required=True, track_visibility='onchange'),
'state': fields.selection([('template', 'Template'),('draft','New'),('open','In Progress'),('pending','To Renew'),('close','Closed'),('cancelled', 'Cancelled')], 'Status', required=True, track_visibility='onchange'),
'currency_id': fields.function(_currency, fnct_inv=_set_company_currency, #the currency_id field is readonly except if it's a view account and if there is no company
store = {
'res.company': (_get_analytic_account, ['currency_id'], 10),
@ -258,6 +258,9 @@ class account_analytic_account(osv.osv):
(check_recursion, 'Error! You cannot create recursive analytic accounts.', ['parent_id']),
]
def name_create(self, cr, uid, name, context=None):
raise osv.except_osv(_('Warning'), _("Quick account creation disallowed."))
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
@ -349,6 +352,4 @@ class account_analytic_line(osv.osv):
(_check_no_view, 'You cannot create analytic line on view account.', ['account_id']),
]
account_analytic_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

388
addons/analytic/i18n/mk.po Normal file
View File

@ -0,0 +1,388 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: analytic
#: field:account.analytic.account,child_ids:0
msgid "Child Accounts"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "In Progress"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:229
#, python-format
msgid "Contract: "
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Template"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "End Date"
msgstr ""
#. module: analytic
#: help:account.analytic.line,unit_amount:0
msgid "Specifies the amount of quantity to count."
msgstr ""
#. module: analytic
#: field:account.analytic.account,debit:0
msgid "Debit"
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.\n"
"The type 'Analytic account' stands for usual accounts that you only want to "
"use in accounting.\n"
"If you select Contract or Project, it offers you the possibility to manage "
"the validity and the invoicing options for this account.\n"
"The special type 'Template of Contract' allows you to define a template with "
"default data that you can reuse easily."
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid ""
"Once the end date of the contract is\n"
" passed or the maximum number of "
"service\n"
" units (e.g. support contract) is\n"
" reached, the account manager is "
"notified \n"
" by email to renew the contract with "
"the\n"
" customer."
msgstr ""
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Contract or Project"
msgstr ""
#. module: analytic
#: field:account.analytic.account,name:0
msgid "Account/Contract Name"
msgstr ""
#. module: analytic
#: field:account.analytic.account,manager_id:0
msgid "Account Manager"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_follower_ids:0
msgid "Followers"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Closed"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_pending
msgid "Contract to Renew"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "New"
msgstr ""
#. module: analytic
#: field:account.analytic.account,user_id:0
msgid "Project Manager"
msgstr ""
#. module: analytic
#: field:account.analytic.account,state:0
msgid "Status"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:268
#, python-format
msgid "%s (copy)"
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
#: field:account.analytic.account,message_unread:0
msgid "Unread Messages"
msgstr ""
#. module: analytic
#: constraint:account.analytic.account:0
msgid "Error! You cannot create recursive analytic accounts."
msgstr ""
#. module: analytic
#: field:account.analytic.account,company_id:0
#: field:account.analytic.line,company_id:0
msgid "Company"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Renewal"
msgstr ""
#. module: analytic
#: help:account.analytic.account,message_ids:0
msgid "Messages and communication history"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_opened
msgid "Stage <b>opened</b>"
msgstr ""
#. module: analytic
#: help:account.analytic.account,quantity_max:0
msgid ""
"Sets the higher limit of time to work on the contract, based on the "
"timesheet. (for instance, number of hours in a limited support contract.)"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:160
#, 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.account,message_is_follower:0
msgid "Is a Follower"
msgstr ""
#. module: analytic
#: field:account.analytic.line,user_id:0
msgid "User"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_pending
msgid "Contract <b>pending</b>"
msgstr ""
#. module: analytic
#: field:account.analytic.line,date:0
msgid "Date"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_closed
msgid "Contract Finished"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Terms and Conditions"
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,partner_id:0
msgid "Customer"
msgstr ""
#. module: analytic
#: field:account.analytic.account,child_complete_ids:0
msgid "Account Hierarchy"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_ids:0
msgid "Messages"
msgstr ""
#. module: analytic
#: field:account.analytic.account,parent_id:0
msgid "Parent Analytic Account"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
msgid "Contract Information"
msgstr ""
#. module: analytic
#: field:account.analytic.account,template_id:0
#: selection:account.analytic.account,type:0
msgid "Template of Contract"
msgstr ""
#. module: analytic
#: field:account.analytic.account,message_summary:0
msgid "Summary"
msgstr ""
#. module: analytic
#: field:account.analytic.account,quantity_max:0
msgid "Prepaid Service Units"
msgstr ""
#. module: analytic
#: field:account.analytic.account,credit:0
msgid "Credit"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_opened
msgid "Contract Opened"
msgstr ""
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_closed
msgid "Contract <b>closed</b>"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "Cancelled"
msgstr ""
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Analytic View"
msgstr ""
#. module: analytic
#: field:account.analytic.account,balance:0
msgid "Balance"
msgstr ""
#. module: analytic
#: help:account.analytic.account,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "To Renew"
msgstr ""
#. module: analytic
#: field:account.analytic.account,quantity:0
#: field:account.analytic.line,unit_amount:0
msgid "Quantity"
msgstr ""
#. module: analytic
#: field:account.analytic.account,date:0
msgid "Date End"
msgstr ""
#. module: analytic
#: field:account.analytic.account,code:0
msgid "Reference"
msgstr ""
#. module: analytic
#: code:addons/analytic/analytic.py:160
#, python-format
msgid "Error!"
msgstr ""
#. module: analytic
#: model:res.groups,name:analytic.group_analytic_accounting
msgid "Analytic Accounting"
msgstr ""
#. module: analytic
#: field:account.analytic.line,amount:0
msgid "Amount"
msgstr ""
#. module: analytic
#: field:account.analytic.account,complete_name:0
msgid "Full Account Name"
msgstr ""
#. module: analytic
#: view:account.analytic.account:0
#: selection:account.analytic.account,type:0
#: 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
#: help:account.analytic.account,message_summary:0
msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
#. module: analytic
#: field:account.analytic.account,type:0
msgid "Type of Account"
msgstr ""
#. module: analytic
#: field:account.analytic.account,date_start:0
msgid "Start Date"
msgstr ""
#. module: analytic
#: constraint:account.analytic.line:0
msgid "You cannot create analytic line on view account."
msgstr ""
#. module: analytic
#: field:account.analytic.account,line_ids:0
msgid "Analytic Entries"
msgstr ""

View File

@ -1,75 +1,28 @@
# Russian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-03 16:03+0000\n"
"PO-Revision-Date: 2012-12-07 08:15+0000\n"
"Last-Translator: Denis Karataev <dskarataev@gmail.com>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-13 09:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian <ru@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-12-08 04:59+0000\n"
"X-Generator: Launchpad (build 16341)\n"
"X-Launchpad-Export-Date: 2013-02-14 04:37+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
#. module: auth_crypt
#: field:res.users,password_crypt:0
msgid "Encrypted Password"
msgstr "Зашифрованный пароль"
#. module: auth_crypt
#: model:ir.model,name:auth_crypt.model_res_users
msgid "Users"
msgstr "Пользователи"
#~ msgid "res.users"
#~ msgstr "res.users"
#, python-format
#~ msgid "Error"
#~ msgstr "Error"
#, python-format
#~ msgid "Please specify the password !"
#~ msgstr "Необходимо указать пароль!"
#~ msgid "The chosen company is not in the allowed companies for this user"
#~ msgstr ""
#~ "Выбранная организация отсутствует в списке разрешённых для этого пользователя"
#~ msgid "You can not have two users with the same login !"
#~ msgstr "Не может быть двух пользователей с одинаковым именем пользователя!"
#~ msgid "Base - Password Encryption"
#~ msgstr "Основной - Шифрование паролей"
#~ 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 ""
#~ "Этот модуль заменяет текстовые пароли в базе данных на их хэши,\n"
#~ "предотвращая хищение оригинальных паролей.\n"
#~ "Для существующей базы пользователей, удаление текстового пароля происходит "
#~ "при\n"
#~ "первом входе пользователя после установки base_crypt.\n"
#~ "После установки этого модуля станет невозможно восстановление пароля \n"
#~ "пользователя. Возможна будет только замена пароля.\n"
#~ "\n"
#~ "Прим.: установка этого модуля не избавляет от необходимости соблюдать\n"
#~ "базовые меры безопасности, поскольку пароли всё ещё передаются открытым\n"
#~ "текстом по сети, если не используется безопасный протокол вроде XML-RPCS.\n"
#~ " "

View File

@ -2,8 +2,10 @@ import functools
import logging
import simplejson
import werkzeug.utils
from werkzeug.exceptions import BadRequest
import openerp
from openerp import SUPERUSER_ID
import openerp.addons.web.http as oeweb
from openerp.addons.web.controllers.main import db_monodb, set_cookie_and_redirect, login_and_redirect
@ -69,6 +71,13 @@ class OAuthController(oeweb.Controller):
# auth_signup is not installed
_logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,))
url = "/#action=login&oauth_error=1"
except openerp.exceptions.AccessDenied:
# oauth credentials not valid, user could be on a temporary session
_logger.info('OAuth2: access denied, redirect to main page in case a valid session exists, without setting cookies')
url = "/#action=login&oauth_error=3"
redirect = werkzeug.utils.redirect(url, 303)
redirect.autocorrect_location_header = False
return redirect
except Exception, e:
# signup error
_logger.exception("OAuth2: %s" % str(e))

View File

@ -0,0 +1,23 @@
# Russian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-13 09:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian <ru@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: 2013-02-14 04:37+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: auth_oauth_signup
#: model:ir.model,name:auth_oauth_signup.model_res_users
msgid "Users"
msgstr "Пользователи"

View File

@ -36,10 +36,12 @@ class res_users(osv.Model):
login = super(res_users, self)._auth_oauth_signin(cr, uid, provider, validation, params, context=context)
except openerp.exceptions.AccessDenied:
if context and context.get('no_user_creation'):
return None
state = simplejson.loads(params['state'])
token = state.get('t')
oauth_uid = validation['user_id']
email = validation.get('email', 'provider_%d_user_%d' % (provider, oauth_uid))
email = validation.get('email', 'provider_%s_user_%s' % (provider, oauth_uid))
name = validation.get('name', email)
values = {
'name': name,

View File

@ -0,0 +1,277 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:26+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: auth_signup
#: field:res.partner,signup_type:0
msgid "Signup Token Type"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_uninvited:0
msgid "Allow external users to sign up"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16
#, python-format
msgid "Confirm Password"
msgstr ""
#. module: auth_signup
#: help:base.config.settings,auth_signup_uninvited:0
msgid "If unchecked, only invited users may sign up."
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:252
#, python-format
msgid "Cannot send email: user has no email address."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:25
#, python-format
msgid "Reset password"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_template_user_id:0
msgid "Template user for new users created through signup"
msgstr ""
#. module: auth_signup
#: model:email.template,subject:auth_signup.reset_password_email
msgid "Password reset"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:125
#, python-format
msgid "Please enter a password and confirm it."
msgstr ""
#. module: auth_signup
#: view:res.users:0
msgid "Send an email to the user to (re)set their password."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23
#, python-format
msgid "Sign Up"
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "New"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:258
#, python-format
msgid "Mail sent to:"
msgstr ""
#. module: auth_signup
#: field:res.users,state:0
msgid "Status"
msgstr ""
#. module: auth_signup
#: model:email.template,body_html:auth_signup.reset_password_email
msgid ""
"\n"
"<p>A password reset was requested for the OpenERP account linked to this "
"email.</p>\n"
"\n"
"<p>You may change your password by following <a "
"href=\"${object.signup_url}\">this link</a>.</p>\n"
"\n"
"<p>Note: If you do not expect this, you can safely ignore this email.</p>"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:119
#, python-format
msgid "Please enter a name."
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_users
msgid "Users"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_url:0
msgid "Signup URL"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:122
#, python-format
msgid "Please enter a username."
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "Active"
msgstr ""
#. module: auth_signup
#: code:addons/auth_signup/res_users.py:256
#, python-format
msgid ""
"Cannot send email: no outgoing email server configured.\n"
"You can configure it under Settings/General Settings."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12
#, python-format
msgid "Username"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8
#, python-format
msgid "Name"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:165
#, python-format
msgid "Please enter a username or email address."
msgstr ""
#. module: auth_signup
#: selection:res.users,state:0
msgid "Resetting Password"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13
#, python-format
msgid "Username (Email)"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_expiration:0
msgid "Signup Expiration"
msgstr ""
#. module: auth_signup
#: help:base.config.settings,auth_signup_reset_password:0
msgid "This allows users to trigger a password reset from the Login page."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:21
#, python-format
msgid "Log in"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_valid:0
msgid "Signup Token is Valid"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:116
#: code:addons/auth_signup/static/src/js/auth_signup.js:119
#: code:addons/auth_signup/static/src/js/auth_signup.js:122
#: code:addons/auth_signup/static/src/js/auth_signup.js:125
#: code:addons/auth_signup/static/src/js/auth_signup.js:128
#: code:addons/auth_signup/static/src/js/auth_signup.js:162
#: code:addons/auth_signup/static/src/js/auth_signup.js:165
#, python-format
msgid "Login"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:99
#, python-format
msgid "Invalid signup token"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:128
#, python-format
msgid "Passwords do not match; please retype them."
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/js/auth_signup.js:116
#: code:addons/auth_signup/static/src/js/auth_signup.js:162
#, python-format
msgid "No database selected !"
msgstr ""
#. module: auth_signup
#: view:res.users:0
msgid "Reset Password"
msgstr ""
#. module: auth_signup
#: field:base.config.settings,auth_signup_reset_password:0
msgid "Enable password reset from Login page"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24
#, python-format
msgid "Back to Login"
msgstr ""
#. module: auth_signup
#. openerp-web
#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22
#, python-format
msgid "Sign up"
msgstr ""
#. module: auth_signup
#: model:ir.model,name:auth_signup.model_res_partner
msgid "Partner"
msgstr ""
#. module: auth_signup
#: field:res.partner,signup_token:0
msgid "Signup Token"
msgstr ""

View File

@ -260,13 +260,15 @@ class res_users(osv.Model):
template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'reset_password_email')
mail_obj = self.pool.get('mail.mail')
assert template._name == 'email.template'
for user in self.browse(cr, uid, ids, context):
if not user.email:
raise osv.except_osv(_("Cannot send email: user has no email address."), user.name)
mail_id = self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, True, context=context)
mail_state = mail_obj.read(cr, uid, mail_id, ['state'], context=context)
if mail_state and mail_state['state'] == 'exception':
raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name)
raise self.pool.get('res.config.settings').get_config_warning(cr, _("Cannot send email: no outgoing email server configured.\nYou can configure it under %(menu:base_setup.menu_general_configuration)s."), context)
else:
return {
'type': 'ir.actions.client',

View File

@ -21,8 +21,8 @@
<!-- add Reset Password button -->
<xpath expr="//div[@class='oe_right oe_button_box']" position="replace">
<div class="oe_right oe_button_box">
<button string="Reset Password" type="object" name="action_reset_password"
help="Send an email to the user to (re)set their password."/>
<button string="Send reset password instructions by email"
type="object" name="action_reset_password" />
</div>
</xpath>
</field>

View File

@ -0,0 +1,338 @@
# Czech translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-15 15:11+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "In Progress"
msgstr "Probíhá"
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- In this same \"Search\" view, select the menu \"Save Current Filter\", "
"enter the name (Ex: Create the 01/01/2012) and add the option \"Share with "
"all users\""
msgstr ""
"- V tomto zobrazení \"Vyhledat\" zvolte nabídku \"Uložit aktuální filtr\", "
"zadejte jméno (Např.: Vytvořeno 01.01.2012) a přidejte volbu \"sdílet se "
"všemi uživateli\""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule
msgid "Action Rules"
msgstr "Pravidla akcí"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Select a filter or a timer as condition."
msgstr "Zvolte jako podmínku filtr nebo časovač"
#. module: base_action_rule
#: field:base.action.rule.lead.test,user_id:0
msgid "Responsible"
msgstr "Zodpovídá"
#. module: base_action_rule
#: help:base.action.rule,server_action_ids:0
msgid "Examples: email reminders, call object service, etc."
msgstr "Například: připomenutí e-mailu, volání služby, apod."
#. module: base_action_rule
#: field:base.action.rule,act_followers:0
msgid "Add Followers"
msgstr "Přidejte na vědomí"
#. module: base_action_rule
#: field:base.action.rule,act_user_id:0
msgid "Set Responsible"
msgstr "Nastavte odpovědnou osobu"
#. module: base_action_rule
#: help:base.action.rule,trg_date_range:0
msgid ""
"Delay after the trigger date.You can put a negative number if you need a "
"delay before thetrigger date, like sending a reminder 15 minutes before a "
"meeting."
msgstr ""
"Zpoždění po datu spuštění. Můžete zadat záporné číslo, pokud potřebujete "
"prodlevu před datem spuštění, jako zaslání připomenutí 15 minut před "
"schůzkou."
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test
msgid "base.action.rule.lead.test"
msgstr "base.action.rule.lead.test"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Closed"
msgstr "Uzavřeno"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "New"
msgstr "Nové"
#. module: base_action_rule
#: field:base.action.rule,trg_date_range:0
msgid "Delay after trigger date"
msgstr "Po datu spuštění"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions"
msgstr "Podmínky"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Pending"
msgstr "Čekající"
#. module: base_action_rule
#: field:base.action.rule.lead.test,state:0
msgid "Status"
msgstr "Stav"
#. module: base_action_rule
#: field:base.action.rule,filter_pre_id:0
msgid "Before Update Filter"
msgstr "Filtr před aktualizací"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Action Rule"
msgstr "Pravidlo akce"
#. module: base_action_rule
#: help:base.action.rule,filter_id:0
msgid ""
"If present, this condition must be satisfied after the update of the record."
msgstr "Existuje-li, musí být tato podmínka po aktualizaci záznamu splněna."
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Fields to Change"
msgstr "Pole, která je možno měnit"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "The filter must therefore be available in this page."
msgstr "Filtr musí být na této straně k dispozici."
#. module: base_action_rule
#: field:base.action.rule,filter_id:0
msgid "After Update Filter"
msgstr "Filtr po aktualizaci"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Hours"
msgstr "hodin"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "To create a new filter:"
msgstr "Nový filtr vytvoříte:"
#. module: base_action_rule
#: field:base.action.rule,active:0
#: field:base.action.rule.lead.test,active:0
msgid "Active"
msgstr "Aktivní"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Delay After Trigger Date"
msgstr "Zpoždění po datu spuštění"
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"An action rule is checked when you create or modify the \"Related Document "
"Model\". The precondition filter is checked right before the modification "
"while the postcondition filter is checked after the modification. A "
"precondition filter will therefore not work during a creation."
msgstr ""
"Pravidlo akce je ověřováno při vytváření nebo úpravě \"souvisejícího modelu "
"dokumentu\". Platnost filtru s podmínkou před je ověřována před úpravou, "
"zatímco platnost filtru s podmínkou po je kontrolována po úpravě. Filtr s "
"podmínkou před nebude tedy pracovat při vytváření."
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Filter Condition"
msgstr "Podmínka filtru"
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- Go to your \"Related Document Model\" page and set the filter parameters "
"in the \"Search\" view (Example of filter based on Leads/Opportunities: "
"Creation Date \"is equal to\" 01/01/2012)"
msgstr ""
"- Přejděte na stránku \"Přiřazený model dokumentu\" a nastavte parametry "
"filtru v zobrazení \"Hledat\" (Příklad filtru na základě Zájemci / "
"Příležitosti: Datum vytvoření \"je\" 01.01.2012)"
#. module: base_action_rule
#: field:base.action.rule,name:0
msgid "Rule Name"
msgstr "Název pravidla"
#. module: base_action_rule
#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
msgid "Automated Actions"
msgstr "Automatické akce"
#. module: base_action_rule
#: help:base.action.rule,sequence:0
msgid "Gives the sequence order when displaying a list of rules."
msgstr "Udává pořadí příkazů při zobrazení seznamu pravidel."
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Months"
msgstr "měsíců"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Days"
msgstr "dnů"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Timer"
msgstr "Časovač"
#. module: base_action_rule
#: field:base.action.rule,trg_date_range_type:0
msgid "Delay type"
msgstr "Typ zpoždění"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Server actions to run"
msgstr "Akce serveru ke spuštění"
#. module: base_action_rule
#: help:base.action.rule,active:0
msgid "When unchecked, the rule is hidden and will not be executed."
msgstr "Pokud neoznačíte, pravidlo nebude vidět neprovede se."
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Cancelled"
msgstr "Zrušeno"
#. module: base_action_rule
#: field:base.action.rule,model:0
msgid "Model"
msgstr "Model"
#. module: base_action_rule
#: field:base.action.rule,last_run:0
msgid "Last Run"
msgstr "Naposledy spuštěno"
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Minutes"
msgstr "minut"
#. module: base_action_rule
#: field:base.action.rule,model_id:0
msgid "Related Document Model"
msgstr "Související model dokumentu"
#. module: base_action_rule
#: help:base.action.rule,filter_pre_id:0
msgid ""
"If present, this condition must be satisfied before the update of the record."
msgstr "Existuje-li, musí být podmínka spolněna po aktualizaci záznamu."
#. module: base_action_rule
#: field:base.action.rule,sequence:0
msgid "Sequence"
msgstr "Pořadí"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Actions"
msgstr "Akce"
#. module: base_action_rule
#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to setup a new automated action rule. \n"
" </p><p>\n"
" Use automated actions to automatically trigger actions for\n"
" various screens. Example: a lead created by a specific user "
"may\n"
" be automatically set to a specific sales team, or an\n"
" opportunity which still has status pending after 14 days "
"might\n"
" trigger an automatic reminder email.\n"
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Klepni pro vytvoření nového automatického pravidla akce. \n"
" </p><p>\n"
" Automatické akce používejte pro různé automaticky spouštěné\n"
" akce. Například: a zájemce vytvořený konkrétním uživatelem "
"může\n"
" být automaticky přiřazen do určité obchodní skupiny, nebo\n"
" příležitost, která je 14 dnů ve stavu \"čekající\" může "
"odeslat\n"
" upozorňující e-mail.\n"
" </p>\n"
" "
#. module: base_action_rule
#: field:base.action.rule,create_date:0
msgid "Create Date"
msgstr "Datum vytvoření"
#. module: base_action_rule
#: field:base.action.rule.lead.test,date_action_last:0
msgid "Last Action"
msgstr "Poslední akce"
#. module: base_action_rule
#: field:base.action.rule.lead.test,partner_id:0
msgid "Partner"
msgstr "Partner"
#. module: base_action_rule
#: field:base.action.rule,trg_date_id:0
msgid "Trigger Date"
msgstr "Datum spuštění"
#. module: base_action_rule
#: view:base.action.rule:0
#: field:base.action.rule,server_action_ids:0
msgid "Server Actions"
msgstr "Akce serveru"
#. module: base_action_rule
#: field:base.action.rule.lead.test,name:0
msgid "Subject"
msgstr "Předmět"

View File

@ -0,0 +1,313 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:26+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "In Progress"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- In this same \"Search\" view, select the menu \"Save Current Filter\", "
"enter the name (Ex: Create the 01/01/2012) and add the option \"Share with "
"all users\""
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule
msgid "Action Rules"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Select a filter or a timer as condition."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,user_id:0
msgid "Responsible"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,server_action_ids:0
msgid "Examples: email reminders, call object service, etc."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_followers:0
msgid "Add Followers"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_user_id:0
msgid "Set Responsible"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,trg_date_range:0
msgid ""
"Delay after the trigger date.You can put a negative number if you need a "
"delay before thetrigger date, like sending a reminder 15 minutes before a "
"meeting."
msgstr ""
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test
msgid "base.action.rule.lead.test"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Closed"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "New"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range:0
msgid "Delay after trigger date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Conditions"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Pending"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,state:0
msgid "Status"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,filter_pre_id:0
msgid "Before Update Filter"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Action Rule"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,filter_id:0
msgid ""
"If present, this condition must be satisfied after the update of the record."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Fields to Change"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "The filter must therefore be available in this page."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,filter_id:0
msgid "After Update Filter"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Hours"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "To create a new filter:"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,active:0
#: field:base.action.rule.lead.test,active:0
msgid "Active"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Delay After Trigger Date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"An action rule is checked when you create or modify the \"Related Document "
"Model\". The precondition filter is checked right before the modification "
"while the postcondition filter is checked after the modification. A "
"precondition filter will therefore not work during a creation."
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Filter Condition"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid ""
"- Go to your \"Related Document Model\" page and set the filter parameters "
"in the \"Search\" view (Example of filter based on Leads/Opportunities: "
"Creation Date \"is equal to\" 01/01/2012)"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,name:0
msgid "Rule Name"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
msgid "Automated Actions"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,sequence:0
msgid "Gives the sequence order when displaying a list of rules."
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Months"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Days"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Timer"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_range_type:0
msgid "Delay type"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Server actions to run"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,active:0
msgid "When unchecked, the rule is hidden and will not be executed."
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule.lead.test,state:0
msgid "Cancelled"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,model:0
msgid "Model"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,last_run:0
msgid "Last Run"
msgstr ""
#. module: base_action_rule
#: selection:base.action.rule,trg_date_range_type:0
msgid "Minutes"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,model_id:0
msgid "Related Document Model"
msgstr ""
#. module: base_action_rule
#: help:base.action.rule,filter_pre_id:0
msgid ""
"If present, this condition must be satisfied before the update of the record."
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,sequence:0
msgid "Sequence"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Actions"
msgstr ""
#. module: base_action_rule
#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to setup a new automated action rule. \n"
" </p><p>\n"
" Use automated actions to automatically trigger actions for\n"
" various screens. Example: a lead created by a specific user "
"may\n"
" be automatically set to a specific sales team, or an\n"
" opportunity which still has status pending after 14 days "
"might\n"
" trigger an automatic reminder email.\n"
" </p>\n"
" "
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,create_date:0
msgid "Create Date"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,date_action_last:0
msgid "Last Action"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,partner_id:0
msgid "Partner"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule,trg_date_id:0
msgid "Trigger Date"
msgstr ""
#. module: base_action_rule
#: view:base.action.rule:0
#: field:base.action.rule,server_action_ids:0
msgid "Server Actions"
msgstr ""
#. module: base_action_rule
#: field:base.action.rule.lead.test,name:0
msgid "Subject"
msgstr ""

View File

@ -234,11 +234,12 @@
<field name="arch" type="xml">
<search string="Search Meetings">
<field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/>
<filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
<field name="partner_ids"/>
<field name="categ_ids"/>
<field name="user_id"/>
<separator/>
<filter string="My Meetings" help="My Meetings" domain="[('user_id','=',uid)]"/>
<field name="user_id"/>
<field name="partner_ids"/>
<filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
</search>
</field>
</record>

View File

@ -0,0 +1,86 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:27+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:12+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_iban
#: constraint:res.partner.bank:0
msgid ""
"\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
"valid payments"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:141
#, python-format
msgid "This IBAN does not pass the validation check, please verify it"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type,format_layout:base_iban.bank_iban
msgid "%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_swift_field
msgid "bank_bic"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_zip_field
msgid "zip"
msgstr ""
#. module: base_iban
#: help:res.partner.bank,iban:0
msgid "International Bank Account Number"
msgstr ""
#. module: base_iban
#: model:ir.model,name:base_iban.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type.field,name:base_iban.bank_country_field
msgid "country_id"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:138
#, python-format
msgid ""
"The IBAN does not seem to be correct. You should have entered something like "
"this %s"
msgstr ""
#. module: base_iban
#: field:res.partner.bank,iban:0
msgid "IBAN"
msgstr ""
#. module: base_iban
#: code:addons/base_iban/base_iban.py:142
#, python-format
msgid "The IBAN is invalid, it should begin with the country code"
msgstr ""
#. module: base_iban
#: model:res.partner.bank.type,name:base_iban.bank_iban
msgid "IBAN Account"
msgstr ""

View File

@ -0,0 +1,370 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:27+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_setup
#: view:sale.config.settings:0
msgid "Emails Integration"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Guest"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Contacts"
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_config_settings
msgid "base.config.settings"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_auth_oauth:0
msgid ""
"Use external authentication providers, sign in with google, facebook, ..."
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid ""
"OpenERP allows to automatically create leads (or others documents)\n"
" from incoming emails. You can automatically "
"synchronize emails with OpenERP\n"
" using regular POP/IMAP accounts, using a direct "
"email integration script for your\n"
" email server, or by manually pushing emails to "
"OpenERP using specific\n"
" plugins for your preferred email application."
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_sale:0
msgid "SALE"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Member"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Portal access"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Authentication"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Quotations and Sales Orders"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: model:ir.actions.act_window,name:base_setup.action_general_configuration
#: model:ir.ui.menu,name:base_setup.menu_general_configuration
msgid "General Settings"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Donor"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Email"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_crm:0
msgid "CRM"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Patient"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_base_import:0
msgid "Allow users to import data from CSV files"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_multi_company:0
msgid "Manage multiple companies"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "On Mail Client"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "--db-filter=YOUR_DATABAE"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_web_linkedin:0
msgid "Get contacts automatically from linkedIn"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_plugin_thunderbird:0
msgid "Enable Thunderbird plug-in"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid "res_config_contents"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Customer Features"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Import / Export"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Sale Features"
msgstr ""
#. module: base_setup
#: field:sale.config.settings,module_plugin_outlook:0
msgid "Enable Outlook plug-in"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid ""
"You can use this wizard to change the terminologies for customers in the "
"whole application."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Tenant"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_share:0
msgid "Share or embbed any screen of openerp."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Customer"
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_web_linkedin:0
msgid ""
"When you create a new contact (person or company), you will be able to load "
"all the data from LinkedIn (photos, address, etc)."
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_multi_company:0
msgid ""
"Work in multi-company environments, with appropriate security access between "
"companies.\n"
" This installs the module multi_company."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"The public portal is accessible only if you are in a single database mode. "
"You can\n"
" launch the OpenERP Server with the option"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"You will find more options in your company details: address for the header "
"and footer, overdue payments texts, etc."
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_sale_config_settings
msgid "sale.config.settings"
msgstr ""
#. module: base_setup
#: field:base.setup.terminology,partner:0
msgid "How do you call a Customer"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"When you send a document to a customer\n"
" (quotation, invoice), your customer will "
"be\n"
" able to signup to get all his "
"documents,\n"
" read your company news, check his "
"projects,\n"
" etc."
msgstr ""
#. module: base_setup
#: model:ir.model,name:base_setup.model_base_setup_terminology
msgid "base.setup.terminology"
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Client"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_portal_anonymous:0
msgid "Enable the public part of openerp, openerp becomes a public website."
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_plugin_thunderbird:0
msgid ""
"The plugin allows you archive email and its attachments to the selected\n"
" OpenERP objects. You can select a partner, or a lead and\n"
" attach the selected mail as a .eml file in\n"
" the attachment of a selected record. You can create "
"documents for CRM Lead,\n"
" Partner from the selected emails.\n"
" This installs the module plugin_thunderbird."
msgstr ""
#. module: base_setup
#: selection:base.setup.terminology,partner:0
msgid "Partner"
msgstr ""
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form
msgid "Use another word to say \"Customer\""
msgstr ""
#. module: base_setup
#: model:ir.actions.act_window,name:base_setup.action_sale_config
#: view:sale.config.settings:0
msgid "Configure Sales"
msgstr ""
#. module: base_setup
#: help:sale.config.settings,module_plugin_outlook:0
msgid ""
"The Outlook plugin allows you to select an object that you would like to "
"add\n"
" to your email and its attachments from MS Outlook. You can "
"select a partner,\n"
" or a lead object and archive a selected\n"
" email into an OpenERP mail message with attachments.\n"
" This installs the module plugin_outlook."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Options"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_portal:0
msgid "Activate the customer portal"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid ""
"to do so.\n"
" Once activated, the login page will be "
"replaced by the public website."
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_share:0
msgid "Allow documents sharing"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "(company news, jobs, contact form, etc.)"
msgstr ""
#. module: base_setup
#: field:base.config.settings,module_portal_anonymous:0
msgid "Activate the public portal"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure outgoing email servers"
msgstr ""
#. module: base_setup
#: view:sale.config.settings:0
msgid "Social Network Integration"
msgstr ""
#. module: base_setup
#: help:base.config.settings,module_portal:0
msgid "Give your customers access to their documents."
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "Cancel"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "Apply"
msgstr ""
#. module: base_setup
#: view:base.setup.terminology:0
msgid "Specify Your Terminology"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
#: view:sale.config.settings:0
msgid "or"
msgstr ""
#. module: base_setup
#: view:base.config.settings:0
msgid "Configure your company data"
msgstr ""

View File

@ -0,0 +1,76 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_status
#: code:addons/base_status/base_state.py:107
#, python-format
msgid "Error !"
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:166
#, python-format
msgid "%s has been <b>opened</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:199
#, python-format
msgid "%s has been <b>renewed</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_stage.py:210
#, python-format
msgid "Error!"
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:107
#, python-format
msgid ""
"You can not escalate, you are already at the top level regarding your sales-"
"team category."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:193
#, python-format
msgid "%s is now <b>pending</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:187
#, python-format
msgid "%s has been <b>canceled</b>."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_stage.py:210
#, python-format
msgid ""
"You are already at the top level of your sales-team category.\n"
"Therefore you cannot escalate furthermore."
msgstr ""
#. module: base_status
#: code:addons/base_status/base_state.py:181
#, python-format
msgid "%s has been <b>closed</b>."
msgstr ""

View File

@ -0,0 +1,71 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: base_vat
#: view:res.partner:0
msgid "Check Validity"
msgstr ""
#. module: base_vat
#: code:addons/base_vat/base_vat.py:147
#, python-format
msgid ""
"This VAT number does not seem to be valid.\n"
"Note: the expected format is %s"
msgstr ""
#. module: base_vat
#: field:res.company,vat_check_vies:0
msgid "VIES VAT Check"
msgstr ""
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_company
msgid "Companies"
msgstr ""
#. module: base_vat
#: code:addons/base_vat/base_vat.py:111
#, python-format
msgid "Error!"
msgstr ""
#. module: base_vat
#: help:res.partner,vat_subjected:0
msgid ""
"Check this box if the partner is subjected to the VAT. It will be used for "
"the VAT legal statement."
msgstr ""
#. module: base_vat
#: model:ir.model,name:base_vat.model_res_partner
msgid "Partner"
msgstr ""
#. module: base_vat
#: help:res.company,vat_check_vies:0
msgid ""
"If checked, Partners VAT numbers will be fully validated against EU's VIES "
"service rather than via a simple format validation (checksum)."
msgstr ""
#. module: base_vat
#: field:res.partner,vat_subjected:0
msgid "VAT Legal Statement"
msgstr ""

167
addons/board/i18n/mk.po Normal file
View File

@ -0,0 +1,167 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:28+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: board
#: model:ir.actions.act_window,name:board.action_board_create
#: model:ir.ui.menu,name:board.menu_board_create
msgid "Create Board"
msgstr ""
#. module: board
#: view:board.create:0
msgid "Create"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:4
#, python-format
msgid "Reset Layout.."
msgstr ""
#. module: board
#: view:board.create:0
msgid "Create New Dashboard"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:40
#, python-format
msgid "Choose dashboard layout"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:70
#, python-format
msgid "Add"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/js/dashboard.js:139
#, python-format
msgid "Are you sure you want to remove this item ?"
msgstr ""
#. module: board
#: model:ir.model,name:board.model_board_board
msgid "Board"
msgstr ""
#. module: board
#: view:board.board:0
#: model:ir.actions.act_window,name:board.open_board_my_dash_action
#: model:ir.ui.menu,name:board.menu_board_my_dash
msgid "My Dashboard"
msgstr ""
#. module: board
#: field:board.create,name:0
msgid "Board Name"
msgstr ""
#. module: board
#: model:ir.model,name:board.model_board_create
msgid "Board Creation"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:67
#, python-format
msgid "Add to Dashboard"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:28
#, python-format
msgid "&nbsp;"
msgstr ""
#. module: board
#: model:ir.actions.act_window,help:board.open_board_my_dash_action
msgid ""
"<div class=\"oe_empty_custom_dashboard\">\n"
" <p>\n"
" <b>Your personal dashboard is empty.</b>\n"
" </p><p>\n"
" To add your first report into this dashboard, go to any\n"
" menu, switch to list or graph view, and click <i>'Add "
"to\n"
" Dashboard'</i> in the extended search options.\n"
" </p><p>\n"
" You can filter and group data before inserting into the\n"
" dashboard using the search options.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:6
#, python-format
msgid "Reset"
msgstr ""
#. module: board
#: field:board.create,menu_parent_id:0
msgid "Parent Menu"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:8
#, python-format
msgid "Change Layout.."
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/js/dashboard.js:93
#, python-format
msgid "Edit Layout"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:10
#, python-format
msgid "Change Layout"
msgstr ""
#. module: board
#: view:board.create:0
msgid "Cancel"
msgstr ""
#. module: board
#: view:board.create:0
msgid "or"
msgstr ""
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:69
#, python-format
msgid "Title of new dashboard item"
msgstr ""

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2012-11-27 23:56+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-15 16:22+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: Hungarian <hu@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-12-22 06:07+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: contacts
#: model:ir.actions.act_window,help:contacts.action_contacts
@ -29,6 +29,15 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson új kapcsolat hozzáadásához a címjegyzékhez.\n"
" </p><p>\n"
" OpenERP segít az összes tevékenység nyomon követésében ami \n"
" összefüggésben áll a vevőkkel; megbeszélésekkel, üzleti "
"lehetőségek történetével,\n"
" dokumentumokkal stb.\n"
" </p>\n"
" "
#. module: contacts
#: model:ir.actions.act_window,name:contacts.action_contacts

View File

@ -0,0 +1,37 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: contacts
#: model:ir.actions.act_window,help:contacts.action_contacts
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Click to add a contact in your address book.\n"
" </p><p>\n"
" OpenERP helps you easily track all activities related to\n"
" a customer; discussions, history of business opportunities,\n"
" documents, etc.\n"
" </p>\n"
" "
msgstr ""
#. module: contacts
#: model:ir.actions.act_window,name:contacts.action_contacts
#: model:ir.ui.menu,name:contacts.menu_contacts
msgid "Contacts"
msgstr ""

View File

@ -28,7 +28,7 @@ from openerp import tools
from openerp.tools.translate import _
from openerp.tools import html2plaintext
from base.res.res_partner import format_address
from openerp.addons.base.res.res_partner import format_address
CRM_LEAD_FIELDS_TO_MERGE = ['name',
'partner_id',
@ -567,7 +567,8 @@ class crm_lead(base_stage, format_address, osv.osv):
for opportunity in opportunities:
subject.append(opportunity.name)
title = "%s : %s" % (opportunity.type == 'opportunity' and _('Merged opportunity') or _('Merged lead'), opportunity.name)
details.append(self._mail_body(cr, uid, opportunity, CRM_LEAD_FIELDS_TO_MERGE, title=title, context=context))
fields = list(CRM_LEAD_FIELDS_TO_MERGE)
details.append(self._mail_body(cr, uid, opportunity, fields, title=title, context=context))
# Chatter message's subject
subject = subject[0] + ": " + ", ".join(subject[1:])
@ -586,27 +587,25 @@ class crm_lead(base_stage, format_address, osv.osv):
return True
def _merge_opportunity_attachments(self, cr, uid, opportunity_id, opportunities, context=None):
attachment = self.pool.get('ir.attachment')
attach_obj = self.pool.get('ir.attachment')
# return attachments of opportunity
def _get_attachments(opportunity_id):
attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context)
return attachment.browse(cr, uid, attachment_ids, context=context)
attachment_ids = attach_obj.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', opportunity_id)], context=context)
return attach_obj.browse(cr, uid, attachment_ids, context=context)
count = 1
first_attachments = _get_attachments(opportunity_id)
#counter of all attachments to move. Used to make sure the name is different for all attachments
count = 1
for opportunity in opportunities:
attachments = _get_attachments(opportunity.id)
for first in first_attachments:
for attachment in attachments:
if attachment.name == first.name:
values = dict(
name = "%s (%s)" % (attachment.name, count,),
res_id = opportunity_id,
)
attachment.write(values)
count+=1
for attachment in attachments:
values = {'res_id': opportunity_id,}
for attachment_in_first in first_attachments:
if attachment.name == attachment_in_first.name:
name = "%s (%s)" % (attachment.name, count,),
count+=1
attachment.write(values)
return True
def merge_opportunity(self, cr, uid, ids, context=None):
@ -627,7 +626,10 @@ class crm_lead(base_stage, format_address, osv.osv):
opportunities = self.browse(cr, uid, ids, context=context)
sequenced_opps = []
for opportunity in opportunities:
sequenced_opps.append((opportunity.stage_id and opportunity.stage_id.state != 'cancel' and opportunity.stage_id.sequence or 0, opportunity))
if opportunity.stage_id and opportunity.stage_id.state != 'cancel':
sequenced_opps.append((opportunity.stage_id.sequence, opportunity))
else:
sequenced_opps.append((-1, opportunity))
sequenced_opps.sort(key=lambda tup: tup[0], reverse=True)
opportunities = [opportunity for sequence, opportunity in sequenced_opps]
ids = [opportunity.id for opportunity in opportunities]
@ -636,7 +638,8 @@ class crm_lead(base_stage, format_address, osv.osv):
tail_opportunities = opportunities_rest
merged_data = self._merge_data(cr, uid, ids, highest, CRM_LEAD_FIELDS_TO_MERGE, context=context)
fields = list(CRM_LEAD_FIELDS_TO_MERGE)
merged_data = self._merge_data(cr, uid, ids, highest, fields, context=context)
# Merge messages and attachements into the first opportunity
self._merge_opportunity_history(cr, uid, highest.id, tail_opportunities, context=context)
@ -651,7 +654,7 @@ class crm_lead(base_stage, format_address, osv.osv):
section_stages = self.pool.get('crm.case.section').read(cr, uid, merged_data['section_id'], ['stage_ids'], context=context)
if merged_data.get('stage_id') not in section_stages['stage_ids']:
stages_sequences = self.pool.get('crm.case.stage').search(cr, uid, [('id','in',section_stages['stage_ids'])], order='sequence', limit=1, context=context)
merged_data['stage_id'] = stages_sequences[0]
merged_data['stage_id'] = stages_sequences and stages_sequences[0] or False
# Write merged data into first opportunity
self.write(cr, uid, [highest.id], merged_data, context=context)
# Delete tail opportunities

View File

@ -2,7 +2,6 @@
<openerp>
<data>
<!--
CRM CASE STAGE
-->
@ -110,7 +109,7 @@
string="Phone Calls"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only" string="Lead Description"/>
<label for="name" class="oe_edit_only"/>
<h1><field name="name" placeholder="Describe the lead..."/></h1>
</div>
<group>
@ -217,9 +216,8 @@
<field name="arch" type="xml">
<tree string="Leads" fonts="bold:message_unread==True" colors="grey:state in ('cancel', 'done')">
<field name="date_deadline" invisible="1"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="create_date"/>
<field name="name"/>
<field name="type"/>
<field name="contact_name"/>
<field name="country_id" invisible="context.get('invisible_country', True)"/>
<field name="email_from"/>
@ -327,6 +325,7 @@
<field name="categ_ids" string="Category" filter_domain="[('categ_ids','ilike',self)]"/>
<field name="section_id" context="{'invisible_section': False, 'default_section_id': self}"/>
<field name="user_id"/>
<field name="partner_id"/>
<field name="create_date"/>
<field name="country_id" context="{'invisible_country': False}"/>
<separator/>
@ -389,8 +388,7 @@
<button string="Meeting"
name="action_makeMeeting"
type="object"
context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"
/>
context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
@ -511,7 +509,7 @@
<field name="arch" type="xml">
<tree string="Opportunities" fonts="bold:message_unread==True" colors="gray:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
<field name="date_deadline" invisible="1"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="create_date"/>
<field name="name" string="Opportunity"/>
<field name="partner_id" string="Customer"/>
<field name="country_id" invisible="context.get('invisible_country', True)"/>
@ -526,8 +524,8 @@
<field name="user_id"/>
<field name="referred" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="state" groups="base.group_no_one"/>
<field name="message_unread" invisible="1"/>
<field name="state" invisible="1"/>
</tree>
</field>
</record>

3004
addons/crm/i18n/mk.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -58,11 +58,11 @@ class crm_lead2opportunity_partner(osv.osv_memory):
if partner_id:
# Search for opportunities that have the same partner and that arent done or cancelled
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id)])
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id), ('state', '!=', 'done')])
for id in ids:
tomerge.add(id)
if email:
ids = lead_obj.search(cr, uid, [('email_from', 'ilike', email[0])])
ids = lead_obj.search(cr, uid, [('email_from', 'ilike', email[0]), ('state', '!=', 'done')])
for id in ids:
tomerge.add(id)

View File

@ -21,7 +21,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>
@ -67,7 +67,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>

View File

@ -18,7 +18,7 @@
<field name="email_from"/>
<field name="phone"/>
<field name="stage_id"/>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="section_id"/>
</tree>
</field>

View File

@ -62,5 +62,66 @@
</field>
</record>
<record id="view_crm_lead_geo_assign_form" model="ir.ui.view">
<field name="name">crm.lead.lead.geo_assign.inherit</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_leads"/>
<field name="arch" type="xml">
<data>
<xpath expr="//notebook/page[@string='Extra Info']" position="after">
<page string="Assignation">
<group name="partner_assign_group">
<group string="Partner Assignation">
<field name="partner_assigned_id" on_change="onchange_assign_id(partner_assigned_id)" domain="[('grade_id','&lt;&gt;',False)]"/>
<label for="date_assign"/>
<div>
<field name="date_assign"/>
<button string="Forward"
attrs="{'invisible':[('partner_assigned_id','=',False)]}"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action"
context="{'default_composition_mode': 'forward', 'default_partner_ids': [partner_assigned_id]}"/>
</div>
</group>
<group string="Geo Assignation">
<field name="partner_latitude"/>
<field name="partner_longitude"/>
<span/>
<button string="Geo Assign" name="action_assign_partner" type="object" colspan="1"
icon="gtk-apply"/>
</group>
</group>
</page>
</xpath>
</data>
</field>
</record>
<record id="view_crm_lead_geo_assign_tree" model="ir.ui.view">
<field name="name">crm.lead.lead.geo_assign.tree.inherit</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_tree_view_leads"/>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="partner_assigned_id"/>
</field>
</field>
</record>
<record model="ir.ui.view" id="crm_lead_partner_filter">
<field name="name">crm.lead.partner.filter.assigned</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.view_crm_case_leads_filter"/>
<field name="arch" type="xml">
<filter string="Team" position="after">
<filter string="Assigned Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_assigned_id'}"/>
</filter>
<field name="partner_id" position="after">
<field name="partner_assigned_id"/>
</field>
</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,937 @@
# Mongolian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-19 08:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-02-20 04:50+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_close:0
msgid "Delay to Close"
msgstr "Хаахыг Азнах"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,author_id:0
msgid "Author"
msgstr "Зохиогч"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,planned_revenue:0
msgid "Planned Revenue"
msgstr "Төлөвлөсөн орлого"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,type:0
msgid ""
"Message type: email for email message, notification for system message, "
"comment for other messages such as user replies"
msgstr ""
"Зурвасын төрөл: имэйл зурваст зориулсан имэйл, системийн зурвасын мэдэгдэл, "
"бусад зурвас дахь сэтгэгдэл буюу хариулт гэх мэт"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,nbr:0
msgid "# of Cases"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: view:crm.partner.report.assign:0
msgid "Group By..."
msgstr "Бүлэглэх..."
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,body:0
msgid "Automatically sanitized HTML contents"
msgstr "Автомат янзлагдсан HTML агуулга"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Forward"
msgstr "Урагш"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Geo Localize"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,starred:0
msgid "Starred"
msgstr "Одоор тэмдэглэсэн"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
msgid "Body"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,email_from:0
msgid ""
"Email address of the sender. This field is set when no matching partner is "
"found for incoming emails."
msgstr ""
"Илгээгчийн имэйл хаяг. Ирсэн имэйлд тохирох харилцагч олдоогүй тохиолдолд "
"энэ талбар нь тохируулагдана."
#. module: crm_partner_assign
#: view:crm.partner.report.assign:0
msgid "Date Partnership"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,type:0
msgid "Lead"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Delay to close"
msgstr "Хаахыг азнах"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history_mode:0
msgid "Whole Story"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,company_id:0
msgid "Company"
msgstr "Компани"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,notification_ids:0
msgid "Notifications"
msgstr "Мэдэгдлүүд"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,date_assign:0
msgid "Partner Date"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: view:crm.partner.report.assign:0
#: view:res.partner:0
msgid "Salesperson"
msgstr "Худалдагч"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Highest"
msgstr "Хамгийн Өндөр"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,day:0
msgid "Day"
msgstr "Өдөр"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,message_id:0
msgid "Message unique identifier"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner,date_review_next:0
msgid "Next Partner Review"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history_mode:0
msgid "Latest email"
msgstr "Хамгийн сүүлийн Имэйл"
#. module: crm_partner_assign
#: field:crm.lead,partner_latitude:0
#: field:res.partner,partner_latitude:0
msgid "Geo Latitude"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,state:0
msgid "Cancelled"
msgstr "Цуцлагдсан"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Geo Assignation"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
msgid "Email composition wizard"
msgstr "Имэйл үүсгэх харилцах цонх"
#. module: crm_partner_assign
#: field:crm.partner.report.assign,turnover:0
msgid "Turnover"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,date_closed:0
msgid "Close Date"
msgstr "Хаах огноо"
#. module: crm_partner_assign
#: help:res.partner,partner_weight:0
msgid ""
"Gives the probability to assign a lead to this partner. (0 means no "
"assignation.)"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Partner Activation"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,type:0
msgid "System notification"
msgstr "Системийн мэдэгдэл"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:77
#, python-format
msgid "Lead forward"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probability:0
msgid "Avg Probability"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Previous"
msgstr "Өмнөх"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/partner_geo_assign.py:36
#, python-format
msgid "Network error"
msgstr "Сүлжээний алдаа"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,email_from:0
msgid "From"
msgstr ""
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.res_partner_grade_action
#: model:ir.ui.menu,name:crm_partner_assign.menu_res_partner_grade_action
#: view:res.partner.grade:0
msgid "Partner Grade"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: view:crm.partner.report.assign:0
msgid "Section"
msgstr "Хэсэг"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
msgid "Send"
msgstr "Илгээх"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Next"
msgstr "Дараагийх"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,priority:0
msgid "Priority"
msgstr "Чухалчлал"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_expected:0
msgid "Overpassed Deadline"
msgstr "Хугацаа хэтэрсэн тов"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,type:0
#: field:crm.lead.report.assign,type:0
msgid "Type"
msgstr "Төрөл"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,type:0
msgid "Email"
msgstr "Имэйл"
#. module: crm_partner_assign
#: help:crm.lead,partner_assigned_id:0
msgid "Partner this case has been forwarded/assigned to."
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Lowest"
msgstr "Хамгийн Бага"
#. module: crm_partner_assign
#: view:crm.partner.report.assign:0
msgid "Date Invoice"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,template_id:0
msgid "Template"
msgstr "Үлгэр"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Assign Date"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Leads Analysis"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,creation_date:0
msgid "Creation Date"
msgstr "Үүсгэсэн огноо"
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_res_partner_activation
msgid "res.partner.activation"
msgstr "res.partner.activation"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,parent_id:0
msgid "Parent Message"
msgstr "Эцэг зурвас"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,res_id:0
msgid "Related Document ID"
msgstr "Холбогдох Баримтын ID"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,state:0
msgid "Pending"
msgstr "Хүлээгдэж буй"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Partner Assignation"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.report.assign,type:0
msgid "Type is used to separate Leads and Opportunities"
msgstr "Сэжим болон Борлуулалтыг тусгаарлахад хэрэглэхэд төрөл"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "July"
msgstr "7-р сар"
#. module: crm_partner_assign
#: view:crm.partner.report.assign:0
msgid "Date Review"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,stage_id:0
msgid "Stage"
msgstr "Шат"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,state:0
msgid "Status"
msgstr "Төлөв"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,to_read:0
msgid "To read"
msgstr ""
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/wizard/crm_forward_to_partner.py:77
#, python-format
msgid "Fwd"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Geo Localization"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: view:crm.partner.report.assign:0
msgid "Opportunities Assignment Analysis"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
#: view:res.partner:0
msgid "Cancel"
msgstr "Цуцлах"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,history_mode:0
msgid "Send history"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Close"
msgstr "Хаах"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "March"
msgstr "3-р сар"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_opportunity_assign
#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_opportunities_assign_tree
msgid "Opp. Assignment Analysis"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.report.assign,delay_close:0
msgid "Number of Days to close the case"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,notified_partner_ids:0
msgid ""
"Partners that have a notification pushing this message in their mailboxes"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,type:0
msgid "Comment"
msgstr "Сэтгэгдэл"
#. module: crm_partner_assign
#: field:res.partner,partner_weight:0
msgid "Weight"
msgstr "Жин"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "April"
msgstr "4-р сар"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,grade_id:0
#: view:crm.partner.report.assign:0
#: field:crm.partner.report.assign,grade_id:0
msgid "Grade"
msgstr "Түвшин"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "December"
msgstr "12-р сар"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,vote_user_ids:0
msgid "Users that voted for this message"
msgstr "Энэ зурвасд санал өгсөн хэрэглэгчид"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,month:0
msgid "Month"
msgstr "Сар"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,opening_date:0
msgid "Opening Date"
msgstr "Нээх огноо"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,child_ids:0
msgid "Child Messages"
msgstr "Дэд зурвасууд"
#. module: crm_partner_assign
#: field:crm.partner.report.assign,date_review:0
#: field:res.partner,date_review:0
msgid "Latest Partner Review"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,subject:0
msgid "Subject"
msgstr "Гарчиг"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
msgid "or"
msgstr "эсвэл"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,body:0
msgid "Contents"
msgstr "Агуулга"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,vote_user_ids:0
msgid "Votes"
msgstr "Саналууд"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "#Opportunities"
msgstr "#Боломжууд"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,starred:0
msgid "Current user has a starred notification linked to this message"
msgstr ""
#. module: crm_partner_assign
#: field:crm.partner.report.assign,date_partnership:0
#: field:res.partner,date_partnership:0
msgid "Partnership Date"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Team"
msgstr "Баг"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,state:0
msgid "Draft"
msgstr "Ноорог"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Low"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: selection:crm.lead.report.assign,state:0
msgid "Closed"
msgstr "Хаагдсан"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.action_crm_send_mass_forward
msgid "Mass forward to partner"
msgstr ""
#. module: crm_partner_assign
#: view:res.partner:0
#: field:res.partner,opportunity_assigned_ids:0
msgid "Assigned Opportunities"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead,date_assign:0
msgid "Assignation Date"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probability_max:0
msgid "Max Probability"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "August"
msgstr "8-р сар"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,record_name:0
msgid "Name get of the related document."
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "Normal"
msgstr "Энгийн"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Escalate"
msgstr "Томруулах"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "June"
msgstr "6-р сар"
#. module: crm_partner_assign
#: help:crm.lead.report.assign,delay_open:0
msgid "Number of Days to open the case"
msgstr "Хэрэгийг нээх өдрийн тоо"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,delay_open:0
msgid "Delay to Open"
msgstr "Нээхийг Азнах"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,user_id:0
#: field:crm.partner.report.assign,user_id:0
msgid "User"
msgstr "Хэрэглэгч"
#. module: crm_partner_assign
#: field:res.partner.grade,active:0
msgid "Active"
msgstr "Идэвхтэй"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "November"
msgstr "11-р сар"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Extended Filters..."
msgstr "Өргөтгөсөн Шүүлтүүр..."
#. module: crm_partner_assign
#: field:crm.lead,partner_longitude:0
#: field:res.partner,partner_longitude:0
msgid "Geo Longitude"
msgstr ""
#. module: crm_partner_assign
#: field:crm.partner.report.assign,opp:0
msgid "# of Opportunity"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Lead Assign"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "October"
msgstr "10-р сар"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Assignation"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "January"
msgstr "1-р сар"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
msgid "Send Mail"
msgstr "Имэйл илгээх"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,date:0
msgid "Date"
msgstr "Огноо"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Planned Revenues"
msgstr "Төлөвлөсөн орлого"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Partner Review"
msgstr ""
#. module: crm_partner_assign
#: field:crm.partner.report.assign,period_id:0
msgid "Invoice Period"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_res_partner_grade
msgid "res.partner.grade"
msgstr "res.partner.grade"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,message_id:0
msgid "Message-Id"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
#: field:crm.lead.forward.to.partner,attachment_ids:0
msgid "Attachments"
msgstr "Хавсралт"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,record_name:0
msgid "Message Record Name"
msgstr "Зурвасын Бичлэгийн Нэр"
#. module: crm_partner_assign
#: field:res.partner.activation,sequence:0
#: field:res.partner.grade,sequence:0
msgid "Sequence"
msgstr "Дараалал"
#. module: crm_partner_assign
#: code:addons/crm_partner_assign/partner_geo_assign.py:37
#, python-format
msgid ""
"Cannot contact geolocation servers. Please make sure that your internet "
"connection is up and running (%s)."
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "September"
msgstr "9-р сар"
#. module: crm_partner_assign
#: field:res.partner.grade,name:0
msgid "Grade Name"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead,date_assign:0
msgid "Last date this case was forwarded/assigned to a partner"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,state:0
#: view:res.partner:0
msgid "Open"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,subtype_id:0
msgid "Subtype"
msgstr "Дэд төрөл"
#. module: crm_partner_assign
#: field:res.partner,date_localization:0
msgid "Geo Localization Date"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Current"
msgstr "Идэвхтэй"
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead
msgid "Lead/Opportunity"
msgstr "Сэжим/Боломж"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,notified_partner_ids:0
msgid "Notified partners"
msgstr "Мэдэгдэл хүрсэн харилцагчид"
#. module: crm_partner_assign
#: view:crm.lead.forward.to.partner:0
#: model:ir.actions.act_window,name:crm_partner_assign.crm_lead_forward_to_partner_act
msgid "Forward to Partner"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.report.assign,section_id:0
#: field:crm.partner.report.assign,section_id:0
msgid "Sales Team"
msgstr "Борлуулалтын баг"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "May"
msgstr "5-р сар"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,probable_revenue:0
msgid "Probable Revenue"
msgstr "Магадлалт орлого"
#. module: crm_partner_assign
#: view:crm.partner.report.assign:0
#: field:crm.partner.report.assign,activation:0
#: view:res.partner:0
#: field:res.partner,activation:0
#: view:res.partner.activation:0
msgid "Activation"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead:0
#: field:crm.lead,partner_assigned_id:0
msgid "Assigned Partner"
msgstr ""
#. module: crm_partner_assign
#: field:res.partner,grade_id:0
msgid "Partner Level"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,to_read:0
msgid "Current user has an unread notification linked to this message"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,type:0
msgid "Opportunity"
msgstr "Боломж"
#. module: crm_partner_assign
#: field:crm.lead.report.assign,partner_id:0
msgid "Customer"
msgstr "Үйлчлүүлэгч"
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,month:0
msgid "February"
msgstr "2-р сар"
#. module: crm_partner_assign
#: field:res.partner.activation,name:0
msgid "Name"
msgstr "Нэр"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.res_partner_activation_act
#: model:ir.ui.menu,name:crm_partner_assign.res_partner_activation_config_mi
msgid "Partner Activations"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,country_id:0
#: view:crm.partner.report.assign:0
#: field:crm.partner.report.assign,country_id:0
msgid "Country"
msgstr "Улс"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,year:0
msgid "Year"
msgstr "Жил"
#. module: crm_partner_assign
#: view:res.partner:0
msgid "Convert to Opportunity"
msgstr "Боломж руу хөрвүүлэх"
#. module: crm_partner_assign
#: view:crm.lead:0
msgid "Geo Assign"
msgstr ""
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
msgid "Delay to open"
msgstr "Нээхээ азнах"
#. module: crm_partner_assign
#: model:ir.actions.act_window,name:crm_partner_assign.action_report_crm_partner_assign
#: model:ir.ui.menu,name:crm_partner_assign.menu_report_crm_partner_assign_tree
msgid "Partnership Analysis"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,notification_ids:0
msgid ""
"Technical field holding the message notifications. Use notified_partner_ids "
"to access notified partners."
msgstr ""
"Зурвас мэдэгдлийг хадгалах талбарын техник нэр. notified_partner_ids-г "
"мэдэгдэл очсон харилцагчид руу хандахдаа хэрэглэ."
#. module: crm_partner_assign
#: view:crm.partner.report.assign:0
msgid "Partner assigned Analysis"
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_report_assign
msgid "CRM Lead Report"
msgstr "CRM Судалгааны Тайлан"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,composition_mode:0
msgid "Composition mode"
msgstr ""
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,model:0
msgid "Related Document Model"
msgstr "Холбогдох Баримтын Модель"
#. module: crm_partner_assign
#: selection:crm.lead.forward.to.partner,history_mode:0
msgid "Case Information"
msgstr ""
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,author_id:0
msgid ""
"Author of the message. If not set, email_from may hold an email address that "
"did not match any partner."
msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_partner_report_assign
msgid "CRM Partner Report"
msgstr ""
#. module: crm_partner_assign
#: selection:crm.lead.report.assign,priority:0
msgid "High"
msgstr "Өндөр"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,partner_ids:0
msgid "Additional contacts"
msgstr "Нэмэлт холбогчид"
#. module: crm_partner_assign
#: help:crm.lead.forward.to.partner,parent_id:0
msgid "Initial thread message."
msgstr "Мөчирийн эхлэлийн зурвас."
#. module: crm_partner_assign
#: field:crm.lead.report.assign,create_date:0
msgid "Create Date"
msgstr "Үүсгэх огноо"
#. module: crm_partner_assign
#: field:crm.lead.forward.to.partner,filter_id:0
msgid "Filters"
msgstr "Шүүлтүүд"
#. module: crm_partner_assign
#: view:crm.lead.report.assign:0
#: field:crm.lead.report.assign,partner_assigned_id:0
#: view:crm.partner.report.assign:0
#: field:crm.partner.report.assign,partner_id:0
#: model:ir.model,name:crm_partner_assign.model_res_partner
msgid "Partner"
msgstr "Харилцагч"

View File

@ -0,0 +1,50 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: decimal_precision
#: field:decimal.precision,digits:0
msgid "Digits"
msgstr "Бројки"
#. module: decimal_precision
#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form
#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form
msgid "Decimal Accuracy"
msgstr "Точност на децимали"
#. module: decimal_precision
#: field:decimal.precision,name:0
msgid "Usage"
msgstr "Употреба"
#. module: decimal_precision
#: sql_constraint:decimal.precision:0
msgid "Only one value can be defined for each given usage!"
msgstr ""
"Само една вредност може да биде дефинирана за секоја дадена употреба!"
#. module: decimal_precision
#: view:decimal.precision:0
msgid "Decimal Precision"
msgstr "Прецизност на децимали"
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_decimal_precision
msgid "decimal.precision"
msgstr "decimal.precision"

View File

@ -20,12 +20,14 @@
##############################################################################
from document import document as nodes
from openerp.tools.safe_eval import safe_eval as eval
import time
import urllib
import uuid
from openerp import SUPERUSER_ID
from openerp.tools.safe_eval import safe_eval as eval
from openerp.addons.document import document as nodes
def dict_filter(srcdic, keys, res=None):
''' Return a copy of srcdic that has only keys set.

View File

@ -1,4 +1,5 @@
import simplejson
import urllib
import openerp.addons.web.http as openerpweb
import openerp.addons.web.controllers.main as webmain
@ -14,11 +15,15 @@ class EDI(openerpweb.Controller):
modules_json = simplejson.dumps(modules)
js = "\n ".join('<script type="text/javascript" src="%s"></script>' % i for i in webmain.manifest_list(req, modules_str, 'js'))
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in webmain.manifest_list(req, modules_str, 'css'))
# `url` may contain a full URL with a valid query string, we basically want to watch out for XML brackets and double-quotes
safe_url = urllib.quote_plus(url,':/?&;=')
return webmain.html_template % {
'js': js,
'css': css,
'modules': modules_json,
'init': 's.edi.edi_import("%s");' % url,
'init': 's.edi.edi_import("%s");' % safe_url,
}
@openerpweb.jsonrequest

87
addons/edi/i18n/mk.po Normal file
View File

@ -0,0 +1,87 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:67
#, python-format
msgid "Reason:"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:60
#, python-format
msgid "The document has been successfully imported!"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:65
#, python-format
msgid "Sorry, the document could not be imported."
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_company
msgid "Companies"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_currency
msgid "Currency"
msgstr ""
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:71
#, python-format
msgid "Document Import Notification"
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:130
#, python-format
msgid "Missing application."
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:131
#, python-format
msgid ""
"The document you are trying to import requires the OpenERP `%s` application. "
"You can install it by connecting as the administrator and opening the "
"configuration assistant."
msgstr ""
#. module: edi
#: code:addons/edi/models/edi.py:47
#, python-format
msgid "'%s' is an invalid external ID"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_res_partner
msgid "Partner"
msgstr ""
#. module: edi
#: model:ir.model,name:edi.model_edi_edi
msgid "EDI Subsystem"
msgstr ""

View File

@ -0,0 +1,488 @@
# Macedonian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-21 13:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 2013-02-22 05:13+0000\n"
"X-Generator: Launchpad (build 16506)\n"
#. module: email_template
#: field:email.template,email_from:0
#: field:email_template.preview,email_from:0
msgid "From"
msgstr ""
#. module: email_template
#: field:mail.compose.message,template_id:0
msgid "Template"
msgstr ""
#. module: email_template
#: help:email.template,ref_ir_value:0
#: help:email_template.preview,ref_ir_value:0
msgid "Sidebar button to open the sidebar action"
msgstr ""
#. module: email_template
#: field:res.partner,opt_out:0
msgid "Opt-Out"
msgstr ""
#. module: email_template
#: field:email.template,email_to:0
#: field:email_template.preview,email_to:0
msgid "To (Emails)"
msgstr ""
#. module: email_template
#: field:email.template,mail_server_id:0
#: field:email_template.preview,mail_server_id:0
msgid "Outgoing Mail Server"
msgstr ""
#. module: email_template
#: help:email.template,ref_ir_act_window:0
#: help:email_template.preview,ref_ir_act_window:0
msgid ""
"Sidebar action to make this template available on records of the related "
"document model"
msgstr ""
#. module: email_template
#: field:email.template,model_object_field:0
#: field:email_template.preview,model_object_field:0
msgid "Field"
msgstr ""
#. module: email_template
#: help:email.template,email_from:0
#: help:email_template.preview,email_from:0
msgid "Sender address (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Remove context action"
msgstr ""
#. module: email_template
#: help:email.template,mail_server_id:0
#: help:email_template.preview,mail_server_id:0
msgid ""
"Optional preferred server for outgoing mails. If not set, the highest "
"priority one will be used."
msgstr ""
#. module: email_template
#: field:email.template,report_name:0
#: field:email_template.preview,report_name:0
msgid "Report Filename"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Preview"
msgstr ""
#. module: email_template
#: field:email.template,reply_to:0
#: field:email_template.preview,reply_to:0
msgid "Reply-To"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Use template"
msgstr ""
#. module: email_template
#: field:email.template,body_html:0
#: field:email_template.preview,body_html:0
msgid "Body"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:244
#, python-format
msgid "%s (copy)"
msgstr ""
#. module: email_template
#: help:email.template,user_signature:0
#: help:email_template.preview,user_signature:0
msgid ""
"If checked, the user's signature will be appended to the text version of the "
"message"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "SMTP Server"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Save as new template"
msgstr ""
#. module: email_template
#: help:email.template,sub_object:0
#: help:email_template.preview,sub_object:0
msgid ""
"When a relationship field is selected as first field, this field shows the "
"document model the relationship goes to."
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_email_template
msgid "Email Templates"
msgstr ""
#. module: email_template
#: help:email.template,report_name:0
#: help:email_template.preview,report_name:0
msgid ""
"Name to use for the generated report file (may contain placeholders)\n"
"The extension can be omitted and will then come from the report type."
msgstr ""
#. module: email_template
#: field:email.template,ref_ir_act_window:0
#: field:email_template.preview,ref_ir_act_window:0
msgid "Sidebar action"
msgstr ""
#. module: email_template
#: help:email.template,lang:0
#: help:email_template.preview,lang:0
msgid ""
"Optional translation language (ISO code) to select when sending out an "
"email. If not set, the english version will be used. This should usually be "
"a placeholder expression that provides the appropriate language code, e.g. "
"${object.partner_id.lang.code}."
msgstr ""
#. module: email_template
#: field:email_template.preview,res_id:0
msgid "Sample Document"
msgstr ""
#. module: email_template
#: help:email.template,model_object_field:0
#: help:email_template.preview,model_object_field:0
msgid ""
"Select target field from the related document model.\n"
"If it is a relationship field you will be able to select a target field at "
"the destination of the relationship."
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Dynamic Value Builder"
msgstr ""
#. module: email_template
#: model:ir.actions.act_window,name:email_template.wizard_email_template_preview
msgid "Template Preview"
msgstr ""
#. module: email_template
#: view:mail.compose.message:0
msgid "Save as a new template"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid ""
"Display an option on related documents to open a composition wizard with "
"this template"
msgstr ""
#. module: email_template
#: help:email.template,email_cc:0
#: help:email_template.preview,email_cc:0
msgid "Carbon copy recipients (placeholders may be used here)"
msgstr ""
#. module: email_template
#: help:email.template,email_to:0
#: help:email_template.preview,email_to:0
msgid "Comma-separated recipient addresses (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Advanced"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Preview of"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Using sample document"
msgstr ""
#. module: email_template
#: view:email.template:0
#: model:ir.actions.act_window,name:email_template.action_email_template_tree_all
#: model:ir.ui.menu,name:email_template.menu_email_templates
msgid "Templates"
msgstr ""
#. module: email_template
#: field:email.template,name:0
#: field:email_template.preview,name:0
msgid "Name"
msgstr ""
#. module: email_template
#: field:email.template,lang:0
#: field:email_template.preview,lang:0
msgid "Language"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_email_template_preview
msgid "Email Template Preview"
msgstr ""
#. module: email_template
#: view:email_template.preview:0
msgid "Email Preview"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid ""
"Remove the contextual action to use this template on related documents"
msgstr ""
#. module: email_template
#: field:email.template,copyvalue:0
#: field:email_template.preview,copyvalue:0
msgid "Placeholder Expression"
msgstr ""
#. module: email_template
#: field:email.template,sub_object:0
#: field:email_template.preview,sub_object:0
msgid "Sub-model"
msgstr ""
#. module: email_template
#: help:email.template,subject:0
#: help:email_template.preview,subject:0
msgid "Subject (placeholders may be used here)"
msgstr ""
#. module: email_template
#: help:email.template,reply_to:0
#: help:email_template.preview,reply_to:0
msgid "Preferred response address (placeholders may be used here)"
msgstr ""
#. module: email_template
#: field:email.template,ref_ir_value:0
#: field:email_template.preview,ref_ir_value:0
msgid "Sidebar Button"
msgstr ""
#. module: email_template
#: field:email.template,report_template:0
#: field:email_template.preview,report_template:0
msgid "Optional report to print and attach"
msgstr ""
#. module: email_template
#: help:email.template,null_value:0
#: help:email_template.preview,null_value:0
msgid "Optional value to use if the target field is empty"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Model"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_mail_compose_message
msgid "Email composition wizard"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Add context action"
msgstr ""
#. module: email_template
#: help:email.template,model_id:0
#: help:email_template.preview,model_id:0
msgid "The kind of document with with this template can be used"
msgstr ""
#. module: email_template
#: field:email.template,email_recipients:0
#: field:email_template.preview,email_recipients:0
msgid "To (Partners)"
msgstr ""
#. module: email_template
#: field:email.template,auto_delete:0
#: field:email_template.preview,auto_delete:0
msgid "Auto Delete"
msgstr ""
#. module: email_template
#: help:email.template,copyvalue:0
#: help:email_template.preview,copyvalue:0
msgid ""
"Final placeholder expression, to be copy-pasted in the desired template "
"field."
msgstr ""
#. module: email_template
#: field:email.template,model:0
#: field:email_template.preview,model:0
msgid "Related Document Model"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Addressing"
msgstr ""
#. module: email_template
#: help:email.template,email_recipients:0
#: help:email_template.preview,email_recipients:0
msgid ""
"Comma-separated ids of recipient partners (placeholders may be used here)"
msgstr ""
#. module: email_template
#: field:email.template,attachment_ids:0
#: field:email_template.preview,attachment_ids:0
msgid "Attachments"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:231
#, python-format
msgid "Deletion of the action record failed."
msgstr ""
#. module: email_template
#: field:email.template,email_cc:0
#: field:email_template.preview,email_cc:0
msgid "Cc"
msgstr ""
#. module: email_template
#: field:email.template,model_id:0
#: field:email_template.preview,model_id:0
msgid "Applies to"
msgstr ""
#. module: email_template
#: field:email.template,sub_model_object_field:0
#: field:email_template.preview,sub_model_object_field:0
msgid "Sub-field"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Email Details"
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:196
#, python-format
msgid "Send Mail (%s)"
msgstr ""
#. module: email_template
#: help:res.partner,opt_out:0
msgid ""
"If checked, this partner will not receive any automated email notifications, "
"such as the availability of invoices."
msgstr ""
#. module: email_template
#: help:email.template,auto_delete:0
#: help:email_template.preview,auto_delete:0
msgid "Permanently delete this email after sending it, to save space"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Group by..."
msgstr ""
#. module: email_template
#: help:email.template,sub_model_object_field:0
#: help:email_template.preview,sub_model_object_field:0
msgid ""
"When a relationship field is selected as first field, this field lets you "
"select the target field within the destination document model (sub-model)."
msgstr ""
#. module: email_template
#: code:addons/email_template/email_template.py:231
#, python-format
msgid "Warning"
msgstr ""
#. module: email_template
#: field:email.template,user_signature:0
#: field:email_template.preview,user_signature:0
msgid "Add Signature"
msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_res_partner
msgid "Partner"
msgstr ""
#. module: email_template
#: field:email.template,null_value:0
#: field:email_template.preview,null_value:0
msgid "Default Value"
msgstr ""
#. module: email_template
#: help:email.template,attachment_ids:0
#: help:email_template.preview,attachment_ids:0
msgid ""
"You may attach files to this template, to be added to all emails created "
"from this template"
msgstr ""
#. module: email_template
#: help:email.template,body_html:0
#: help:email_template.preview,body_html:0
msgid "Rich-text/HTML version of the message (placeholders may be used here)"
msgstr ""
#. module: email_template
#: view:email.template:0
msgid "Contents"
msgstr ""
#. module: email_template
#: field:email.template,subject:0
#: field:email_template.preview,subject:0
msgid "Subject"
msgstr ""

View File

@ -45,8 +45,8 @@ class test_message_compose(TestMailBase):
# Mail data
_subject1 = 'Pigs'
_subject2 = 'Bird'
_body_html1 = '<div><p>Fans of Pigs, unite !\n</p><p>Admin</p></div>'
_body_html2 = '<div><p>I am angry !\n</p><p>Admin</p></div>'
_body_html1 = 'Fans of Pigs, unite !'
_body_html2 = 'I am angry !'
_attachments = [
{'name': 'First', 'datas_fname': 'first.txt', 'datas': base64.b64encode('My first attachment')},
{'name': 'Second', 'datas_fname': 'second.txt', 'datas': base64.b64encode('My second attachment')}
@ -113,7 +113,7 @@ class test_message_compose(TestMailBase):
partner_ids = self.res_partner.search(cr, uid, [('email', 'in', ['b@b.b', 'c@c.c', 'd@d.d'])])
# Test: mail.compose.message: subject, body, partner_ids
self.assertEqual(compose.subject, _subject1, 'mail.compose.message subject incorrect')
self.assertEqual(compose.body, _body_html1, 'mail.compose.message body incorrect')
self.assertIn(_body_html1, compose.body, 'mail.compose.message body incorrect')
self.assertEqual(set(message_pids), set(partner_ids), 'mail.compose.message partner_ids incorrect')
# Test: mail.compose.message: attachments
# Test: mail.message: attachments
@ -159,8 +159,8 @@ class test_message_compose(TestMailBase):
# Test: subject, body
self.assertEqual(message_pigs.subject, _subject1, 'mail.message subject on Pigs incorrect')
self.assertEqual(message_bird.subject, _subject2, 'mail.message subject on Bird incorrect')
self.assertEqual(message_pigs.body, _body_html1, 'mail.message body on Pigs incorrect')
self.assertEqual(message_bird.body, _body_html2, 'mail.message body on Bird incorrect')
self.assertIn(_body_html1, message_pigs.body, 'mail.message body on Pigs incorrect')
self.assertIn(_body_html2, message_bird.body, 'mail.message body on Bird incorrect')
# Test: partner_ids: p_a_id (default) + 3 newly created partners
message_pigs_pids = [partner.id for partner in message_pigs.notified_partner_ids]
message_bird_pids = [partner.id for partner in message_bird.notified_partner_ids]

View File

@ -150,8 +150,8 @@ class mail_compose_message(osv.TransientModel):
values = {}
# get values to return
email_dict = super(mail_compose_message, self).render_message(cr, uid, wizard, res_id, context)
email_dict.update(values)
return email_dict
values.update(email_dict)
return values
def render_template(self, cr, uid, template, model, res_id, context=None):
return self.pool.get('email.template').render_template(cr, uid, template, model, res_id, context=context)

View File

@ -49,7 +49,7 @@
</group>
<group string="Actions to Perform on Incoming Mails">
<field name="object_id" on_change="onchange_server_type(type, is_ssl, object_id)"/>
<field name="action_id"/>
<field name="action_id" groups="base.group_no_one"/>
</group>
<group attrs="{'invisible' : [('type', '!=', 'local')]}" string="Configuration">
<field name="configuration" colspan="4"/>

1912
addons/fleet/i18n/cs.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,188 @@
# Mongolian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-19 02:49+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-02-20 04:50+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: google_docs
#: code:addons/google_docs/google_docs.py:139
#, python-format
msgid "Key Error!"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a presentation (slide show) document with url like "
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
".p`, the ID is `presentation:123456789`"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a text document with url like "
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
"`document:123456789`"
msgstr ""
#. module: google_docs
#: field:google.docs.config,gdocs_resource_id:0
msgid "Google Resource ID to Use as Template"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a drawing document with url like "
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
"`drawings:123456789`"
msgstr ""
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/xml/gdocs.xml:6
#, python-format
msgid "Add Google Doc..."
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"This is the id of the template document, on google side. You can find it "
"thanks to its URL:"
msgstr ""
#. module: google_docs
#: model:ir.model,name:google_docs.model_google_docs_config
msgid "Google Docs templates config"
msgstr ""
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/js/gdocs.js:25
#, python-format
msgid ""
"The user google credentials are not set yet. Contact your administrator for "
"help."
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a spreadsheet document with url like "
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
"the ID is `spreadsheet:123456789`"
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:101
#, python-format
msgid ""
"Your resource id is not correct. You can find the id in the google docs URL."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:125
#, python-format
msgid "Creating google docs may only be done by one at a time."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:56
#: code:addons/google_docs/google_docs.py:101
#: code:addons/google_docs/google_docs.py:125
#, python-format
msgid "Google Docs Error!"
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:56
#, python-format
msgid "Check your google configuration in Users/Users/Synchronization tab."
msgstr ""
#. module: google_docs
#: model:ir.ui.menu,name:google_docs.menu_gdocs_config
msgid "Google Docs configuration"
msgstr ""
#. module: google_docs
#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config
#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config
msgid "Models configuration"
msgstr "Моделийн тохиргоо"
#. module: google_docs
#: field:google.docs.config,model_id:0
msgid "Model"
msgstr "Модел"
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/js/gdocs.js:28
#, python-format
msgid "User Google credentials are not yet set."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:139
#, python-format
msgid "Your Google Doc Name Pattern's key does not found in object."
msgstr ""
#. module: google_docs
#: help:google.docs.config,name_template:0
msgid ""
"Choose how the new google docs will be named, on google side. Eg. "
"gdoc_%(field_name)s"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid "Google Docs Configuration"
msgstr ""
#. module: google_docs
#: help:google.docs.config,gdocs_resource_id:0
msgid ""
"\n"
"This is the id of the template document, on google side. You can find it "
"thanks to its URL: \n"
"*for a text document with url like "
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
"`document:123456789`\n"
"*for a spreadsheet document with url like "
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
"the ID is `spreadsheet:123456789`\n"
"*for a presentation (slide show) document with url like "
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
".p`, the ID is `presentation:123456789`\n"
"*for a drawing document with url like "
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
"`drawings:123456789`\n"
"...\n"
msgstr ""
#. module: google_docs
#: model:ir.model,name:google_docs.model_ir_attachment
msgid "ir.attachment"
msgstr ""
#. module: google_docs
#: field:google.docs.config,name_template:0
msgid "Google Doc Name Pattern"
msgstr ""

View File

@ -0,0 +1,188 @@
# Swedish translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2013-02-15 14:26+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <sv@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: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: google_docs
#: code:addons/google_docs/google_docs.py:139
#, python-format
msgid "Key Error!"
msgstr "Nyckelfel!"
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a presentation (slide show) document with url like "
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
".p`, the ID is `presentation:123456789`"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a text document with url like "
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
"`document:123456789`"
msgstr ""
#. module: google_docs
#: field:google.docs.config,gdocs_resource_id:0
msgid "Google Resource ID to Use as Template"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a drawing document with url like "
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
"`drawings:123456789`"
msgstr ""
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/xml/gdocs.xml:6
#, python-format
msgid "Add Google Doc..."
msgstr "Lägg till Google-dokument..."
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"This is the id of the template document, on google side. You can find it "
"thanks to its URL:"
msgstr ""
#. module: google_docs
#: model:ir.model,name:google_docs.model_google_docs_config
msgid "Google Docs templates config"
msgstr ""
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/js/gdocs.js:25
#, python-format
msgid ""
"The user google credentials are not set yet. Contact your administrator for "
"help."
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid ""
"for a spreadsheet document with url like "
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
"the ID is `spreadsheet:123456789`"
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:101
#, python-format
msgid ""
"Your resource id is not correct. You can find the id in the google docs URL."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:125
#, python-format
msgid "Creating google docs may only be done by one at a time."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:56
#: code:addons/google_docs/google_docs.py:101
#: code:addons/google_docs/google_docs.py:125
#, python-format
msgid "Google Docs Error!"
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:56
#, python-format
msgid "Check your google configuration in Users/Users/Synchronization tab."
msgstr ""
#. module: google_docs
#: model:ir.ui.menu,name:google_docs.menu_gdocs_config
msgid "Google Docs configuration"
msgstr ""
#. module: google_docs
#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config
#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config
msgid "Models configuration"
msgstr ""
#. module: google_docs
#: field:google.docs.config,model_id:0
msgid "Model"
msgstr ""
#. module: google_docs
#. openerp-web
#: code:addons/google_docs/static/src/js/gdocs.js:28
#, python-format
msgid "User Google credentials are not yet set."
msgstr ""
#. module: google_docs
#: code:addons/google_docs/google_docs.py:139
#, python-format
msgid "Your Google Doc Name Pattern's key does not found in object."
msgstr ""
#. module: google_docs
#: help:google.docs.config,name_template:0
msgid ""
"Choose how the new google docs will be named, on google side. Eg. "
"gdoc_%(field_name)s"
msgstr ""
#. module: google_docs
#: view:google.docs.config:0
msgid "Google Docs Configuration"
msgstr ""
#. module: google_docs
#: help:google.docs.config,gdocs_resource_id:0
msgid ""
"\n"
"This is the id of the template document, on google side. You can find it "
"thanks to its URL: \n"
"*for a text document with url like "
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
"`document:123456789`\n"
"*for a spreadsheet document with url like "
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
"the ID is `spreadsheet:123456789`\n"
"*for a presentation (slide show) document with url like "
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
".p`, the ID is `presentation:123456789`\n"
"*for a drawing document with url like "
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
"`drawings:123456789`\n"
"...\n"
msgstr ""
#. module: google_docs
#: model:ir.model,name:google_docs.model_ir_attachment
msgid "ir.attachment"
msgstr ""
#. module: google_docs
#: field:google.docs.config,name_template:0
msgid "Google Doc Name Pattern"
msgstr ""

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2012-05-10 18:17+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-15 18:13+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:48+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: hr
#: model:process.node,name:hr.process_node_openerpuser0
@ -24,7 +24,7 @@ msgstr "OpenERP felhasználó"
#. module: hr
#: field:hr.config.settings,module_hr_timesheet_sheet:0
msgid "Allow timesheets validation by managers"
msgstr ""
msgstr "Engedélyezze az időkimutatások vezetőség általi megerősítését"
#. module: hr
#: field:hr.job,requirements:0
@ -58,11 +58,14 @@ msgid ""
"128x128px image, with aspect ratio preserved. Use this field in form views "
"or some kanban views."
msgstr ""
"Közepes méretű fotó az alkalmazottakról. Automatikusan átméretezett mint "
"128x128px kép, az arányok megtartása mellett. Használja ezt a mezőt a forma "
"nézetben és egyes kanban nézetben."
#. module: hr
#: view:hr.config.settings:0
msgid "Time Tracking"
msgstr ""
msgstr "Idő követés"
#. module: hr
#: view:hr.employee:0
@ -78,12 +81,12 @@ msgstr "Saját osztály létrehozása"
#. module: hr
#: help:hr.job,no_of_employee:0
msgid "Number of employees currently occupying this job position."
msgstr ""
msgstr "Alakalmazottak száma akik jelenleg betöltik ezt az állás pozíciót."
#. module: hr
#: field:hr.config.settings,module_hr_evaluation:0
msgid "Organize employees periodic evaluation"
msgstr ""
msgstr "Alkalmazottak szervezése időközönkénti értékeléssel"
#. module: hr
#: view:hr.department:0
@ -98,7 +101,7 @@ msgstr "Osztály, részleg"
#. module: hr
#: field:hr.employee,work_email:0
msgid "Work Email"
msgstr ""
msgstr "Munkahelyi e-mail"
#. module: hr
#: help:hr.employee,image:0
@ -106,11 +109,13 @@ msgid ""
"This field holds the image used as photo for the employee, limited to "
"1024x1024px."
msgstr ""
"Ez a mező tartalmazza a képet amit az alkalmazottakhoz használ, limitált "
"méret 1024x1024px."
#. module: hr
#: help:hr.config.settings,module_hr_holidays:0
msgid "This installs the module hr_holidays."
msgstr ""
msgstr "Ez a hr_holidays modult telepíti."
#. module: hr
#: view:hr.job:0
@ -125,7 +130,7 @@ msgstr "Toborzás folyamatban"
#. module: hr
#: field:hr.job,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Olvasatlan üzenetek"
#. module: hr
#: field:hr.department,company_id:0
@ -143,33 +148,33 @@ msgstr "Várható felvételek"
#. module: hr
#: field:res.users,employee_ids:0
msgid "Related employees"
msgstr ""
msgstr "Ide kapcsolódó alkalmazottak"
#. module: hr
#: constraint:hr.employee.category:0
msgid "Error! You cannot create recursive Categories."
msgstr ""
msgstr "Hiba! Nem tud többszörös kategóriát létrehozni."
#. module: hr
#: help:hr.config.settings,module_hr_recruitment:0
msgid "This installs the module hr_recruitment."
msgstr ""
msgstr "Ez a hr_recruitment modult telepíti."
#. module: hr
#: view:hr.employee:0
msgid "Birth"
msgstr ""
msgstr "Született"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_categ_form
#: model:ir.ui.menu,name:hr.menu_view_employee_category_form
msgid "Employee Tags"
msgstr ""
msgstr "Alkalmazott címke"
#. module: hr
#: view:hr.job:0
msgid "Launch Recruitement"
msgstr ""
msgstr "Ebéd igénylés"
#. module: hr
#: model:process.transition,name:hr.process_transition_employeeuser0
@ -194,22 +199,22 @@ msgstr "Házas"
#. module: hr
#: field:hr.job,message_ids:0
msgid "Messages"
msgstr ""
msgstr "Üzenetek"
#. module: hr
#: view:hr.config.settings:0
msgid "Talent Management"
msgstr ""
msgstr "Képesség kezelés"
#. module: hr
#: help:hr.config.settings,module_hr_timesheet_sheet:0
msgid "This installs the module hr_timesheet_sheet."
msgstr ""
msgstr "Ez a hr_timesheet_sheet modult telepíti."
#. module: hr
#: view:hr.employee:0
msgid "Mobile:"
msgstr ""
msgstr "Mobil:"
#. module: hr
#: view:hr.employee:0
@ -219,12 +224,12 @@ msgstr "Beosztás"
#. module: hr
#: help:hr.job,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
#. module: hr
#: field:hr.employee,color:0
msgid "Color Index"
msgstr ""
msgstr "Szín meghatározó"
#. module: hr
#: model:process.transition,note:hr.process_transition_employeeuser0
@ -232,11 +237,13 @@ msgid ""
"The Related user field on the Employee form allows to link the OpenERP user "
"(and her rights) to the employee."
msgstr ""
"Az alkalmazott űrlapján ide vonatkozó felhasználó mező lehetővé teszi az "
"OpenERP felhasználó (és jogosultságai) hozzárendelését az alkalmazottakhoz."
#. module: hr
#: field:hr.employee,image_medium:0
msgid "Medium-sized photo"
msgstr ""
msgstr "Közepes méretű fotó"
#. module: hr
#: field:hr.employee,identification_id:0
@ -277,7 +284,7 @@ msgstr "Iroda címe"
#. module: hr
#: field:hr.job,message_follower_ids:0
msgid "Followers"
msgstr ""
msgstr "Követők"
#. module: hr
#: view:hr.employee:0
@ -298,6 +305,9 @@ msgid ""
"image, with aspect ratio preserved. Use this field anywhere a small image is "
"required."
msgstr ""
"Kis méretű fotó az alkalmazottról. Automatikusan átméretezve 64x64px képre, "
"az arányok megtartás mellett. Használja ezt mezőt bárhol ahol kisméretű "
"képet igényel."
#. module: hr
#: field:hr.employee,birthday:0
@ -307,12 +317,12 @@ msgstr "Születési idő"
#. module: hr
#: help:hr.job,no_of_recruitment:0
msgid "Number of new employees you expect to recruit."
msgstr ""
msgstr "A felvenni kívánt alkalmazottak száma"
#. module: hr
#: model:ir.actions.client,name:hr.action_client_hr_menu
msgid "Open HR Menu"
msgstr ""
msgstr "Munkaügy HR menü megnyitása"
#. module: hr
#: help:hr.job,message_summary:0
@ -320,6 +330,8 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés "
"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe."
#. module: hr
#: help:hr.config.settings,module_account_analytic_analysis:0
@ -327,6 +339,8 @@ msgid ""
"This installs the module account_analytic_analysis, which will install sales "
"management too."
msgstr ""
"Ez az account_analytic_analysis modult telepíti, amely az értékesítés "
"kezelést is magában foglalja."
#. module: hr
#: view:board.board:0
@ -343,7 +357,7 @@ msgstr "Munka"
#. module: hr
#: field:hr.job,no_of_employee:0
msgid "Current Number of Employees"
msgstr ""
msgstr "Jelenlegi alkalmazottak száma"
#. module: hr
#: field:hr.department,member_ids:0

View File

@ -21,7 +21,6 @@
import time
from openerp import netsvc
from openerp.osv import fields, osv
from openerp.tools.translate import _
@ -152,7 +151,6 @@ class hr_expense_expense(osv.osv):
account_journal = self.pool.get('account.journal')
voucher_obj = self.pool.get('account.voucher')
currency_obj = self.pool.get('res.currency')
wkf_service = netsvc.LocalService("workflow")
if context is None:
context = {}
for exp in self.browse(cr, uid, ids, context=context):

View File

@ -24,10 +24,9 @@
import datetime
import time
from itertools import groupby
from operator import itemgetter
from operator import attrgetter, itemgetter
import math
from openerp import netsvc
from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
@ -304,10 +303,8 @@ class hr_holidays(osv.osv):
'manager_id': False,
'manager_id2': False,
})
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_delete(uid, 'hr.holidays', id, cr)
wf_service.trg_create(uid, 'hr.holidays', id, cr)
self.delete_workflow(cr, uid, ids)
self.create_workflow(cr, uid, ids)
to_unlink = []
for record in self.browse(cr, uid, ids, context=context):
for record2 in record.linked_request_ids:
@ -370,11 +367,11 @@ class hr_holidays(osv.osv):
'employee_id': emp.id
}
leave_ids.append(self.create(cr, uid, vals, context=None))
wf_service = netsvc.LocalService("workflow")
for leave_id in leave_ids:
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'confirm', cr)
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'validate', cr)
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'second_validate', cr)
# TODO is it necessary to interleave the calls?
self.signal_confirm(cr, uid, [leave_id])
self.signal_validate(cr, uid, [leave_id])
self.signal_second_validate(cr, uid, [leave_id])
return True
def holidays_confirm(self, cr, uid, ids, context=None):
@ -404,9 +401,7 @@ class hr_holidays(osv.osv):
meeting_obj.unlink(cr, uid, [record.meeting_id.id])
# If a category that created several holidays, cancel all related
wf_service = netsvc.LocalService("workflow")
for request in record.linked_request_ids or []:
wf_service.trg_validate(uid, 'hr.holidays', request.id, 'refuse', cr)
self.signal_refuse(cr, uid, map(attrgetter('id'), record.linked_request_ids or []))
self._remove_resource_leave(cr, uid, ids, context=context)
return True
@ -478,10 +473,9 @@ class hr_employee(osv.osv):
leave_id = holiday_obj.create(cr, uid, {'name': _('Leave Request for %s') % employee.name, 'employee_id': employee.id, 'holiday_status_id': status_id, 'type': 'remove', 'holiday_type': 'employee', 'number_of_days_temp': abs(diff)}, context=context)
else:
return False
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'confirm', cr)
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'validate', cr)
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'second_validate', cr)
holidays_obj.signal_confirm(cr, uid, [leave_id])
holidays_obj.signal_validate(cr, uid, [leave_id])
holidays_obj.signal_second_validate(cr, uid, [leave_id])
return True
def _get_remaining_days(self, cr, uid, ids, name, args, context=None):

View File

@ -18,10 +18,8 @@
I again set to draft and then confirm.
-
!python {model: hr.holidays}: |
from openerp import netsvc
wf_service = netsvc.LocalService("workflow")
self.set_to_draft(cr, uid, [ref('hr_holidays_employee1_cl')])
wf_service.trg_validate(uid, 'hr.holidays', ref('hr_holidays_employee1_cl'), 'confirm', cr)
self.set_to_draft(cr, uid, [ref('hr_holidays_employee1_cl')])
self.signal_confirm(cr, uid, [ref('hr_holidays_employee1_cl')])
-
I validate the holiday request by clicking on "To Approve" button.
-

View File

@ -26,7 +26,6 @@ from datetime import datetime
from datetime import timedelta
from dateutil import relativedelta
from openerp import netsvc
from openerp.osv import fields, osv
from openerp import tools
from openerp.tools.translate import _
@ -331,13 +330,12 @@ class hr_payslip(osv.osv):
def refund_sheet(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
wf_service = netsvc.LocalService("workflow")
for payslip in self.browse(cr, uid, ids, context=context):
id_copy = self.copy(cr, uid, payslip.id, {'credit_note': True, 'name': _('Refund: ')+payslip.name}, context=context)
self.compute_sheet(cr, uid, [id_copy], context=context)
wf_service.trg_validate(uid, 'hr.payslip', id_copy, 'hr_verify_sheet', cr)
wf_service.trg_validate(uid, 'hr.payslip', id_copy, 'process_sheet', cr)
self.signal_hr_verify_sheet(cr, uid, [id_copy])
self.signal_process_sheet(cr, uid, [id_copy])
form_id = mod_obj.get_object_reference(cr, uid, 'hr_payroll', 'view_hr_payslip_form')
form_res = form_id and form_id[1] or False
tree_id = mod_obj.get_object_reference(cr, uid, 'hr_payroll', 'view_hr_payslip_tree')

View File

@ -104,10 +104,8 @@
I want to check cancel button. So I first cancel the sheet then make it set to draft.
-
!python {model: hr.payslip}: |
from openerp import netsvc
wf_service = netsvc.LocalService("workflow")
self.cancel_sheet(cr, uid, [ref("hr_payslip_0")], None)
wf_service.trg_validate(uid, 'hr.payslip', ref("hr_payslip_0"), 'draft', cr)
self.signal_draft(cr, uid, [ref("hr_payslip_0")])
-
Then I click on the "Confirm" button.
-

View File

@ -371,7 +371,6 @@ class hr_applicant(base_stage, osv.Model):
update_vals = {}
update_vals.update({
'description': msg.get('body'),
'email_from': msg.get('from'),
'email_cc': msg.get('cc'),
})

View File

@ -187,6 +187,8 @@
domain="[('date_action','&lt;&gt;',False)]" help="Filter and view on next actions and date"/>
<field name="job_id"/>
<field name="user_id"/>
<separator/>
<field name="categ_ids"/>
<group expand="0" string="Group By...">
<filter string="Responsible" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Department" domain="[]" context="{'group_by':'department_id'}"/>

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2012-05-17 13:22+0000\n"
"Last-Translator: Herczeg Péter <hp@erp-cloud.hu>\n"
"PO-Revision-Date: 2013-02-20 14:04+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:58+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-21 05:14+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: hr_recruitment
#: help:hr.applicant,active:0
@ -22,6 +22,8 @@ msgid ""
"If the active field is set to false, it will allow you to hide the case "
"without removing it."
msgstr ""
"Ha az aktív mező hamisra van állítva, akkor lehetővé teszi az eset "
"eltüntetését, annak eltávolítása nélkül."
#. module: hr_recruitment
#: view:hr.recruitment.stage:0
@ -37,12 +39,12 @@ msgstr ""
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Start Interview"
msgstr ""
msgstr "Interjú elindítás"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Mobile:"
msgstr ""
msgstr "Mobil:"
#. module: hr_recruitment
#: help:hr.recruitment.stage,fold:0
@ -50,6 +52,8 @@ msgid ""
"This stage is not visible, for example in status bar or kanban view, when "
"there are no records in that stage to display."
msgstr ""
"Ez a szint nem látható, például az állapot sorban vagy kanban nézetben, ha "
"azon a szinten nem lehet rekordot kijelezni."
#. module: hr_recruitment
#: model:hr.recruitment.degree,name:hr_recruitment.degree_graduate
@ -59,12 +63,12 @@ msgstr "Diplomás"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Group By..."
msgstr "Csoportosítás..."
msgstr "Csoportosítás ezzel..."
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Filter and view on next actions and date"
msgstr ""
msgstr "Szűrés és nézet a következő műveletnél és dátumnál"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -82,7 +86,7 @@ msgstr "Következő művelet időpontja"
#. module: hr_recruitment
#: field:hr.applicant,salary_expected_extra:0
msgid "Expected Salary Extra"
msgstr ""
msgstr "Elvárt extra jövedelem"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -98,7 +102,7 @@ msgstr "Függő állások"
#: view:hr.applicant:0
#: field:hr.applicant,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Olvasatlan üzenetek"
#. module: hr_recruitment
#: field:hr.applicant,company_id:0
@ -112,13 +116,13 @@ msgstr "Vállalat"
#: model:ir.actions.act_window,name:hr_recruitment.hr_recruitment_source_action
#: model:ir.ui.menu,name:hr_recruitment.menu_hr_recruitment_source
msgid "Sources of Applicants"
msgstr ""
msgstr "Pályázók forrása"
#. module: hr_recruitment
#: code:addons/hr_recruitment/hr_recruitment.py:435
#, python-format
msgid "You must define Applied Job for this applicant."
msgstr ""
msgstr "Meg kell határoznia egy betöltött állást ehhez a jelentkezőhöz"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -128,7 +132,7 @@ msgstr "Munka"
#. module: hr_recruitment
#: field:hr.recruitment.partner.create,close:0
msgid "Close job request"
msgstr ""
msgstr "Állás igénylés lezárása"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.crm_case_categ0_act_job
@ -151,12 +155,29 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson új állásra jelentkező hozzáadásához.\n"
" </p><p>\n"
" OpenERP segít a jelentkezők nyomon követéséhez a felvétel\n"
" folyamatában és az összes művelet nyomon követésében: "
"találkozók, interjúk, stb.\n"
" </p><p>\n"
" Ha beállította az e-mail csatornát, akkor a jelentkezők és "
"azok \n"
" melléklet CV önéletrajza automatikusan létre lesz hozva ha e-"
"mailt küld ide\n"
" munka@azönvállalkozása.com. Ha a dokumentum kezelő modult\n"
" telepíti, minden szakmai önéletrajz automatikusan indexelve "
"lesz, így\n"
" könnyen kereshet a teljes tartalomban.\n"
" </p>\n"
" "
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.crm_case_categ0_act_job
#: model:ir.ui.menu,name:hr_recruitment.menu_crm_case_categ0_act_job
msgid "Applications"
msgstr ""
msgstr "Alkalmazások"
#. module: hr_recruitment
#: field:hr.applicant,day_open:0
@ -166,12 +187,12 @@ msgstr "Megnyitásig hátralévő napok"
#. module: hr_recruitment
#: field:hr.applicant,emp_id:0
msgid "employee"
msgstr ""
msgstr "Alkalmazott"
#. module: hr_recruitment
#: field:hr.config.settings,fetchmail_applicants:0
msgid "Create applicants from an incoming email account"
msgstr ""
msgstr "Jelentkező létrehozása egy beérkezett e-mail fiókból"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -183,7 +204,7 @@ msgstr "Nap"
#: view:hr.recruitment.partner.create:0
#: model:ir.actions.act_window,name:hr_recruitment.action_hr_recruitment_partner_create
msgid "Create Contact"
msgstr ""
msgstr "Kapcsolat létrehozása"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -193,7 +214,7 @@ msgstr "Visszautasít"
#. module: hr_recruitment
#: model:hr.recruitment.degree,name:hr_recruitment.degree_licenced
msgid "Master Degree"
msgstr ""
msgstr "Mester fokozat"
#. module: hr_recruitment
#: field:hr.applicant,partner_mobile:0
@ -215,12 +236,12 @@ msgstr "Következő műveletek"
#: code:addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py:56
#, python-format
msgid "Error!"
msgstr ""
msgstr "Hiba!"
#. module: hr_recruitment
#: model:hr.recruitment.degree,name:hr_recruitment.degree_bac5
msgid "Doctoral Degree"
msgstr ""
msgstr "Doktorátusi fokozat"
#. module: hr_recruitment
#: field:hr.applicant,job_id:0
@ -234,21 +255,23 @@ msgid ""
"Stages of the recruitment process may be different per department. If this "
"stage is common to all departments, keep this field empty."
msgstr ""
"A toborzás szakaszai eltérhetnek osztályonként. Ha ez a szakasz minden "
"osztálynak közös, akkor ezt a mezőt hagyja üresen."
#. module: hr_recruitment
#: help:hr.applicant,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
#. module: hr_recruitment
#: field:hr.applicant,color:0
msgid "Color Index"
msgstr ""
msgstr "Szín meghatározó"
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.act_hr_applicant_to_meeting
msgid "Meetings"
msgstr ""
msgstr "Találkozók"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -259,12 +282,12 @@ msgstr "Pályázók státusza"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "My Recruitment"
msgstr ""
msgstr "Én toborzásaim"
#. module: hr_recruitment
#: field:hr.job,survey_id:0
msgid "Interview Form"
msgstr ""
msgstr "Interjú űrlap"
#. module: hr_recruitment
#: help:hr.job,survey_id:0
@ -272,6 +295,9 @@ msgid ""
"Choose an interview form for this job position and you will be able to "
"print/answer this interview from all applicants who apply for this job"
msgstr ""
"Vállaaszon ki egy interjú űrlapot ehhez az álláshoz és akkor ki tudja "
"nyomtatni/ meg tudja válaszolni ezt az interjút azokkal a jelentkezőkkel "
"akik jelentkeztek erre az állásra."
#. module: hr_recruitment
#: model:ir.ui.menu,name:hr_recruitment.menu_hr_recruitment_recruitment
@ -284,12 +310,14 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés "
"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe."
#. module: hr_recruitment
#: code:addons/hr_recruitment/hr_recruitment.py:435
#, python-format
msgid "Warning!"
msgstr ""
msgstr "Figyelem!"
#. module: hr_recruitment
#: field:hr.recruitment.report,salary_prop:0
@ -323,7 +351,7 @@ msgstr "Javasolt fizetés"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_recruitment_source
msgid "Source of Applicants"
msgstr ""
msgstr "Jelentkezők forrása"
#. module: hr_recruitment
#: view:hr.recruitment.partner.create:0
@ -338,12 +366,12 @@ msgstr "Toborzási statisztika"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Print interview report"
msgstr ""
msgstr "Interjú jelentés nyomtatás"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "Hired employees"
msgstr ""
msgstr "Felvett alkalmazottak"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_job
@ -354,22 +382,22 @@ msgstr "Munkaköri leírás"
#: view:hr.applicant:0
#: field:hr.applicant,source_id:0
msgid "Source"
msgstr ""
msgstr "Forrás"
#. module: hr_recruitment
#: field:hr.applicant,message_follower_ids:0
msgid "Followers"
msgstr ""
msgstr "Követők"
#. module: hr_recruitment
#: model:hr.recruitment.source,name:hr_recruitment.source_monster
msgid "Monster"
msgstr ""
msgstr "Monster/szörny"
#. module: hr_recruitment
#: model:mail.message.subtype,name:hr_recruitment.mt_applicant_hired
msgid "Applicant Hired"
msgstr ""
msgstr "Felvett jelentkező"
#. module: hr_recruitment
#: field:hr.applicant,email_from:0
@ -389,6 +417,14 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson a felvételi folyamat új szakaszának hozzáadásához.\n"
" </p><p>\n"
" Itt határozza meg a felvételi folyamatok szakaszait, például:\n"
" képzésre felhívás, első interjú, második interjú, elutasított,\n"
" felvett.\n"
" </p>\n"
" "
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -406,6 +442,8 @@ msgid ""
"Email alias for this job position. New emails will automatically create new "
"applicants for this job position."
msgstr ""
"e-mail álnév ehhez az állás pozícióhoz. Ide érkező új e-mailek automatikusan "
"létrehoznak jelentkezőket erre az állásra."
#. module: hr_recruitment
#: selection:hr.applicant,priority:0
@ -429,7 +467,7 @@ msgstr "Létrehozás dátuma"
#: model:ir.actions.act_window,name:hr_recruitment.action_hr_recruitment_hired_employee
#: model:ir.model,name:hr_recruitment.model_hired_employee
msgid "Create Employee"
msgstr ""
msgstr "Alkalmazott létrehozás"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -441,12 +479,12 @@ msgstr "Elismerés"
#. module: hr_recruitment
#: model:hr.recruitment.stage,name:hr_recruitment.stage_job1
msgid "Initial Qualification"
msgstr ""
msgstr "Elsődleges végzettség"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Print Interview"
msgstr ""
msgstr "Interjú kinyomtatás"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -465,7 +503,7 @@ msgstr "Második interjú"
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.hr_job_stage_act
msgid "Recruitment / Applicants Stages"
msgstr ""
msgstr "Toborzás / Pályázati szakaszok"
#. module: hr_recruitment
#: field:hr.applicant,salary_expected:0
@ -481,7 +519,7 @@ msgstr "Július"
#. module: hr_recruitment
#: field:hr.applicant,email_cc:0
msgid "Watchers Emails"
msgstr ""
msgstr "Email örző"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -492,7 +530,7 @@ msgstr "Pályázók"
#: code:addons/hr_recruitment/hr_recruitment.py:351
#, python-format
msgid "No Subject"
msgstr ""
msgstr "Nincs tárgy"
#. module: hr_recruitment
#: field:hr.recruitment.report,salary_exp:0
@ -507,7 +545,7 @@ msgstr "Pályázó"
#. module: hr_recruitment
#: help:hr.recruitment.stage,sequence:0
msgid "Gives the sequence order when displaying a list of stages."
msgstr ""
msgstr "Sorozati rendet ad a szakaszok lista nézetében."
#. module: hr_recruitment
#: field:hr.applicant,partner_id:0
@ -517,7 +555,7 @@ msgstr "Kapcsolat"
#. module: hr_recruitment
#: help:hr.applicant,salary_expected_extra:0
msgid "Salary Expected by Applicant, extra advantages"
msgstr ""
msgstr "A jelentkező által elvárt fizetés, extra előnyök"
#. module: hr_recruitment
#: help:hr.applicant,state:0
@ -528,6 +566,11 @@ msgid ""
"the case needs to be reviewed then the status is set "
"to 'Pending'."
msgstr ""
"Az állapot 'Terv', az ügy létrehozásakor. Ha az ügy "
"folyamatban van akkor az állapota 'Nyitott'. Ha az ügy "
"elintézve akkor az állapota 'Elvégezve'. Ha az ügyet át "
"kell tekinteni akkor az állapota be lesz állítva "
"'Függőben'."
#. module: hr_recruitment
#: selection:hr.recruitment.report,month:0
@ -544,7 +587,7 @@ msgstr "Szakaszok"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "Draft recruitment"
msgstr ""
msgstr "Toborzás tervezet"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -559,12 +602,12 @@ msgstr "Folyamatban"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Hire & Create Employee"
msgstr ""
msgstr "Felvétel & alkalmazott létrehozás"
#. module: hr_recruitment
#: model:mail.message.subtype,description:hr_recruitment.mt_applicant_hired
msgid "Applicant hired"
msgstr ""
msgstr "Jelentkező felvéve"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -595,17 +638,17 @@ msgstr "December"
#: code:addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py:39
#, python-format
msgid "A contact is already defined on this job request."
msgstr ""
msgstr "Ehhez az állás igényléshez már van kapcsolat meghatározva."
#. module: hr_recruitment
#: field:hr.applicant,categ_ids:0
msgid "Tags"
msgstr ""
msgstr "Címkék"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_applicant_category
msgid "Category of applicant"
msgstr ""
msgstr "Jelentkező kategóriája"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -616,7 +659,7 @@ msgstr "Hónap"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Answer related job question"
msgstr ""
msgstr "Kapcsolódó állás kérdés válasza"
#. module: hr_recruitment
#: model:hr.recruitment.stage,name:hr_recruitment.stage_job2
@ -643,17 +686,17 @@ msgstr "Tárgy"
#: view:hired.employee:0
#: view:hr.recruitment.partner.create:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: hr_recruitment
#: model:mail.message.subtype,name:hr_recruitment.mt_applicant_refused
msgid "Applicant Refused"
msgstr ""
msgstr "Jelentkező elutasítva"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Schedule Meeting"
msgstr ""
msgstr "Találkozó ütemezése"
#. module: hr_recruitment
#: field:hr.applicant,partner_name:0
@ -694,7 +737,7 @@ msgstr "Várható fizetések kérelmezőnként"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "All Initial Jobs"
msgstr ""
msgstr "Munden elsődleges állás"
#. module: hr_recruitment
#: help:hr.applicant,email_cc:0
@ -703,11 +746,14 @@ msgid ""
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
msgstr ""
"Ezek az email címek lesznek hozzáadva a CC /Carbon copy,másolat/ mezőhöz "
"minden bejövő és kimenő email-hez amit ezzel a feljegyzéssel küld. Több "
"email felsorolását vesszővel elválasztva adja meg."
#. module: hr_recruitment
#: model:ir.ui.menu,name:hr_recruitment.menu_hr_recruitment_degree
msgid "Degrees"
msgstr ""
msgstr "Fokozat"
#. module: hr_recruitment
#: field:hr.applicant,date_closed:0
@ -723,7 +769,7 @@ msgstr "Szakasz meghatározása"
#. module: hr_recruitment
#: field:hr.recruitment.report,delay_close:0
msgid "Avg. Delay to Close"
msgstr ""
msgstr "Átl. bezárási idő"
#. module: hr_recruitment
#: help:hr.applicant,salary_proposed:0
@ -749,13 +795,13 @@ msgstr "Státusz"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Schedule interview with this applicant"
msgstr ""
msgstr "Ennek a jelentkezőnek az interjú ütemezése"
#. module: hr_recruitment
#: code:addons/hr_recruitment/hr_recruitment.py:397
#, python-format
msgid "Applicant <b>created</b>"
msgstr ""
msgstr "Jelentkező <b>létrehozva</b>"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -785,7 +831,7 @@ msgstr "Lezárásig hátralévő napok"
#. module: hr_recruitment
#: field:hr.applicant,message_is_follower:0
msgid "Is a Follower"
msgstr ""
msgstr "Ez egy követő"
#. module: hr_recruitment
#: field:hr.recruitment.report,user_id:0
@ -807,7 +853,7 @@ msgstr "Aktív"
#: view:hr.recruitment.report:0
#: field:hr.recruitment.report,nbr:0
msgid "# of Applications"
msgstr ""
msgstr "# Pályázati kiírás"
#. module: hr_recruitment
#: model:ir.actions.act_window,help:hr_recruitment.hr_recruitment_stage_act
@ -821,6 +867,14 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson a toborzás új szakaszának hozzáadásához.\n"
" </p><p>\n"
" Ne felejtse el részletezni az osztály megadását ha a toborzási "
"folyamatai\n"
" eltérőek az állással illetően.\n"
" </p>\n"
" "
#. module: hr_recruitment
#: field:hr.applicant,response:0
@ -835,12 +889,12 @@ msgstr "Október"
#. module: hr_recruitment
#: field:hr.config.settings,module_document_ftp:0
msgid "Allow the automatic indexation of resumes"
msgstr ""
msgstr "Engedje meg az önéletrajzok automatikus inexálását"
#. module: hr_recruitment
#: field:hr.applicant,salary_proposed_extra:0
msgid "Proposed Salary Extra"
msgstr ""
msgstr "Javasolt kiegészítő jövedelem"
#. module: hr_recruitment
#: selection:hr.recruitment.report,month:0
@ -851,17 +905,17 @@ msgstr "Január"
#: code:addons/hr_recruitment/wizard/hr_recruitment_create_partner_job.py:56
#, python-format
msgid "A contact is already existing with the same name."
msgstr ""
msgstr "Ezzel a névvel már létezik kapcsolat."
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.hr_recruitment_stage_form_installer
msgid "Review Recruitment Stages"
msgstr ""
msgstr "Toborzási szakaszok felülvizsgálata"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Contact:"
msgstr ""
msgstr "Kapcsolat:"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -882,12 +936,12 @@ msgstr "Felmérés"
#. module: hr_recruitment
#: view:hired.employee:0
msgid "Would you like to create an employee ?"
msgstr ""
msgstr "Létre akar hozni egy alkalmazottat?"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Degree:"
msgstr ""
msgstr "Fok:"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -901,11 +955,14 @@ msgid ""
"forget to specify the department if your recruitment process is different "
"according to the job position."
msgstr ""
"Jelölje, ha a következő állapot egyezik a toborzási folyamatával. Ne "
"felejtse az osztály meghatározását ha a toborzási folyamat különbözik a "
"betöltendő állástól."
#. module: hr_recruitment
#: view:hr.config.settings:0
msgid "Configure"
msgstr ""
msgstr "Beállítás"
#. module: hr_recruitment
#: model:hr.recruitment.stage,name:hr_recruitment.stage_job4
@ -920,7 +977,7 @@ msgstr "Cég weboldala"
#. module: hr_recruitment
#: sql_constraint:hr.recruitment.degree:0
msgid "The name of the Degree of Recruitment must be unique!"
msgstr ""
msgstr "A toborzási fok nevének egyedinek kell lennie!"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
@ -938,6 +995,7 @@ msgstr "Mégse"
#: view:hr.recruitment.partner.create:0
msgid "Are you sure you want to create a contact based on this job request ?"
msgstr ""
"Bizton létre akarja hozni a kapcsolati űrlapot az állás igénylés alapján?"
#. module: hr_recruitment
#: help:hr.config.settings,fetchmail_applicants:0
@ -946,6 +1004,9 @@ msgid ""
"(jobs@mycompany.com),\n"
" and create automatically application documents in the system."
msgstr ""
"Lehetővé teszi a jelentkezőknek, hogy a jelentkezésüket egy e-mail címre "
"elküldjék (munka@azönvállalkozása.com),\n"
" és automatikus jelentkezési lapot hozzon létre a rendszerben."
#. module: hr_recruitment
#: view:hr.applicant:0
@ -957,17 +1018,17 @@ msgstr "Folyamatban"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Subject / Applicant"
msgstr ""
msgstr "Tárgy / Jelentkező"
#. module: hr_recruitment
#: help:hr.recruitment.degree,sequence:0
msgid "Gives the sequence order when displaying a list of degrees."
msgstr ""
msgstr "Sorrendet ad a fokozatok listakénti megjelenítésénél."
#. module: hr_recruitment
#: model:mail.message.subtype,description:hr_recruitment.mt_stage_changed
msgid "Stage changed"
msgstr ""
msgstr "Szakasz megváltoztatva"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -986,17 +1047,17 @@ msgstr "Toborzás elemzése"
#. module: hr_recruitment
#: view:hired.employee:0
msgid "Create New Employee"
msgstr ""
msgstr "Új alkalmazott létrehozása"
#. module: hr_recruitment
#: model:hr.recruitment.source,name:hr_recruitment.source_linkedin
msgid "LinkedIn"
msgstr ""
msgstr "LinkedIn"
#. module: hr_recruitment
#: model:mail.message.subtype,name:hr_recruitment.mt_job_new_applicant
msgid "New Applicant"
msgstr ""
msgstr "Új pályázó"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_recruitment_stage
@ -1006,7 +1067,7 @@ msgstr "Toborzási szakasz"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Cases By Stage and Estimates"
msgstr ""
msgstr "Szakasz és lehetőségenkénti esetek"
#. module: hr_recruitment
#: view:hr.applicant:0
@ -1026,12 +1087,12 @@ msgstr "Interjú"
#. module: hr_recruitment
#: field:hr.recruitment.source,name:0
msgid "Source Name"
msgstr ""
msgstr "Forrásnév"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Day(s)"
msgstr ""
msgstr "Nap(ok)"
#. module: hr_recruitment
#: field:hr.applicant,description:0
@ -1041,7 +1102,7 @@ msgstr "Leírás"
#. module: hr_recruitment
#: model:mail.message.subtype,name:hr_recruitment.mt_stage_changed
msgid "Stage Changed"
msgstr ""
msgstr "Szint megváltoztatva"
#. module: hr_recruitment
#: selection:hr.recruitment.report,month:0
@ -1061,7 +1122,7 @@ msgstr ""
#. module: hr_recruitment
#: field:hr.recruitment.stage,fold:0
msgid "Hide in views if empty"
msgstr ""
msgstr "Ne mutassa a nézetekben, ha üres"
#. module: hr_recruitment
#: help:hr.config.settings,module_document_ftp:0
@ -1071,6 +1132,11 @@ msgid ""
"knowledge management module in order to allow you to search using specific "
"keywords through the content of all documents (PDF, .DOCx...)"
msgstr ""
"Az összes jelentkezőhöz tartozó Önéletrajz CV és motivációs levél kezelése.\n"
" Ez a document_ftp modult telepíti. Ez a knowledge management "
"- tudás kezelés modult telepíti ahhoz, hogy lehetővé tegye az egyéni "
"kulcsszó alapján való keresést az összes dokumentum tartalma alapján (PDF, "
".DOCx...)"
#. module: hr_recruitment
#: selection:hr.applicant,state:0
@ -1086,38 +1152,38 @@ msgstr "Elutasított"
#: selection:hr.recruitment.report,state:0
#: selection:hr.recruitment.stage,state:0
msgid "Hired"
msgstr ""
msgstr "Felvett"
#. module: hr_recruitment
#: field:hr.applicant,reference:0
msgid "Referred By"
msgstr ""
msgstr "Előterjesztette"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Departement:"
msgstr ""
msgstr "Osztály:"
#. module: hr_recruitment
#: selection:hr.applicant,priority:0
#: selection:hr.recruitment.report,priority:0
msgid "On Average"
msgstr ""
msgstr "Átlagon"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_recruitment_degree
msgid "Degree of Recruitment"
msgstr ""
msgstr "Toborzás mértéke"
#. module: hr_recruitment
#: field:hr.recruitment.report,salary_prop_avg:0
msgid "Avg. Proposed Salary"
msgstr ""
msgstr "Ajánlott kereset átlaga"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Open Jobs"
msgstr ""
msgstr "Nyitott állások"
#. module: hr_recruitment
#: selection:hr.recruitment.report,month:0
@ -1145,17 +1211,17 @@ msgstr "November"
#. module: hr_recruitment
#: field:hr.recruitment.report,salary_exp_avg:0
msgid "Avg. Expected Salary"
msgstr ""
msgstr "Kívánt kereset átl."
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "Avg Expected Salary"
msgstr ""
msgstr "Kívánt kereset átlaga"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_recruitment_partner_create
msgid "Create Partner from job application"
msgstr ""
msgstr "Partner létrehozás az állás jelentkezésből"
#. module: hr_recruitment
#: help:hr.applicant,email_from:0
@ -1165,42 +1231,42 @@ msgstr "Ezek az emberek fogják megkapni az e-mailt."
#. module: hr_recruitment
#: field:hr.job,alias_id:0
msgid "Alias"
msgstr ""
msgstr "Álnév"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "Pending recruitment"
msgstr ""
msgstr "Eldöntetlen toborzás"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Contract"
msgstr ""
msgstr "Szerződés"
#. module: hr_recruitment
#: field:hr.applicant,message_summary:0
msgid "Summary"
msgstr ""
msgstr "Összegzés"
#. module: hr_recruitment
#: help:hr.applicant,message_ids:0
msgid "Messages and communication history"
msgstr ""
msgstr "Üzenetek és kommunikáció történet"
#. module: hr_recruitment
#: model:mail.message.subtype,description:hr_recruitment.mt_applicant_refused
msgid "Applicant refused"
msgstr ""
msgstr "Jelentkező elutasítva"
#. module: hr_recruitment
#: field:hr.recruitment.stage,department_id:0
msgid "Specific to a Department"
msgstr ""
msgstr "Osztályhoz kötődő"
#. module: hr_recruitment
#: view:hr.recruitment.report:0
msgid "In progress recruitment"
msgstr ""
msgstr "Folyamatban lévő toborzás"
#. module: hr_recruitment
#: field:hr.recruitment.degree,sequence:0
@ -1211,17 +1277,17 @@ msgstr "Sorszám"
#. module: hr_recruitment
#: model:hr.recruitment.degree,name:hr_recruitment.degree_bachelor
msgid "Bachelor Degree"
msgstr ""
msgstr "Tudományos fokozat"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Unassigned Recruitments"
msgstr ""
msgstr "Kijelöletlen toborzások"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_hr_config_settings
msgid "hr.config.settings"
msgstr ""
msgstr "hr.config.settings"
#. module: hr_recruitment
#: help:hr.recruitment.stage,state:0
@ -1231,16 +1297,20 @@ msgid ""
"related to the status 'Close', when your document reach this stage, it will "
"be automatically closed."
msgstr ""
"A szakasszal összefüggő állapot. A dokumentuma állapota automatikusan "
"változik a kiválasztott szakasz szerint. Például, egy szakasz a 'Lezárt' "
"állapothoz tartozik, ha a dokumentum eléri ezt a szakaszt, akkor "
"automatikusan le lesz zárva."
#. module: hr_recruitment
#: help:hr.applicant,salary_proposed_extra:0
msgid "Salary Proposed by the Organisation, extra advantages"
msgstr ""
msgstr "Fizetés a szervezet, extra előny által javasolva"
#. module: hr_recruitment
#: help:hr.recruitment.report,delay_close:0
msgid "Number of Days to close the project issue"
msgstr ""
msgstr "Az ügy lezárásáig használt napok száma."
#. module: hr_recruitment
#: selection:hr.recruitment.report,state:0
@ -1250,12 +1320,12 @@ msgstr "Nyitott"
#. module: hr_recruitment
#: view:board.board:0
msgid "Applications to be Processed"
msgstr ""
msgstr "Jelentkezések feldolgozásra"
#. module: hr_recruitment
#: view:hr.applicant:0
msgid "Schedule Interview"
msgstr ""
msgstr "Interjú ütemezés"
#~ msgid "# of Cases"
#~ msgstr "Igények száma"

View File

@ -9,7 +9,6 @@
</record>
<record id="hr.employee" model="hr.employee">
<field name="product_id" ref="product.product_product_consultant"/>
<field name="journal_id" ref="analytic_journal"/>
</record>

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2012-05-10 17:49+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-19 10:49+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:41+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-20 04:50+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: hr_timesheet
#: model:ir.actions.act_window,help:hr_timesheet.act_analytic_cost_revenue
@ -41,6 +41,28 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" Nincs még tevékenység ezen a szerződésen.\n"
" </p><p>\n"
" Az OpenERP, szerződések és projektek beágyazottak az elemző "
"számla\n"
" használatába. Így, nyomon követheti a költségeit és "
"bevételeit az \n"
" árkülönbözet könnyű elemzéséhez.\n"
" </p><p>\n"
" Automatikusan lesz a költség létrehozva amint rögzíti a "
"beszállítók\n"
" számláit, kiadásait vagy időkimutatásait.\n"
" </p><p>\n"
" Automatikusan lesz bevétel létrehozva amikor a vevőknek "
"számlákat\n"
" készít. Vevők számláit létrehozhatja a megrendelések "
"alapján\n"
" (fix árú számlák), időkimutatásokon (az elvégzett munka "
"alapján) vagy\n"
" költségeken (pl. az utazás költségei újraszámlázása).\n"
" </p>\n"
" "
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:44
@ -75,7 +97,7 @@ msgstr ""
#. module: hr_timesheet
#: field:hr.employee,uom_id:0
msgid "Unit of Measure"
msgstr ""
msgstr "Mértékegység"
#. module: hr_timesheet
#: field:hr.employee,journal_id:0
@ -103,7 +125,7 @@ msgstr "Munkaidő-kimutatás"
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
#, python-format
msgid "Please define employee for this user!"
msgstr ""
msgstr "Kérem határozzon meg alkalmazottat ehhez a felhasználóhoz!"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:44
@ -129,7 +151,7 @@ msgstr "P"
#: model:ir.actions.act_window,name:hr_timesheet.act_hr_timesheet_line_evry1_all_form
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_working_hours
msgid "Timesheet Activities"
msgstr ""
msgstr "Időkimutatás tevékenységek"
#. module: hr_timesheet
#: field:hr.sign.out.project,analytic_amount:0
@ -166,12 +188,12 @@ msgstr "Alkalmazotti munkaidő-kimutatás nyomtatása"
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
#, python-format
msgid "Please define employee for your user."
msgstr ""
msgstr "Kérem határozzon meg alkalmazottat a felhasználójához."
#. module: hr_timesheet
#: model:ir.actions.act_window,name:hr_timesheet.act_analytic_cost_revenue
msgid "Costs & Revenues"
msgstr ""
msgstr "Költségek & Árbevételek"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:44
@ -188,7 +210,7 @@ msgstr "Gyűjtőkód"
#. module: hr_timesheet
#: view:account.analytic.account:0
msgid "Costs and Revenues"
msgstr ""
msgstr "Költségek és Árbevételek"
#. module: hr_timesheet
#: code:addons/hr_timesheet/hr_timesheet.py:144
@ -198,7 +220,7 @@ msgstr ""
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
#, python-format
msgid "Warning!"
msgstr ""
msgstr "Figyelem!"
#. module: hr_timesheet
#: field:hr.analytic.timesheet,partner_id:0
@ -222,7 +244,7 @@ msgstr "V"
#. module: hr_timesheet
#: xsl:hr.analytical.timesheet:0
msgid "Sum"
msgstr ""
msgstr "Összeg"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
@ -244,6 +266,18 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson tevékenységek rögzítéséhez.\n"
" </p><p>\n"
" Regisztrálhatja és nyomon követheti a projektenkénti munka "
"órákat minden\n"
" nap. Minden idő amit ezen a projekten eltölt költség lesz az "
"\n"
" analitikus/elemző számlán/szerződésen és újra-számlázható a "
"vevő felé\n"
" ha szükséges.\n"
" </p>\n"
" "
#. module: hr_timesheet
#: view:hr.analytical.timesheet.employee:0
@ -254,7 +288,7 @@ msgstr "Nyomtatás"
#. module: hr_timesheet
#: help:account.analytic.account,use_timesheets:0
msgid "Check this field if this project manages timesheets"
msgstr ""
msgstr "Jelölje ki ezt a mezőt, ha ez a projekt időkimutatásokat kezel"
#. module: hr_timesheet
#: view:hr.analytical.timesheet.users:0
@ -280,7 +314,7 @@ msgstr "Indulás dátuma"
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
#, python-format
msgid "Please define cost unit for this employee."
msgstr ""
msgstr "Kérem hetározzon meg költség egységet ennek az alkalmazottnak."
#. module: hr_timesheet
#: help:hr.employee,product_id:0
@ -296,6 +330,9 @@ msgid ""
"No analytic account is defined on the project.\n"
"Please set one or we cannot automatically fill the timesheet."
msgstr ""
"Nincs analitikai/elemző számla meghatározva a projekthez.\n"
"Kérem egy beállítását vagy különben nem lehet automatikus időkimutatást "
"készíteni."
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
@ -309,6 +346,9 @@ msgid ""
"No 'Analytic Journal' is defined for employee %s \n"
"Define an employee for the selected user and assign an 'Analytic Journal'!"
msgstr ""
"Nincs 'analitika/Elemző jelentés' meghatározva az alkalmazotthoz %s \n"
"Határozzon meg egy alkalmazottat a kiválasztott felhasználóhoz és jelöljön "
"ki egy 'Analitikai/elemző jelentést'!"
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:41
@ -350,12 +390,12 @@ msgstr "Munka leírása"
#: view:hr.sign.in.project:0
#: view:hr.sign.out.project:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: hr_timesheet
#: xsl:hr.analytical.timesheet:0
msgid "Timesheet by Employee"
msgstr ""
msgstr "Alaklmazonkénti időkimutatás"
#. module: hr_timesheet
#: model:ir.actions.report.xml,name:hr_timesheet.report_user_timesheet
@ -398,6 +438,9 @@ msgid ""
"analyse costs and revenues. In OpenERP, analytic accounts are also used to "
"track customer contracts."
msgstr ""
"Létre kell hoznia egy analitikai/elemző számla felépítést a költség és "
"bevétel elemzés igényeitől függően. Az OpenERP, elemző számláit a vevők "
"szerződéseinek nyomon követésére is használja."
#. module: hr_timesheet
#: field:hr.analytic.timesheet,line_id:0
@ -420,6 +463,8 @@ msgid ""
"No analytic journal defined for '%s'.\n"
"You should assign an analytic journal on the employee form."
msgstr ""
"Nem lett elemző jelentés meghatározva ehhez '%s'.\n"
"Hozzá kell rendelnie egy elemző jelentést az alkalmazott törzslapján."
#. module: hr_timesheet
#: code:addons/hr_timesheet/report/user_timesheet.py:41
@ -434,7 +479,7 @@ msgstr "Június"
#: field:hr.sign.in.project,state:0
#: field:hr.sign.out.project,state:0
msgid "Current Status"
msgstr ""
msgstr "Jelenlegi állapot"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
@ -500,7 +545,7 @@ msgstr "Alkalmazotti ID"
#. module: hr_timesheet
#: view:hr.analytical.timesheet.users:0
msgid "Period"
msgstr ""
msgstr "Időszak"
#. module: hr_timesheet
#: view:hr.sign.out.project:0
@ -614,6 +659,8 @@ msgid ""
"Please create an employee for this user, using the menu: Human Resources > "
"Employees."
msgstr ""
"Kérem hozzon létre egy alkalmazottat ehhez a felhasználóhoz, ennek a menünek "
"a használatával: Emberi erőforrás > Alkalmazottak"
#. module: hr_timesheet
#: view:hr.analytical.timesheet.users:0
@ -643,7 +690,7 @@ msgstr "Április"
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
#, python-format
msgid "User Error!"
msgstr ""
msgstr "Felhasználói hiba!"
#. module: hr_timesheet
#: view:hr.sign.in.project:0
@ -659,7 +706,7 @@ msgstr "Év"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
msgid "Duration"
msgstr ""
msgstr "Időtartam"
#. module: hr_timesheet
#: view:hr.analytic.timesheet:0
@ -670,7 +717,7 @@ msgstr "Könyvelés"
#: xsl:hr.analytical.timesheet:0
#: xsl:hr.analytical.timesheet_users:0
msgid "Total"
msgstr ""
msgstr "Összesen"
#. module: hr_timesheet
#: view:hr.sign.out.project:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-03-03 15:08+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-19 10:15+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:43+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-20 04:50+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: hr_timesheet_invoice
#: view:report.timesheet.line:0
@ -25,7 +25,7 @@ msgstr "Felhasználó szerinti munkaidő-kimutatás"
#. module: hr_timesheet_invoice
#: field:hr_timesheet_invoice.factor,name:0
msgid "Internal Name"
msgstr ""
msgstr "Belső név"
#. module: hr_timesheet_invoice
#: view:hr_timesheet_invoice.factor:0
@ -38,18 +38,20 @@ msgid ""
"The product to invoice is defined on the employee form, the price will be "
"deducted by this pricelist on the product."
msgstr ""
"Az alkalmazott űrlapján van a számlázandó termék meghatározva, az ár le lesz "
"vonva a termékről ennek az árlistának megfelelően."
#. module: hr_timesheet_invoice
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py:58
#, python-format
msgid "No record(s) found for this report."
msgstr ""
msgstr "Ehhez a jelentéhez nincs rekord(ok)."
#. module: hr_timesheet_invoice
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py:58
#, python-format
msgid "Insufficient Data!"
msgstr ""
msgstr "Nincs elegendő adat!"
#. module: hr_timesheet_invoice
#: view:report.timesheet.line:0
@ -69,17 +71,17 @@ msgstr "Bevétel"
#. module: hr_timesheet_invoice
#: field:hr.timesheet.invoice.create.final,name:0
msgid "Log of Activity"
msgstr ""
msgstr "Tevékenység naplózása"
#. module: hr_timesheet_invoice
#: view:account.analytic.account:0
msgid "Re-open project"
msgstr ""
msgstr "Projekt újboli megnyitása"
#. module: hr_timesheet_invoice
#: field:report.account.analytic.line.to.invoice,product_uom_id:0
msgid "Unit of Measure"
msgstr ""
msgstr "Mértékegység"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_report_timesheet_user
@ -104,7 +106,7 @@ msgstr "Nyereség"
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:144
#, python-format
msgid "You cannot modify an invoiced analytic line!"
msgstr ""
msgstr "Nem módosíthat egy számlázott elemzési sort!"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_hr_timesheet_invoice_factor
@ -128,6 +130,9 @@ msgid ""
"Fill this field only if you want to force to use a specific product. Keep "
"empty to use the real product that comes from the cost."
msgstr ""
"Csak akkor töltse ki ezt a mezőt, ha kényszeríti egy jellegzetes termék "
"használatára. Hagyja üresen, ha az tényleges terméket használja, ami a "
"költségekből lett áthozva."
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,help:hr_timesheet_invoice.action_hr_timesheet_invoice_factor_form
@ -145,6 +150,18 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Kattintson egy új típusú számlázás használatához.\n"
" </p><p>\n"
" OpenERP lehetővé teszi alapértelmezett szálázási módok "
"létrehozását. Lehetősége\n"
" van általános árengedményt hozzárendelni, egy sajátos a "
"megrendelővel kötött szerződés\n"
" vagy megegyezés. Ebből a menüből, lehetősége van\n"
" további számlázás típusok hozzáadására a számlázás "
"felgyorsításához.\n"
" </p>\n"
" "
#. module: hr_timesheet_invoice
#: view:report.timesheet.line:0
@ -165,7 +182,7 @@ msgstr "Kiszámlázott összeg"
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:188
#, python-format
msgid "Analytic Account incomplete !"
msgstr ""
msgstr "Analitikai/Elemző számla nem teljes !"
#. module: hr_timesheet_invoice
#: field:report_timesheet.invoice,account_id:0
@ -175,7 +192,7 @@ msgstr "Projekt"
#. module: hr_timesheet_invoice
#: view:account.analytic.account:0
msgid "Invoice on Timesheets Options"
msgstr ""
msgstr "Számla az időkimutatások feltételein"
#. module: hr_timesheet_invoice
#: field:report.account.analytic.line.to.invoice,amount:0
@ -190,7 +207,7 @@ msgstr "Minden elvégzett munka részletezése megjelenik a számlában"
#. module: hr_timesheet_invoice
#: field:account.analytic.account,pricelist_id:0
msgid "Pricelist"
msgstr ""
msgstr "Árlista"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_hr_timesheet_invoice_create
@ -215,6 +232,10 @@ msgid ""
"20% advance invoice (fixed price, based on a sales order), you should "
"invoice the rest on timesheet with a 80% ratio."
msgstr ""
"Alapértelmezésben az időkimutatások 100% -át kiszámlázza. De ha a fix árat "
"és az időkimutatások számlázását keveri, akkor más feltételeket használhat. "
"Például, ha 20% előlegszámlát ad (fix ár, a megrendelés alapján), akkor a "
"maradék 80% az időkimutatás feltételei szerint számlázza."
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create:0
@ -244,7 +265,7 @@ msgstr "Határidő"
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:246
#, python-format
msgid "Configuration Error!"
msgstr ""
msgstr "Beállítási hiba!"
#. module: hr_timesheet_invoice
#: field:report.analytic.account.close,partner_id:0
@ -259,7 +280,7 @@ msgstr "Minden elvégzett munkára fordított időtartam megjelenik a számlába
#. module: hr_timesheet_invoice
#: view:account.analytic.account:0
msgid "Cancel Contract"
msgstr ""
msgstr "Szarződés visszavonása"
#. module: hr_timesheet_invoice
#: field:hr.timesheet.analytic.profit,date_from:0
@ -269,7 +290,7 @@ msgstr "Kezdő dátum"
#. module: hr_timesheet_invoice
#: report:account.analytic.profit:0
msgid "User or Journal Name"
msgstr ""
msgstr "Felhasználó vagy jelentés neve"
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,name:hr_timesheet_invoice.act_res_users_2_report_timesheet_invoice
@ -281,7 +302,7 @@ msgstr "Kiszámlázandó költségek"
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:246
#, python-format
msgid "Please define income account for product '%s'."
msgstr ""
msgstr "Kérem határozzon meg bevételi számlát erre a termékre '%s'."
#. module: hr_timesheet_invoice
#: field:report.account.analytic.line.to.invoice,account_id:0
@ -311,7 +332,7 @@ msgstr ""
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create.final:0
msgid "Force to use a special product"
msgstr ""
msgstr "Eröltesse a speciális termék használatát"
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,name:hr_timesheet_invoice.action_timesheet_user_stat_all
@ -336,12 +357,12 @@ msgstr "Munkaidő-kimutatás eredménylevezetése"
#. module: hr_timesheet_invoice
#: field:hr.timesheet.invoice.create,product:0
msgid "Force Product"
msgstr ""
msgstr "Eröltetett termék"
#. module: hr_timesheet_invoice
#: view:account.analytic.account:0
msgid "Contract Finished"
msgstr ""
msgstr "Szerződés végrehejtva"
#. module: hr_timesheet_invoice
#: selection:report.account.analytic.line.to.invoice,month:0
@ -355,13 +376,13 @@ msgstr "Július"
#. module: hr_timesheet_invoice
#: field:account.analytic.line,to_invoice:0
msgid "Invoiceable"
msgstr ""
msgstr "Számlázható"
#. module: hr_timesheet_invoice
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py:56
#, python-format
msgid "Warning!"
msgstr ""
msgstr "Figyelem!"
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,name:hr_timesheet_invoice.action_hr_timesheet_invoice_factor_form
@ -377,7 +398,7 @@ msgstr "Elméleti"
#. module: hr_timesheet_invoice
#: model:hr_timesheet_invoice.factor,name:hr_timesheet_invoice.timesheet_invoice_factor3
msgid "Free of charge"
msgstr ""
msgstr "Ingyenes termék"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_report_account_analytic_line_to_invoice
@ -408,7 +429,7 @@ msgstr "Igen (100%)"
#. module: hr_timesheet_invoice
#: view:report_timesheet.user:0
msgid "Timesheet by users"
msgstr ""
msgstr "Felhasználónkénti időkimutatások"
#. module: hr_timesheet_invoice
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_final_invoice_create.py:58
@ -429,7 +450,7 @@ msgstr "December"
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create.final:0
msgid "Invoice contract"
msgstr ""
msgstr "Szerződési számla"
#. module: hr_timesheet_invoice
#: field:report.account.analytic.line.to.invoice,month:0
@ -487,7 +508,7 @@ msgstr "Összesen kiszámlázott összeg"
#. module: hr_timesheet_invoice
#: field:report.analytic.account.close,state:0
msgid "Status"
msgstr ""
msgstr "Állapot"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_account_analytic_line
@ -536,7 +557,7 @@ msgstr "Gyűjtőkód szerinti munkaidő-kimutatás"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_account_move_line
msgid "Journal Items"
msgstr ""
msgstr "Könyvelési tételsorok"
#. module: hr_timesheet_invoice
#: selection:report.account.analytic.line.to.invoice,month:0
@ -605,7 +626,7 @@ msgstr "Dátum"
#: field:report_timesheet.invoice,quantity:0
#: field:report_timesheet.user,quantity:0
msgid "Time"
msgstr ""
msgstr "Idő"
#. module: hr_timesheet_invoice
#: model:ir.model,name:hr_timesheet_invoice.model_hr_timesheet_invoice_create_final
@ -650,6 +671,8 @@ msgid ""
"It allows to set the discount while making invoice, keep empty if the "
"activities should not be invoiced."
msgstr ""
"Lehetővé teszi a számla készítésekor az árengedmény beállítását,hagyja "
"üresen ha a tevékenységen nem kell számlázni."
#. module: hr_timesheet_invoice
#: field:account.analytic.account,amount_max:0
@ -659,7 +682,7 @@ msgstr "Max. számlázható összeg"
#. module: hr_timesheet_invoice
#: field:account.analytic.account,to_invoice:0
msgid "Timesheet Invoicing Ratio"
msgstr ""
msgstr "Időkimutatás számlázási arány"
#. module: hr_timesheet_invoice
#: selection:report.account.analytic.line.to.invoice,month:0
@ -710,7 +733,7 @@ msgstr "Záró dátum"
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create:0
msgid "Do you want to show details of work in invoice?"
msgstr ""
msgstr "Meg akarja jeleníteni a munka részleteit a számlán?"
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create:0
@ -718,7 +741,7 @@ msgstr ""
#: model:ir.actions.act_window,name:hr_timesheet_invoice.action_hr_timesheet_invoice_create
#: model:ir.actions.act_window,name:hr_timesheet_invoice.action_hr_timesheet_invoice_create_final
msgid "Create Invoice"
msgstr ""
msgstr "Számla létrehozás"
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,name:hr_timesheet_invoice.act_res_users_2_report_timehsheet_account
@ -745,7 +768,7 @@ msgstr "Kiszámlázandó munkaidő-kimutatások"
#, python-format
msgid ""
"Contract incomplete. Please fill in the Customer and Pricelist fields."
msgstr ""
msgstr "Létrehozás nem teljes. Töltse kia Vevő és az árlista mezőket."
#. module: hr_timesheet_invoice
#: model:ir.actions.act_window,name:hr_timesheet_invoice.action_timesheet_account_date_stat_all
@ -768,7 +791,7 @@ msgstr "Számlázási típusok"
#. module: hr_timesheet_invoice
#: view:hr.analytic.timesheet:0
msgid "Invoicing"
msgstr ""
msgstr "Számlázás"
#. module: hr_timesheet_invoice
#: selection:report.account.analytic.line.to.invoice,month:0
@ -792,17 +815,17 @@ msgstr "Termék, amelynek a jogcímén a maradványösszeg kiszámlázásra ker
#. module: hr_timesheet_invoice
#: field:hr.timesheet.invoice.create.final,time:0
msgid "Time Spent"
msgstr ""
msgstr "Eltöltött idő"
#. module: hr_timesheet_invoice
#: help:account.analytic.account,amount_max:0
msgid "Keep empty if this contract is not limited to a total fixed price."
msgstr ""
msgstr "Hagyja üresen, ha ez a szerződés nincs korlátozva a teljes fix árra."
#. module: hr_timesheet_invoice
#: view:hr.timesheet.invoice.create.final:0
msgid "Do you want to show details of each activity to your customer?"
msgstr ""
msgstr "Meg akarja jeleníteni minden tevékenység részletét a vevő részére?"
#. module: hr_timesheet_invoice
#: view:report_timesheet.invoice:0
@ -831,7 +854,7 @@ msgstr "Név"
#. module: hr_timesheet_invoice
#: view:report.account.analytic.line.to.invoice:0
msgid "Analytic Lines"
msgstr ""
msgstr "Gyűjtőkód sorok"
#. module: hr_timesheet_invoice
#: view:report_timesheet.account.date:0
@ -864,6 +887,8 @@ msgid ""
"There is no product defined. Please select one or force the product through "
"the wizard."
msgstr ""
"Nincs termék meghatározva. Kérem válasszon egyet vagy erőltessen egy "
"terméket a varázslón keresztül."
#. module: hr_timesheet_invoice
#: help:hr_timesheet_invoice.factor,factor:0
@ -874,7 +899,7 @@ msgstr "Engedmény százalékban megadva"
#: code:addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py:56
#, python-format
msgid "Invoice is already linked to some of the analytic line(s)!"
msgstr ""
msgstr "A számla már hozzá van rendelve egyes elemző sor(ok)hoz!"
#. module: hr_timesheet_invoice
#: field:hr.timesheet.invoice.create,name:0
@ -892,19 +917,19 @@ msgstr "Egységek"
#: code:addons/hr_timesheet_invoice/hr_timesheet_invoice.py:233
#, python-format
msgid "Error!"
msgstr ""
msgstr "Hiba!"
#. module: hr_timesheet_invoice
#: model:hr_timesheet_invoice.factor,name:hr_timesheet_invoice.timesheet_invoice_factor4
msgid "80%"
msgstr ""
msgstr "80%"
#. module: hr_timesheet_invoice
#: view:hr.timesheet.analytic.profit:0
#: view:hr.timesheet.invoice.create:0
#: view:hr.timesheet.invoice.create.final:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: hr_timesheet_invoice
#: field:report_timesheet.invoice,manager_id:0
@ -934,7 +959,7 @@ msgstr "Év"
#. module: hr_timesheet_invoice
#: view:hr.timesheet.analytic.profit:0
msgid "Duration"
msgstr ""
msgstr "Időtartam"
#~ msgid " 7 Days "
#~ msgstr " Hetente "

View File

@ -115,6 +115,4 @@
I click on "Create Invoice" button to create Invoice and validate the invoice.
-
!python {model: hr.timesheet.invoice.create.final}: |
from openerp import netsvc
wkf_service = netsvc.LocalService("workflow")
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_agrolait")]})

View File

@ -114,6 +114,4 @@
I click on "Create Invoice" button to create Invoice and validate the invoice.
-
!python {model: hr.timesheet.invoice.create.final}: |
from openerp import netsvc
wkf_service = netsvc.LocalService("workflow")
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_agrolait")]})

View File

@ -25,7 +25,6 @@ from dateutil.relativedelta import relativedelta
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp import netsvc
class hr_timesheet_sheet(osv.osv):
_name = "hr_timesheet_sheet.sheet"
@ -93,8 +92,7 @@ class hr_timesheet_sheet(osv.osv):
self.check_employee_attendance_state(cr, uid, sheet.id, context=context)
di = sheet.user_id.company_id.timesheet_max_difference
if (abs(sheet.total_difference) < di) or not di:
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'hr_timesheet_sheet.sheet', sheet.id, 'confirm', cr)
self.signal_confirm(cr, uid, [sheet.id])
else:
raise osv.except_osv(_('Warning!'), _('Please verify that the total difference of the sheet is lower than %.2f.') %(di,))
return True
@ -192,9 +190,7 @@ class hr_timesheet_sheet(osv.osv):
def action_set_to_draft(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state': 'draft'})
wf_service = netsvc.LocalService('workflow')
for id in ids:
wf_service.trg_create(uid, self._name, id, cr)
self.create_workflow(cr, uid, ids)
return True
def name_get(self, cr, uid, ids, context=None):

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
"PO-Revision-Date: 2011-02-04 14:31+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-19 09:31+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:44+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-20 04:50+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: hr_timesheet_sheet
#: field:hr.analytic.timesheet,sheet_id:0
@ -33,7 +33,7 @@ msgstr "Szolgáltatás"
#: field:hr.timesheet.report,quantity:0
#: field:timesheet.report,quantity:0
msgid "Time"
msgstr ""
msgstr "Idő"
#. module: hr_timesheet_sheet
#: help:hr.config.settings,timesheet_max_difference:0
@ -42,6 +42,9 @@ msgid ""
" computation for one sheet. Set this to 0 if you do not want "
"any control."
msgstr ""
"Megengedett különbség órákban a ki/belépés között és az időkimutatás\n"
" számításon egy lapon. Állítsa be mint 0, ha nem akar "
"szabályozást."
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -76,6 +79,9 @@ msgid ""
"In order to create a timesheet for this employee, you must assign an "
"analytic journal to the employee, like 'Timesheet Journal'."
msgstr ""
"Ahhoz, hogy ennek a munkavállalónak időkimutatást hozzon létre, egy "
"analitikai/összegző jelentést kell hozzáadnia ehhez a munkavállalóhoz, mint "
"'Időkimutatás jelentés'."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@ -92,7 +98,7 @@ msgstr "Költség"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Olvasatlan üzenetek"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -122,7 +128,7 @@ msgstr "Beállítás tervezetnek"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Timesheet Period"
msgstr ""
msgstr "Időkimutatás időszak"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,date_to:0
@ -133,7 +139,7 @@ msgstr "Dátumig"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "to"
msgstr ""
msgstr "ig"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_invoiceonwork0
@ -145,7 +151,7 @@ msgstr "Munkaidő-kimutatás alapján"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:397
#, python-format
msgid "You cannot modify an entry in a confirmed timesheet."
msgstr ""
msgstr "Nem tud módosítani a visszaigazolt időkimutatáson."
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -156,7 +162,7 @@ msgstr "Csoportosítás nap szerint"
#. module: hr_timesheet_sheet
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current
msgid "My Current Timesheet"
msgstr ""
msgstr "Az én jelenlegi időkimutatásom"
#. module: hr_timesheet_sheet
#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_validatetimesheet0
@ -188,13 +194,14 @@ msgstr "Elutasítás"
#: view:hr_timesheet_sheet.sheet:0
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_2_hr_analytic_timesheet
msgid "Timesheet Activities"
msgstr ""
msgstr "Időkimutatás tevékenység"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:38
#, python-format
msgid "Please create an employee and associate it with this user."
msgstr ""
"Kérem hozzon létre egy munkavállalót és társítsa ezzel a felhasználóval."
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:401
@ -203,12 +210,14 @@ msgstr ""
msgid ""
"You cannot enter an attendance date outside the current timesheet dates."
msgstr ""
"Nem írhat be részvételi dátumot, mely túlmutat a jelenlegi időkimutatás "
"dátumain."
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:205
#, python-format
msgid "Week "
msgstr ""
msgstr "Hét "
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_current_open
@ -231,7 +240,7 @@ msgstr ""
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,message_ids:0
msgid "Messages"
msgstr ""
msgstr "Üzenetek"
#. module: hr_timesheet_sheet
#: help:hr_timesheet_sheet.sheet,state:0
@ -243,6 +252,12 @@ msgid ""
"* The 'Done' status is used when users timesheet is accepted by his/her "
"senior."
msgstr ""
" * A 'Terv' állapotot használ, ha a felhasználó olyan új időkimutatást "
"táplál be ami még nincs visszaigazolva. \n"
"* A 'visszaigazolt' állapotot használja, ha egy felhasználó visszaigazolta "
"az időkimutatást. \n"
"* Az 'Elvégezve' állapotot használja, ha a felhasználó időkimutatását "
"elfogadta egy felettese."
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:64
@ -257,13 +272,15 @@ msgstr ""
#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:38
#, python-format
msgid "Error!"
msgstr ""
msgstr "Hiba!"
#. module: hr_timesheet_sheet
#: field:hr.config.settings,timesheet_max_difference:0
msgid ""
"Allow a difference of time between timesheets and attendances of (in hours)"
msgstr ""
"Engedélyezze az időbeni különbséget az időkimutatások és a részvételi idők "
"közt (órában)"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:99
@ -271,6 +288,8 @@ msgstr ""
msgid ""
"Please verify that the total difference of the sheet is lower than %.2f."
msgstr ""
"Ellenőrizze kérem, hogy a teljes különbség a kimutatásokon kevesebb mint "
"%.2f."
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_timesheet_report_stat_all
@ -291,7 +310,7 @@ msgstr "Jóváhagyás"
#. module: hr_timesheet_sheet
#: help:hr_timesheet_sheet.sheet,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:69
@ -301,6 +320,8 @@ msgid ""
"In order to create a timesheet for this employee, you must assign it to a "
"user."
msgstr ""
"Ahhoz, hogy időkimutatást tudjon készíteni ehhez az alkalmazotthoz, hozzá "
"kell rendelnie egy felhasználóhoz."
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_attendance0
@ -312,7 +333,7 @@ msgstr "Alkalmazotti munkaidő-kimutatás tétel"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:215
#, python-format
msgid "Invalid Action!"
msgstr ""
msgstr "Érvénytelen lépés!"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -328,6 +349,8 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés "
"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe."
#. module: hr_timesheet_sheet
#: field:timesheet.report,nbr:0
@ -375,7 +398,7 @@ msgstr "Munkaidő-kimutatás sorok"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,message_follower_ids:0
msgid "Followers"
msgstr ""
msgstr "Követők"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_confirmedtimesheet0
@ -407,7 +430,7 @@ msgstr "Összes idő"
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_form
#: model:ir.ui.menu,name:hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form
msgid "Timesheets to Validate"
msgstr ""
msgstr "Visszaigazolásra váró időkimutatások"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -435,21 +458,21 @@ msgstr "Július"
#. module: hr_timesheet_sheet
#: field:hr.config.settings,timesheet_range:0
msgid "Validate timesheets every"
msgstr ""
msgstr "Igazolja vissza az időkimutatásokat minden"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:73
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:86
#, python-format
msgid "Configuration Error!"
msgstr ""
msgstr "Beállítási hiba!"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,state:0
#: view:timesheet.report:0
#: field:timesheet.report,state:0
msgid "Status"
msgstr ""
msgstr "Állapot"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_workontask0
@ -501,6 +524,8 @@ msgid ""
"In order to create a timesheet for this employee, you must link the employee "
"to a product, like 'Consultant'."
msgstr ""
"Ahhoz, hogy időkimutatást tudjon készíteni ehhez az alkalmazotthoz, az "
"alkalmazottat egy termékhez kell rendelnie, mint 'Tanácsadó'."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@ -552,6 +577,8 @@ msgid ""
"In order to create a timesheet for this employee, you must link the employee "
"to a product."
msgstr ""
"Ahhoz, hogy időkimutatást tudjon készíteni ehhez az alkalmazotthoz, az "
"alkalmazottat egy termékhez kell rendelnie."
#. module: hr_timesheet_sheet
#. openerp-web
@ -561,11 +588,13 @@ msgid ""
"You will be able to register your working hours and\n"
" activities."
msgstr ""
"Lehetősége lesz a munka óráit és a tevékenységeit\n"
" regisztrálnia."
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_invoiceontimesheet0
@ -591,7 +620,7 @@ msgstr "Megjegyzés"
#: code:addons/hr_timesheet_sheet/static/src/xml/timesheet.xml:33
#, python-format
msgid "Add"
msgstr ""
msgstr "Hozzáadás"
#. module: hr_timesheet_sheet
#: view:timesheet.report:0
@ -630,11 +659,25 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p class=\"oe_view_nocontent_create\">\n"
" Új időkimutatás jóváhagyása.\n"
" </p><p>\n"
" Minden nap rögzíteni kell az időkimutatást és visszaigazolni "
"a\n"
" hét végén. Miután az időkimutatás visszaigazolt, egy felső "
"vezetőnek\n"
" kell érvényesíteni azt.\n"
" </p><p>\n"
" Időkimutatást ki is lehet számlázni a vevőknek, a "
"beállítástól\n"
" függően minden a projekthez tartozó szerződéshez.\n"
" </p>\n"
" "
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_account_analytic_line
msgid "Analytic Line"
msgstr ""
msgstr "Gyűjtőkód tételsor"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@ -645,7 +688,7 @@ msgstr "Augusztus"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Differences"
msgstr ""
msgstr "Különbségek"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@ -673,7 +716,7 @@ msgstr "Időszak szerinti munkaidő-kimutatások"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,message_is_follower:0
msgid "Is a Follower"
msgstr ""
msgstr "Ez egy követő"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -731,6 +774,8 @@ msgid ""
"The timesheet cannot be validated as it does not contain an equal number of "
"sign ins and sign outs."
msgstr ""
"Az időkimutatást nem lehet érvényesíteni mivel nem tartalmaz egyenlő "
"számokat a ki és belépésekhez."
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
@ -758,7 +803,7 @@ msgstr "Összegzés"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:215
#, python-format
msgid "You cannot delete a timesheet which have attendance entries."
msgstr ""
msgstr "Nem tud olyan időkimutatást törölni amihez van jelenlét bevitel."
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@ -772,11 +817,13 @@ msgid ""
"You cannot have 2 timesheets that overlap!\n"
"You should use the menu 'My Timesheet' to avoid this problem."
msgstr ""
"Nem lehet 2 olyan időkimutatása ami fedi egymás!\n"
"Használja az 'Én időkimutatásaim' menüt, hogy elkerülhesse ezt a problémát."
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Submit to Manager"
msgstr ""
msgstr "Felső vezetőnek rendelkezésére"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -790,18 +837,18 @@ msgstr "Főkönyvi számla"
#: help:hr.config.settings,timesheet_range:0
#: help:res.company,timesheet_range:0
msgid "Periodicity on which you validate your timesheets."
msgstr ""
msgstr "Periódus, melyen az időkimutatásait érvényesíti."
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.account:0
msgid "Search Account"
msgstr ""
msgstr "Felhasználó keresés"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:428
#, python-format
msgid "You cannot modify an entry in a confirmed timesheet"
msgstr ""
msgstr "Nem módosíthatja a beírásokat egy visszaigazolt időkimutatáson."
#. module: hr_timesheet_sheet
#: help:res.company,timesheet_max_difference:0
@ -836,6 +883,9 @@ msgid ""
"You cannot have 2 timesheets that overlap!\n"
"Please use the menu 'My Current Timesheet' to avoid this problem."
msgstr ""
"Nem lehet 2 időkimutatása mely fedi egymást!\n"
"Használja a 'Én aktuális időkimutatásom' menüt, ennek a problémának az "
"elkerülésére."
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
@ -892,7 +942,7 @@ msgstr "Csoportosítás év szerint"
#: code:addons/hr_timesheet_sheet/static/src/xml/timesheet.xml:56
#, python-format
msgid "Click to add projects, contracts or analytic accounts."
msgstr ""
msgstr "Kattintson projekt, szerződések vagy elemző számlák hozzáadásához."
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_validatedtimesheet0
@ -902,7 +952,7 @@ msgstr "Az állapot 'jóváhagyott'."
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_config_settings
msgid "hr.config.settings"
msgstr ""
msgstr "hr.config.settings"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -924,7 +974,7 @@ msgstr "Jóváhagyott munkaidő kimutatások"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Details"
msgstr ""
msgstr "Részletek"
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_hr_analytic_timesheet
@ -935,7 +985,7 @@ msgstr "Munkaidő-kimutatás sora"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:213
#, python-format
msgid "You cannot delete a timesheet which is already confirmed."
msgstr ""
msgstr "Nem törölhet olyan időkimutatást, mely már visszaigazolt."
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@ -995,7 +1045,7 @@ msgstr "Összes jelenlét"
#: code:addons/hr_timesheet_sheet/static/src/xml/timesheet.xml:39
#, python-format
msgid "Add a Line"
msgstr ""
msgstr "Sor hozzáadása"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,total_difference:0
@ -1007,7 +1057,7 @@ msgstr "Eltérés"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:64
#, python-format
msgid "You cannot duplicate a timesheet."
msgstr ""
msgstr "Nem többszörözhet egy időkimutatást."
#. module: hr_timesheet_sheet
#: selection:hr_timesheet_sheet.sheet,state_attendance:0
@ -1032,6 +1082,15 @@ msgid ""
" </p>\n"
" "
msgstr ""
"<p>\n"
" Ez a jelentés elemzést végez az emberi erőforrás rendszerén\n"
" létrehozott időkimutatásokon. Lehetővé teszi a teljes \n"
" áttekintést az alkalmazottai által bevitt adatokon. "
"Csoportosíthatja\n"
" jellegzetes kiválasztási kritériummal a keresőnek "
"köszönhetően.\n"
" </p>\n"
" "
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@ -1042,6 +1101,7 @@ msgstr "Alkalmazottak"
#: constraint:hr.analytic.timesheet:0
msgid "You cannot modify an entry in a Confirmed/Done timesheet !"
msgstr ""
"Nem módosíthat beírásokat egy visszaigazolt/Elvégzett időkimutatáson !"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_timesheet0
@ -1063,7 +1123,7 @@ msgstr "Megerősítés"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:99
#, python-format
msgid "Warning!"
msgstr ""
msgstr "Figyelem!"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet.account,invoice_rate:0
@ -1075,12 +1135,12 @@ msgstr "Számlázási ráta"
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:421
#, python-format
msgid "User Error!"
msgstr ""
msgstr "Felhasználói hiba!"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.day:0
msgid "Total Difference"
msgstr ""
msgstr "Teljes különbség"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@ -1090,7 +1150,7 @@ msgstr "Jóváhagyás"
#. module: hr_timesheet_sheet
#: help:hr_timesheet_sheet.sheet,message_ids:0
msgid "Messages and communication history"
msgstr ""
msgstr "Üzenetek és kommunikáció történet"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,account_ids:0
@ -1160,7 +1220,7 @@ msgstr "Napló"
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.act_hr_timesheet_sheet_sheet_by_day
msgid "Timesheet by Day"
msgstr ""
msgstr "Időkimutatások napok szerint"
#~ msgid "Today"
#~ msgstr "Ma"

View File

@ -7,24 +7,24 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2011-02-01 10:13+0000\n"
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
"PO-Revision-Date: 2013-02-14 15:58+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Documents"
msgstr ""
msgstr "Dokumentumok"
#. module: knowledge
#: model:ir.model,name:knowledge.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
msgstr "knowledge.config.settings"
#. module: knowledge
#: help:knowledge.config.settings,module_document_webdav:0
@ -32,11 +32,13 @@ msgid ""
"Access your documents in OpenERP through WebDAV.\n"
" This installs the module document_webdav."
msgstr ""
"Az OpenERP dokumentumok WebDAV-on keresztüli elérése.\n"
" Ez a document_webdav modult telepíti."
#. module: knowledge
#: help:knowledge.config.settings,module_document_page:0
msgid "This installs the module document_page."
msgstr ""
msgstr "Ez a document_page modult telepíti."
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
@ -47,12 +49,12 @@ msgstr "Csoportmunában készült tartalom"
#: model:ir.actions.act_window,name:knowledge.action_knowledge_configuration
#: view:knowledge.config.settings:0
msgid "Configure Knowledge"
msgstr ""
msgstr "Tudástár beállítása"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Knowledge and Documents Management"
msgstr ""
msgstr "Tudástár és dokumentum kezelés"
#. module: knowledge
#: help:knowledge.config.settings,module_document:0
@ -62,31 +64,36 @@ msgid ""
"and a document dashboard.\n"
" This installs the module document."
msgstr ""
"Ez egy komplett dokumentum kezelő rendszer, beleértve: felhasználó "
"hitelesítást,\n"
" teljes dokumentum keresőt (de a pptx és docx nem "
"támogatott), és egy dokumentum vezérlőpultot.\n"
" Ez a document modult telepíti."
#. module: knowledge
#: field:knowledge.config.settings,module_document_page:0
msgid "Create static web pages"
msgstr ""
msgstr "Statikus weboldalak készítése"
#. module: knowledge
#: field:knowledge.config.settings,module_document_ftp:0
msgid "Share repositories (FTP)"
msgstr ""
msgstr "Elérési út (FTP) megosztás"
#. module: knowledge
#: field:knowledge.config.settings,module_document:0
msgid "Manage documents"
msgstr ""
msgstr "Dokumentum kezelés"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Cancel"
msgstr ""
msgstr "Mégsem"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Apply"
msgstr ""
msgstr "Alkalmaz"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
@ -99,16 +106,18 @@ msgid ""
"Access your documents in OpenERP through an FTP interface.\n"
" This installs the module document_ftp."
msgstr ""
"Az OpenERP dokumentumok elérése egy FTP csatolón keresztül.\n"
" Ez a document_ftp modult telepíti."
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "or"
msgstr ""
msgstr "vagy"
#. module: knowledge
#: field:knowledge.config.settings,module_document_webdav:0
msgid "Share repositories (WebDAV)"
msgstr ""
msgstr "Elérési útvonal (webDAV) megosztás"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document

View File

@ -8,24 +8,24 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
"PO-Revision-Date: 2010-12-19 23:48+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2013-02-15 10:59+0000\n"
"Last-Translator: erdenebold <erdenebold10@gmail.com>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
"X-Generator: Launchpad (build 16378)\n"
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Documents"
msgstr ""
msgstr "Баримтууд"
#. module: knowledge
#: model:ir.model,name:knowledge.model_knowledge_config_settings
msgid "knowledge.config.settings"
msgstr ""
msgstr "knowledge.config.settings"
#. module: knowledge
#: help:knowledge.config.settings,module_document_webdav:0
@ -33,11 +33,13 @@ msgid ""
"Access your documents in OpenERP through WebDAV.\n"
" This installs the module document_webdav."
msgstr ""
"OpenERP бичиг баримтууд руу WebDAV-р хандана.\n"
" Энэ нь document_webdav модулийг суулгана."
#. module: knowledge
#: help:knowledge.config.settings,module_document_page:0
msgid "This installs the module document_page."
msgstr ""
msgstr "Энэ нь мdocument_page модулийг суулгана."
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document2
@ -48,12 +50,12 @@ msgstr "Хамтарсан агуулга"
#: model:ir.actions.act_window,name:knowledge.action_knowledge_configuration
#: view:knowledge.config.settings:0
msgid "Configure Knowledge"
msgstr ""
msgstr "Баримтын Тохиргоо"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Knowledge and Documents Management"
msgstr ""
msgstr "Бичиг Баримт, Мэдлэгийн менежмент"
#. module: knowledge
#: help:knowledge.config.settings,module_document:0
@ -67,7 +69,7 @@ msgstr ""
#. module: knowledge
#: field:knowledge.config.settings,module_document_page:0
msgid "Create static web pages"
msgstr ""
msgstr "Статик веб хуудас үүсгэх."
#. module: knowledge
#: field:knowledge.config.settings,module_document_ftp:0
@ -77,17 +79,17 @@ msgstr ""
#. module: knowledge
#: field:knowledge.config.settings,module_document:0
msgid "Manage documents"
msgstr ""
msgstr "Бичиг баримтуудыг менежмент хийх"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Cancel"
msgstr ""
msgstr "Цуцлах"
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "Apply"
msgstr ""
msgstr "Ашиглах"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
@ -100,11 +102,13 @@ msgid ""
"Access your documents in OpenERP through an FTP interface.\n"
" This installs the module document_ftp."
msgstr ""
"OpenERP бичиг баримтууд руу FTP интерфейсээр хандана.\n"
"Энэ нь document_ftp модулийг суулгана."
#. module: knowledge
#: view:knowledge.config.settings:0
msgid "or"
msgstr ""
msgstr "эсвэл"
#. module: knowledge
#: field:knowledge.config.settings,module_document_webdav:0

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,6 @@ from calendar import isleap
from openerp.tools.translate import _
from openerp.osv import fields, osv
from openerp import netsvc
import openerp.addons.decimal_precision as dp
DATETIME_FORMAT = "%Y-%m-%d"
@ -179,7 +178,6 @@ class hr_payslip_run(osv.osv):
return res
def create_advice(self, cr, uid, ids, context=None):
wf_service = netsvc.LocalService("workflow")
payslip_pool = self.pool.get('hr.payslip')
payslip_line_pool = self.pool.get('hr.payslip.line')
advice_pool = self.pool.get('hr.payroll.advice')
@ -198,8 +196,9 @@ class hr_payslip_run(osv.osv):
advice_id = advice_pool.create(cr, uid, advice_data, context=context)
slip_ids = []
for slip_id in run.slip_ids:
wf_service.trg_validate(uid, 'hr.payslip', slip_id.id, 'hr_verify_sheet', cr)
wf_service.trg_validate(uid, 'hr.payslip', slip_id.id, 'process_sheet', cr)
# TODO is it necessary to interleave the calls ?
payslip_pool.signal_hr_verify_sheet(cr, uid, [slip_id.id])
payslip_pool.signal_process_sheet(cr, uid, [slip_id.id])
slip_ids.append(slip_id.id)
for slip in payslip_pool.browse(cr, uid, slip_ids, context=context):

View File

@ -20,7 +20,7 @@
##############################################################################
from openerp.report import report_sxw
from hr_payroll import report
from openerp.addons.hr_payroll import report
class payslip_details_report_in(report.report_payslip_details.payslip_details_report):
@ -32,4 +32,4 @@ class payslip_details_report_in(report.report_payslip_details.payslip_details_re
report_sxw.report_sxw('report.paylip.details.in', 'hr.payslip', 'l10n_in_hr_payroll/report/report_payslip_details.rml', parser=payslip_details_report_in)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,174 @@
# Hungarian translation for openobject-addons
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:06+0000\n"
"PO-Revision-Date: 2013-02-14 16:15+0000\n"
"Last-Translator: krnkris <Unknown>\n"
"Language-Team: Hungarian <hu@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: 2013-02-15 04:38+0000\n"
"X-Generator: Launchpad (build 16491)\n"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
msgid "Template for Fiscal Position"
msgstr "ÁFA pozíció sablon"
#. module: l10n_multilang
#: sql_constraint:account.account:0
msgid "The code of the account must be unique per company !"
msgstr "A főkönyvi számla számának egyedinek kell lennie!"
#. module: l10n_multilang
#: constraint:account.account.template:0
msgid ""
"Configuration Error!\n"
"You can not define children to an account with internal type different of "
"\"View\"! "
msgstr ""
"Beállítási hiba!\n"
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
"típusa különböző! "
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
msgid "Analytic Journal"
msgstr "Analitikus/Gyüjtő napló"
#. module: l10n_multilang
#: constraint:account.account.template:0
msgid "Error ! You can not create recursive account templates."
msgstr "Hiba! Nem hozhat létre rekurzív főkönyvi számla sablonokat."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_journal
msgid "Journal"
msgstr "Napló"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_chart_template
msgid "Templates for Account Chart"
msgstr "Számlatükör sablonok"
#. module: l10n_multilang
#: sql_constraint:account.tax:0
msgid "The description must be unique per company!"
msgstr "A leírás egyedi kell legyen minden vállalathoz!"
#. module: l10n_multilang
#: constraint:account.tax.code.template:0
msgid "Error ! You can not create recursive Tax Codes."
msgstr "Hiba! Nem hozhat létre rekurzív adógyűjtőket."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_template
msgid "account.tax.template"
msgstr "account.tax.template"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax
msgid "account.tax"
msgstr "account.tax"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_account
msgid "Account"
msgstr "Főkönyvi számla"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
msgid "wizard.multi.charts.accounts"
msgstr "wizard.multi.charts.accounts"
#. module: l10n_multilang
#: constraint:account.journal:0
msgid ""
"Configuration error! The currency chosen should be shared by the default "
"accounts too."
msgstr ""
"Beállítási hiba! A választott pénznemet meg kell osztani az alapértelmezett "
"főkönyvi számlával is."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_account_template
msgid "Templates for Accounts"
msgstr "Főkönyvi számla sablonok"
#. module: l10n_multilang
#: help:account.chart.template,spoken_languages:0
msgid ""
"State here the languages for which the translations of templates could be "
"loaded at the time of installation of this localization module and copied in "
"the final object when generating them from templates. You must provide the "
"language codes separated by ';'"
msgstr ""
"Adja meg itt a nyelvet amelyen a sablon be fog töltődni a lokalizációs modul "
"telepítése után és az át lesz másolva a végső objektumba a sablonokból való "
"létrehozás után. A nyelvi kódot ';' kell elválasztani."
#. module: l10n_multilang
#: constraint:account.account:0
msgid "Error ! You can not create recursive accounts."
msgstr "Hiba! Nem hozhat létre rekurzív számlákat."
#. module: l10n_multilang
#: constraint:account.account:0
msgid ""
"Configuration Error! \n"
"You can not select an account type with a deferral method different of "
"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
msgstr ""
#. module: l10n_multilang
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr "A napló nevének egyedinek kell lennie mindegyik vállalatra!"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analitikus/elemző könyvelés"
#. module: l10n_multilang
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr "A napló kódjának egyedinek kell lennie mindegyik vállalathoz!"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
msgid "Fiscal Position"
msgstr "Költségvetési pozíció"
#. module: l10n_multilang
#: constraint:account.account:0
msgid ""
"Configuration Error! \n"
"You can not define children to an account with internal type different of "
"\"View\"! "
msgstr ""
"Beállítási hiba! \n"
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
"típusa különböző! "
#. module: l10n_multilang
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Hiba! Nem hozhat létre rekurzív gyűjtőkódokat."
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
msgid "Tax Code Template"
msgstr ""
#. module: l10n_multilang
#: field:account.chart.template,spoken_languages:0
msgid "Spoken Languages"
msgstr "Beszélt nyelvek"

View File

@ -159,7 +159,7 @@ class lunch_order(osv.Model):
def specific_function(cr, uid, ids, context=None):
return self.add_preference(cr, uid, ids, pref_id, context=context)
return specific_function
return super(lunch_order,self).__getattr__(self,attr)
return super(lunch_order, self).__getattr__(attr)
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
"""
@ -372,12 +372,25 @@ class lunch_order_line(osv.Model):
cash_ids = [cash.id for cash in order_line.cashmove]
cashmove_ref.unlink(cr, uid, cash_ids, context=context)
return self._update_order_lines(cr, uid, ids, context=context)
def _get_line_order_ids(self, cr, uid, ids, context=None):
"""
return the list of lunch.order.lines ids to which belong the lunch.order 'ids'
"""
result = set()
for lunch_order in self.browse(cr, uid, ids, context=context):
for lines in lunch_order.order_line_ids:
result.add(lines.id)
return list(result)
_columns = {
'name': fields.related('product_id', 'name', readonly=True),
'order_id': fields.many2one('lunch.order', 'Order', ondelete='cascade'),
'product_id': fields.many2one('lunch.product', 'Product', required=True),
'date': fields.related('order_id', 'date', type='date', string="Date", readonly=True, store=True),
'date': fields.related('order_id', 'date', type='date', string="Date", readonly=True, store={
'lunch.order': (_get_line_order_ids, ['date'], 10),
'lunch.order.line': (lambda self, cr, uid, ids, ctx: ids, [], 10),
}),
'supplier': fields.related('product_id', 'supplier', type='many2one', relation='res.partner', string="Supplier", readonly=True, store=True),
'user_id': fields.related('order_id', 'user_id', type='many2one', relation='res.users', string='User', readonly=True, store=True),
'note': fields.text('Note'),

Some files were not shown because too many files have changed in this diff Show More