[MERGE]sync with trunk
bzr revid: sgo@tinyerp.com-20130215054550-w5v6m86ca8udhfs7
This commit is contained in:
commit
ab69ff4f24
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
@ -638,10 +636,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
|
||||
|
@ -1394,7 +1390,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 = {
|
||||
|
|
|
@ -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')),
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
In order to test the PDF reports defined on an invoice, we will print an Invoice Report
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
import netsvc, tools, os
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
(data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.account_invoice_customer0')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
|
||||
|
@ -22,7 +23,8 @@
|
|||
In order to test the PDF reports defined on a partner, we will print the Overdue Report
|
||||
-
|
||||
!python {model: res.partner}: |
|
||||
import netsvc, tools, os
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
(data, format) = netsvc.LocalService('report.account.overdue').create(cr, uid, [ref('base.res_partner_1'),ref('base.res_partner_2'),ref('base.res_partner_12')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account-report_overdue.'+format), 'wb+').write(data)
|
||||
|
@ -32,7 +34,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_aged_balance_view',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Account Balance Sheet in Normal mode
|
||||
|
@ -40,7 +42,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'), 'account_report_id': ref('account_financial_report_balancesheet0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_report',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Account Balance Report in Normal mode through the wizard - From Account Chart
|
||||
|
@ -48,7 +50,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_balance_menu',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Central Journal Report - From Account
|
||||
|
@ -58,7 +60,7 @@
|
|||
ref('account.bank_journal'),ref('account.check_journal'),ref('account.cash_journal')]
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_central_journal',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the General Journal Report - From Journal
|
||||
|
@ -68,7 +70,7 @@
|
|||
ref('account.bank_journal'),ref('account.check_journal'),ref('account.cash_journal')]
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_general_journal',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the General Ledger Report in Normal Mode
|
||||
|
@ -76,7 +78,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'),'landscape':False}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_general_ledger_menu',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the General Ledger Report in Landscape Mode
|
||||
|
@ -84,7 +86,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'),'landscape':True}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_general_ledger_menu',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print Journal Report - From Model
|
||||
|
@ -93,7 +95,7 @@
|
|||
journal_ids = [ref('account.sales_journal'),ref('account.refund_sales_journal'),ref('account.expenses_journal'),ref('account.refund_expenses_journal'),ref('account.bank_journal'),ref('account.check_journal'),ref('account.cash_journal')]
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'), 'period_from':ref('period_1'), 'period_to':ref('period_12')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_print_journal',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Partner Balance Report
|
||||
|
@ -101,7 +103,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_partner_balance',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Partner Ledger Report
|
||||
|
@ -109,7 +111,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'),'page_split': True}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_partner_ledger',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Partner Ledger-Other Report
|
||||
|
@ -117,7 +119,7 @@
|
|||
!python {model: res.partner}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'),'page_split': False}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_partner_ledger',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Profit-Loss Report in Normal Mode
|
||||
|
@ -125,7 +127,7 @@
|
|||
!python {model: account.account}: |
|
||||
ctx={}
|
||||
data_dict = {'chart_account_id':ref('account.chart0'), 'target_move': 'all', 'account_report_id': ref('account_financial_report_balancesheet0')}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_report',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
-
|
||||
Print the Analytic Balance Report through the wizard
|
||||
|
@ -134,7 +136,7 @@
|
|||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.account','active_ids': [ref('account.analytic_root')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_analytic_balance',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
|
||||
-
|
||||
|
@ -144,7 +146,7 @@
|
|||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.account','active_ids': [ref('account.analytic_root'),ref('account.analytic_absences'),ref('account.analytic_internal'),ref('account.analytic_our_super_product')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_analytic_cost',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
|
||||
-
|
||||
|
@ -154,7 +156,7 @@
|
|||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.account','active_ids': [ref('account.analytic_root'),ref('account.analytic_absences'),ref('account.analytic_internal'),ref('account.analytic_our_super_product')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_analytic_cost_ledger_journal',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
|
||||
-
|
||||
|
@ -164,7 +166,7 @@
|
|||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.journal','active_ids': [ref('account.cose_journal_sale'), ref('account.exp'), ref('account.sit')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_analytic_journal',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
|
||||
-
|
||||
|
@ -174,5 +176,5 @@
|
|||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.account','active_ids': [ref('account.analytic_root')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_analytic_invert_balance',wiz_data=data_dict, context=ctx, our_module='account')
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
Print the Crossovered Analytic Report in Normal mode
|
||||
-
|
||||
!python {model: account.analytic.account}: |
|
||||
import netsvc, tools, os, time
|
||||
import os, time
|
||||
from openerp import netsvc, tools
|
||||
data_dict = {'model': 'account.analytic.account', 'form': {'date1':time.strftime("%Y-01-01"),'date2':time.strftime('%Y-%m-%d'),'journal_ids':[6,0,(ref('account.cose_journal_sale'))],'ref':ref('account.analytic_root'),'empty_line':True,'id':ref('account.analytic_root'),'context':{}}}
|
||||
(data, format) = netsvc.LocalService('report.account.analytic.account.crossovered.analytic').create(cr, uid, [ref('account.analytic_root')], data_dict, {})
|
||||
if tools.config['test_report_directory']:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,32 +2,35 @@
|
|||
Print the Analytic Budget Report through wizard
|
||||
-
|
||||
!python {model: account.analytic.account}: |
|
||||
import netsvc, tools, os, time
|
||||
import os, time
|
||||
from openerp import netsvc, tools
|
||||
ctx={}
|
||||
ctx.update({'model': 'account.analytic.account','active_ids': [ref('account.analytic_root')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_budget_analytic',wiz_data=data_dict, context=ctx, our_module='account_budget')
|
||||
|
||||
-
|
||||
Print the Budget Report through wizard
|
||||
-
|
||||
!python {model: account.budget.post}: |
|
||||
import netsvc, tools, os, time
|
||||
import os, time
|
||||
from openerp import netsvc, tools
|
||||
ctx={}
|
||||
ctx.update({'model': 'account.budget.post','active_ids': [ref('account_budget.account_budget_post_sales0')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_budget_report',wiz_data=data_dict, context=ctx, our_module='account_budget')
|
||||
|
||||
-
|
||||
Print the CrossOvered Budget Report mode through wizard
|
||||
-
|
||||
!python {model: crossovered.budget}: |
|
||||
import netsvc, tools, os, time
|
||||
import os, time
|
||||
from openerp import netsvc, tools
|
||||
ctx={}
|
||||
ctx.update({'model': 'account.budget.post','active_ids': [ref('account_budget.crossovered_budget_budgetoptimistic0')]})
|
||||
data_dict = {}
|
||||
from tools import test_reports
|
||||
from openerp.tools import test_reports
|
||||
test_reports.try_report_action(cr, uid, 'action_account_budget_crossvered_report',wiz_data=data_dict, context=ctx, our_module='account_budget')
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -35,10 +35,10 @@
|
|||
<filter string="Follow-ups To Do" domain="[('payment_next_action_date', '<=', 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>
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@ from openerp import tools
|
|||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
from openerp import SUPERUSER_ID
|
||||
|
||||
class account_followup_stat_by_partner(osv.osv):
|
||||
_name = "account_followup.stat.by.partner"
|
||||
_description = "Follow-up Statistics by Partner"
|
||||
|
@ -127,7 +129,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 +206,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:
|
||||
|
@ -313,6 +315,13 @@ class account_followup_print(osv.osv_memory):
|
|||
if stat_line_id not in partner_list:
|
||||
partner_list.append(stat_line_id)
|
||||
to_update[str(id)]= {'level': fups[followup_line_id][1], 'partner_id': stat_line_id}
|
||||
#Remove partners that are other companies in OpenERP
|
||||
comp_obj = self.pool.get("res.company")
|
||||
comp_ids = comp_obj.search(cr, SUPERUSER_ID, [], context=context)
|
||||
for comp in comp_obj.browse(cr, SUPERUSER_ID, comp_ids, context=context):
|
||||
company_partner_wiz_id = comp.partner_id.id * 10000 + company_id
|
||||
if company_partner_wiz_id in partner_list:
|
||||
partner_list.remove(company_partner_wiz_id)
|
||||
return {'partner_ids': partner_list, 'to_update': to_update}
|
||||
|
||||
account_followup_print()
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
In order to test the PDF reports defined on Account Payment, I print a Payment Order report.
|
||||
-
|
||||
!python {model: payment.order}: |
|
||||
import netsvc, tools, os
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
(data, format) = netsvc.LocalService('report.payment.order').create(cr, uid, [ref('payment_order_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account_payment-payment_order_report.'+format), 'wb+').write(data)
|
||||
|
|
|
@ -28,12 +28,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields,osv
|
||||
import pooler
|
||||
import netsvc
|
||||
import time
|
||||
from xml import dom
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
CODE_EXEC_DEFAULT = '''\
|
||||
res = []
|
||||
|
|
|
@ -0,0 +1,241 @@
|
|||
# Turkish 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-11 08:26+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <tr@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-12 04:43+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 "Test Adı"
|
||||
|
||||
#. 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 "Testler"
|
||||
|
||||
#. 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 ""
|
|
@ -22,8 +22,10 @@
|
|||
|
||||
import datetime
|
||||
import time
|
||||
from report import report_sxw
|
||||
|
||||
from openerp.report import report_sxw
|
||||
from openerp.tools.translate import _
|
||||
|
||||
#
|
||||
# Use period and Journal for selection or resources
|
||||
#
|
||||
|
|
|
@ -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
|
@ -19,7 +19,8 @@
|
|||
In order to test the PDF reports defined on a account_voucher, we will print account voucher Report
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, tools, os
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
(data, format) = netsvc.LocalService('report.voucher.cash_receipt.drcr').create(cr, uid, [ref("account_voucher_voucheraxelor0again")], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'account_voucher-report.'+format), 'wb+').write(data)
|
||||
|
|
|
@ -159,7 +159,6 @@
|
|||
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case1'))
|
||||
data = []
|
||||
|
@ -182,10 +181,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
@ -256,7 +253,6 @@
|
|||
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case1'))
|
||||
data = []
|
||||
|
@ -279,10 +275,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
|
|
@ -131,7 +131,6 @@
|
|||
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2_suppl'))
|
||||
data = []
|
||||
|
@ -161,10 +160,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
@ -236,7 +233,6 @@
|
|||
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2_suppl'))
|
||||
data = []
|
||||
|
@ -266,10 +262,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
|
|
@ -163,7 +163,8 @@
|
|||
I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2a'))
|
||||
data = []
|
||||
|
@ -179,10 +180,9 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc
|
||||
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
|
||||
-
|
||||
|
@ -231,7 +231,8 @@
|
|||
and I fully reconcile the 2 previous invoices
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2a'))
|
||||
data = []
|
||||
|
@ -254,10 +255,9 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc
|
||||
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
|
||||
-
|
||||
|
|
|
@ -163,7 +163,6 @@
|
|||
I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2b'))
|
||||
data = []
|
||||
|
@ -179,10 +178,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
@ -246,7 +243,6 @@
|
|||
and I fully reconcil the 2 previous invoices
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2b'))
|
||||
data = []
|
||||
|
@ -269,10 +265,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
|
|
@ -118,7 +118,6 @@
|
|||
I fill amounts 100 for the invoice of 150€ and 20 for the invoice of 80€
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case3'))
|
||||
data = []
|
||||
|
@ -141,10 +140,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
@ -208,7 +205,6 @@
|
|||
I fill amounts 50 for the invoice of 150€ and 70 for the invoice of 80€
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case3'))
|
||||
data = []
|
||||
|
@ -231,10 +227,8 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
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
|
||||
-
|
||||
|
|
|
@ -118,7 +118,8 @@
|
|||
I completly pay the invoice of 200 CAD
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case4'))
|
||||
data = []
|
||||
|
@ -141,10 +142,9 @@
|
|||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc
|
||||
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
|
||||
-
|
||||
|
|
|
@ -124,7 +124,8 @@
|
|||
I fill $1000 for the previously encoded invoice
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc, time
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_case_5_supplier_flow'))
|
||||
for item in voucher_id.line_dr_ids:
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
I will create and post an account voucher of amount 450.0 for the partner Seagate.
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
|
||||
res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)
|
||||
|
@ -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
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
I create and post a voucher payment of amount 30000.0 for the partner Seagate
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import netsvc
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
|
||||
res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)
|
||||
|
@ -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
|
||||
-
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -0,0 +1,405 @@
|
|||
# English (United Kingdom) 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-08 19:37+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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-09 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16482)\n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr "Child Accounts"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "In Progress"
|
||||
msgstr "In Progress"
|
||||
|
||||
#. module: analytic
|
||||
#: code:addons/analytic/analytic.py:229
|
||||
#, python-format
|
||||
msgid "Contract: "
|
||||
msgstr "Contract: "
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr "Template"
|
||||
|
||||
#. module: analytic
|
||||
#: view:account.analytic.account:0
|
||||
msgid "End Date"
|
||||
msgstr "End Date"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr "Specifies the amount of quantity to count."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,debit:0
|
||||
msgid "Debit"
|
||||
msgstr "Debit"
|
||||
|
||||
#. 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 "I"
|
||||
|
||||
#. 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 ""
|
||||
"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."
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Contract or Project"
|
||||
msgstr "Contract or Project"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account/Contract Name"
|
||||
msgstr "Account/Contract Name"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,manager_id:0
|
||||
msgid "Account Manager"
|
||||
msgstr "Account Manager"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr "Followers"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Closed"
|
||||
|
||||
#. module: analytic
|
||||
#: model:mail.message.subtype,name:analytic.mt_account_pending
|
||||
msgid "Contract to Renew"
|
||||
msgstr "Contract to Renew"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "New"
|
||||
msgstr "New"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,user_id:0
|
||||
msgid "Project Manager"
|
||||
msgstr "Project Manager"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: analytic
|
||||
#: code:addons/analytic/analytic.py:268
|
||||
#, python-format
|
||||
msgid "%s (copy)"
|
||||
msgstr "%s (copy)"
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr "Analytic Line"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,description:0
|
||||
#: field:account.analytic.line,name:0
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr "Unread Messages"
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You cannot create recursive analytic accounts."
|
||||
msgstr "Error! You cannot create recursive analytic accounts."
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
#: field:account.analytic.line,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Company"
|
||||
|
||||
#. module: analytic
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Renewal"
|
||||
msgstr "Renewal"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr "Messages and communication history"
|
||||
|
||||
#. module: analytic
|
||||
#: model:mail.message.subtype,description:analytic.mt_account_opened
|
||||
msgid "Stage <b>opened</b>"
|
||||
msgstr "Stage <b>opened</b>"
|
||||
|
||||
#. 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 ""
|
||||
"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.)"
|
||||
|
||||
#. 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 ""
|
||||
"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."
|
||||
|
||||
#. 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 ""
|
|
@ -0,0 +1,336 @@
|
|||
# English (United Kingdom) 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-08 19:44+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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-09 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16482)\n"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
|
||||
msgid "ir.model.fields.anonymize.wizard"
|
||||
msgstr "ir.model.fields.anonymize.wizard"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_id:0
|
||||
msgid "Object"
|
||||
msgstr "Object"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_migration_fix
|
||||
msgid "ir.model.fields.anonymization.migration.fix"
|
||||
msgstr "ir.model.fields.anonymization.migration.fix"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,target_version:0
|
||||
msgid "Target Version"
|
||||
msgstr "Target Version"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.migration.fix,query_type:0
|
||||
msgid "sql"
|
||||
msgstr "sql"
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:91
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The database anonymization is currently in an unstable state. Some fields "
|
||||
"are anonymized, while some fields are not anonymized. You should try to "
|
||||
"solve this problem before trying to create, write or delete fields."
|
||||
msgstr ""
|
||||
"The database anonymization is currently in an unstable state. Some fields "
|
||||
"are anonymized, while some fields are not anonymized. You should try to "
|
||||
"solve this problem before trying to create, write or delete fields."
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_name:0
|
||||
msgid "Field Name"
|
||||
msgstr "Field Name"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,field_id:0
|
||||
#: field:ir.model.fields.anonymization.migration.fix,field_name:0
|
||||
msgid "Field"
|
||||
msgstr "Field"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
msgid "New"
|
||||
msgstr "New"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_import:0
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
|
||||
msgid "ir.model.fields.anonymization"
|
||||
msgstr "ir.model.fields.anonymization"
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:300
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Before executing the anonymization process, you should make a backup of your "
|
||||
"database."
|
||||
msgstr ""
|
||||
"Before executing the anonymization process, you should make a backup of your "
|
||||
"database."
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,state:0
|
||||
#: field:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "Direction"
|
||||
msgstr "Direction"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
|
||||
msgid "Anonymized Fields"
|
||||
msgstr "Anonymized Fields"
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
|
||||
msgid "Database anonymization"
|
||||
msgstr "Database anonymization"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "clear -> anonymized"
|
||||
msgstr "clear -> anonymized"
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Anonymized"
|
||||
msgstr "Anonymized"
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,state:0
|
||||
msgid "unknown"
|
||||
msgstr "unknown"
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:448
|
||||
#, python-format
|
||||
msgid "Anonymized value is None. This cannot happens."
|
||||
msgstr "Anonymized value is None. This cannot happens."
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,filepath:0
|
||||
msgid "File path"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: help:ir.model.fields.anonymize.wizard,file_import:0
|
||||
msgid ""
|
||||
"This is the file created by the anonymization process. It should have the "
|
||||
"'.pickle' extention."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.history,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,file_export:0
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Reverse the Database Anonymization"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:444
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot anonymize fields of these types: binary, many2many, many2one, "
|
||||
"one2many, reference."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Database Anonymization"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
|
||||
msgid "Anonymize database"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.migration.fix,query_type:0
|
||||
msgid "python"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,field_ids:0
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:533
|
||||
#, python-format
|
||||
msgid ""
|
||||
"It is not possible to reverse the anonymization process without supplying "
|
||||
"the anonymization export file."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization:0
|
||||
msgid "Anonymized Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:391
|
||||
#: code:addons/anonymization/anonymization.py:526
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The database anonymization is currently in an unstable state. Some fields "
|
||||
"are anonymized, while some fields are not anonymized. You should try to "
|
||||
"solve this problem before trying to do anything."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymize.wizard,state:0
|
||||
msgid "Unstable"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Exception occured"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization,state:0
|
||||
msgid "Not Existing"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization,model_name:0
|
||||
msgid "Object Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
|
||||
msgid "Anonymization History"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,model_name:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
|
||||
msgid "ir.model.fields.anonymization.history"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The database anonymization is currently in an unstable state. Some fields "
|
||||
"are anonymized, while some fields are not anonymized. You should try to "
|
||||
"solve this problem before trying to do anything else."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:389
|
||||
#: code:addons/anonymization/anonymization.py:448
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
|
||||
#: view:ir.model.fields.anonymize.wizard:0
|
||||
msgid "Anonymize Database"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymize.wizard,name:0
|
||||
msgid "File Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,direction:0
|
||||
msgid "anonymized -> clear"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Started"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:389
|
||||
#, python-format
|
||||
msgid "The database is currently anonymized, you cannot anonymize it again."
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: selection:ir.model.fields.anonymization.history,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: field:ir.model.fields.anonymization.migration.fix,query:0
|
||||
#: field:ir.model.fields.anonymization.migration.fix,query_type:0
|
||||
msgid "Query"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: view:ir.model.fields.anonymization.history:0
|
||||
#: field:ir.model.fields.anonymization.history,msg:0
|
||||
#: field:ir.model.fields.anonymize.wizard,msg:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: anonymization
|
||||
#: code:addons/anonymization/anonymization.py:65
|
||||
#: sql_constraint:ir.model.fields.anonymization:0
|
||||
#, python-format
|
||||
msgid "You cannot have two fields with the same name on the same object!"
|
||||
msgstr ""
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.osv.osv import object_proxy
|
||||
import openerp.service.model
|
||||
from openerp.tools.translate import _
|
||||
from openerp import pooler
|
||||
import time
|
||||
|
@ -171,355 +171,360 @@ class audittrail_log_line(osv.osv):
|
|||
'field_description': fields.char('Field Description', size=64),
|
||||
}
|
||||
|
||||
class audittrail_objects_proxy(object_proxy):
|
||||
""" Uses Object proxy for auditing changes on object of subscribed Rules"""
|
||||
# Monkeypatch the model RPC endpoint for auditing changes.
|
||||
|
||||
def get_value_text(self, cr, uid, pool, resource_pool, method, field, value):
|
||||
"""
|
||||
Gets textual values for the fields.
|
||||
If the field is a many2one, it returns the name.
|
||||
If it's a one2many or a many2many, it returns a list of name.
|
||||
In other cases, it just returns the value.
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID for security checks,
|
||||
:param pool: current db's pooler object.
|
||||
:param resource_pool: pooler object of the model which values are being changed.
|
||||
:param field: for which the text value is to be returned.
|
||||
:param value: value of the field.
|
||||
:param recursive: True or False, True will repeat the process recursively
|
||||
:return: string value or a list of values(for O2M/M2M)
|
||||
"""
|
||||
def get_value_text(cr, uid, pool, resource_pool, method, field, value):
|
||||
"""
|
||||
Gets textual values for the fields.
|
||||
If the field is a many2one, it returns the name.
|
||||
If it's a one2many or a many2many, it returns a list of name.
|
||||
In other cases, it just returns the value.
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID for security checks,
|
||||
:param pool: current db's pooler object.
|
||||
:param resource_pool: pooler object of the model which values are being changed.
|
||||
:param field: for which the text value is to be returned.
|
||||
:param value: value of the field.
|
||||
:param recursive: True or False, True will repeat the process recursively
|
||||
:return: string value or a list of values(for O2M/M2M)
|
||||
"""
|
||||
|
||||
field_obj = (resource_pool._all_columns.get(field)).column
|
||||
if field_obj._type in ('one2many','many2many'):
|
||||
data = pool.get(field_obj._obj).name_get(cr, uid, value)
|
||||
#return the modifications on x2many fields as a list of names
|
||||
res = map(lambda x:x[1], data)
|
||||
elif field_obj._type == 'many2one':
|
||||
#return the modifications on a many2one field as its value returned by name_get()
|
||||
res = value and value[1] or value
|
||||
else:
|
||||
res = value
|
||||
return res
|
||||
field_obj = (resource_pool._all_columns.get(field)).column
|
||||
if field_obj._type in ('one2many','many2many'):
|
||||
data = pool.get(field_obj._obj).name_get(cr, uid, value)
|
||||
#return the modifications on x2many fields as a list of names
|
||||
res = map(lambda x:x[1], data)
|
||||
elif field_obj._type == 'many2one':
|
||||
#return the modifications on a many2one field as its value returned by name_get()
|
||||
res = value and value[1] or value
|
||||
else:
|
||||
res = value
|
||||
return res
|
||||
|
||||
def create_log_line(self, cr, uid, log_id, model, lines=None):
|
||||
"""
|
||||
Creates lines for changed fields with its old and new values
|
||||
def create_log_line(cr, uid, log_id, model, lines=None):
|
||||
"""
|
||||
Creates lines for changed fields with its old and new values
|
||||
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param model: Object which values are being changed
|
||||
@param lines: List of values for line is to be created
|
||||
"""
|
||||
if lines is None:
|
||||
lines = []
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
obj_pool = pool.get(model.model)
|
||||
model_pool = pool.get('ir.model')
|
||||
field_pool = pool.get('ir.model.fields')
|
||||
log_line_pool = pool.get('audittrail.log.line')
|
||||
for line in lines:
|
||||
field_obj = obj_pool._all_columns.get(line['name'])
|
||||
assert field_obj, _("'%s' field does not exist in '%s' model" %(line['name'], model.model))
|
||||
field_obj = field_obj.column
|
||||
old_value = line.get('old_value', '')
|
||||
new_value = line.get('new_value', '')
|
||||
search_models = [model.id]
|
||||
if obj_pool._inherits:
|
||||
search_models += model_pool.search(cr, uid, [('model', 'in', obj_pool._inherits.keys())])
|
||||
field_id = field_pool.search(cr, uid, [('name', '=', line['name']), ('model_id', 'in', search_models)])
|
||||
if field_obj._type == 'many2one':
|
||||
old_value = old_value and old_value[0] or old_value
|
||||
new_value = new_value and new_value[0] or new_value
|
||||
vals = {
|
||||
"log_id": log_id,
|
||||
"field_id": field_id and field_id[0] or False,
|
||||
"old_value": old_value,
|
||||
"new_value": new_value,
|
||||
"old_value_text": line.get('old_value_text', ''),
|
||||
"new_value_text": line.get('new_value_text', ''),
|
||||
"field_description": field_obj.string
|
||||
}
|
||||
line_id = log_line_pool.create(cr, uid, vals)
|
||||
return True
|
||||
|
||||
def log_fct(self, cr, uid_orig, model, method, fct_src, *args, **kw):
|
||||
"""
|
||||
Logging function: This function is performing the logging operation
|
||||
@param model: Object whose values are being changed
|
||||
@param method: method to log: create, read, write, unlink, action or workflow action
|
||||
@param fct_src: execute method of Object proxy
|
||||
|
||||
@return: Returns result as per method of Object proxy
|
||||
"""
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
resource_pool = pool.get(model)
|
||||
model_pool = pool.get('ir.model')
|
||||
model_ids = model_pool.search(cr, SUPERUSER_ID, [('model', '=', model)])
|
||||
model_id = model_ids and model_ids[0] or False
|
||||
assert model_id, _("'%s' Model does not exist..." %(model))
|
||||
model = model_pool.browse(cr, SUPERUSER_ID, model_id)
|
||||
|
||||
# fields to log. currently only used by log on read()
|
||||
field_list = []
|
||||
old_values = new_values = {}
|
||||
|
||||
if method == 'create':
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
if res:
|
||||
res_ids = [res]
|
||||
new_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
elif method == 'read':
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
# build the res_ids and the old_values dict. Here we don't use get_data() to
|
||||
# avoid performing an additional read()
|
||||
res_ids = []
|
||||
for record in res:
|
||||
res_ids.append(record['id'])
|
||||
old_values[(model.id, record['id'])] = {'value': record, 'text': record}
|
||||
# log only the fields read
|
||||
field_list = args[1]
|
||||
elif method == 'unlink':
|
||||
res_ids = args[0]
|
||||
old_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
else: # method is write, action or workflow action
|
||||
res_ids = []
|
||||
if args:
|
||||
res_ids = args[0]
|
||||
if isinstance(res_ids, (long, int)):
|
||||
res_ids = [res_ids]
|
||||
if res_ids:
|
||||
# store the old values into a dictionary
|
||||
old_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
# process the original function, workflow trigger...
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
if method == 'copy':
|
||||
res_ids = [res]
|
||||
if res_ids:
|
||||
# check the new values and store them into a dictionary
|
||||
new_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
# compare the old and new values and create audittrail log if needed
|
||||
self.process_data(cr, uid_orig, pool, res_ids, model, method, old_values, new_values, field_list)
|
||||
return res
|
||||
|
||||
def get_data(self, cr, uid, pool, res_ids, model, method):
|
||||
"""
|
||||
This function simply read all the fields of the given res_ids, and also recurisvely on
|
||||
all records of a x2m fields read that need to be logged. Then it returns the result in
|
||||
convenient structure that will be used as comparison basis.
|
||||
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID. This parameter is currently not used as every
|
||||
operation to get data is made as super admin. Though, it could be usefull later.
|
||||
:param pool: current db's pooler object.
|
||||
:param res_ids: Id's of resource to be logged/compared.
|
||||
:param model: Object whose values are being changed
|
||||
:param method: method to log: create, read, unlink, write, actions, workflow actions
|
||||
:return: dict mapping a tuple (model_id, resource_id) with its value and textual value
|
||||
{ (model_id, resource_id): { 'value': ...
|
||||
'textual_value': ...
|
||||
},
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param model: Object which values are being changed
|
||||
@param lines: List of values for line is to be created
|
||||
"""
|
||||
if lines is None:
|
||||
lines = []
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
obj_pool = pool.get(model.model)
|
||||
model_pool = pool.get('ir.model')
|
||||
field_pool = pool.get('ir.model.fields')
|
||||
log_line_pool = pool.get('audittrail.log.line')
|
||||
for line in lines:
|
||||
field_obj = obj_pool._all_columns.get(line['name'])
|
||||
assert field_obj, _("'%s' field does not exist in '%s' model" %(line['name'], model.model))
|
||||
field_obj = field_obj.column
|
||||
old_value = line.get('old_value', '')
|
||||
new_value = line.get('new_value', '')
|
||||
search_models = [model.id]
|
||||
if obj_pool._inherits:
|
||||
search_models += model_pool.search(cr, uid, [('model', 'in', obj_pool._inherits.keys())])
|
||||
field_id = field_pool.search(cr, uid, [('name', '=', line['name']), ('model_id', 'in', search_models)])
|
||||
if field_obj._type == 'many2one':
|
||||
old_value = old_value and old_value[0] or old_value
|
||||
new_value = new_value and new_value[0] or new_value
|
||||
vals = {
|
||||
"log_id": log_id,
|
||||
"field_id": field_id and field_id[0] or False,
|
||||
"old_value": old_value,
|
||||
"new_value": new_value,
|
||||
"old_value_text": line.get('old_value_text', ''),
|
||||
"new_value_text": line.get('new_value_text', ''),
|
||||
"field_description": field_obj.string
|
||||
}
|
||||
"""
|
||||
data = {}
|
||||
resource_pool = pool.get(model.model)
|
||||
# read all the fields of the given resources in super admin mode
|
||||
for resource in resource_pool.read(cr, SUPERUSER_ID, res_ids):
|
||||
values = {}
|
||||
values_text = {}
|
||||
resource_id = resource['id']
|
||||
# loop on each field on the res_ids we just have read
|
||||
for field in resource:
|
||||
if field in ('__last_update', 'id'):
|
||||
continue
|
||||
values[field] = resource[field]
|
||||
# get the textual value of that field for this record
|
||||
values_text[field] = self.get_value_text(cr, SUPERUSER_ID, pool, resource_pool, method, field, resource[field])
|
||||
line_id = log_line_pool.create(cr, uid, vals)
|
||||
return True
|
||||
|
||||
field_obj = resource_pool._all_columns.get(field).column
|
||||
if field_obj._type in ('one2many','many2many'):
|
||||
# check if an audittrail rule apply in super admin mode
|
||||
if self.check_rules(cr, SUPERUSER_ID, field_obj._obj, method):
|
||||
# check if the model associated to a *2m field exists, in super admin mode
|
||||
x2m_model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', field_obj._obj)])
|
||||
x2m_model_id = x2m_model_ids and x2m_model_ids[0] or False
|
||||
assert x2m_model_id, _("'%s' Model does not exist..." %(field_obj._obj))
|
||||
x2m_model = pool.get('ir.model').browse(cr, SUPERUSER_ID, x2m_model_id)
|
||||
field_resource_ids = list(set(resource[field]))
|
||||
if model.model == x2m_model.model:
|
||||
# we need to remove current resource_id from the many2many to prevent an infinit loop
|
||||
if resource_id in field_resource_ids:
|
||||
field_resource_ids.remove(resource_id)
|
||||
data.update(self.get_data(cr, SUPERUSER_ID, pool, field_resource_ids, x2m_model, method))
|
||||
|
||||
data[(model.id, resource_id)] = {'text':values_text, 'value': values}
|
||||
return data
|
||||
def log_fct(cr, uid_orig, model, method, fct_src, *args, **kw):
|
||||
"""
|
||||
Logging function: This function is performing the logging operation
|
||||
@param model: Object whose values are being changed
|
||||
@param method: method to log: create, read, write, unlink, action or workflow action
|
||||
@param fct_src: execute method of Object proxy
|
||||
|
||||
def prepare_audittrail_log_line(self, cr, uid, pool, model, resource_id, method, old_values, new_values, field_list=None):
|
||||
"""
|
||||
This function compares the old data (i.e before the method was executed) and the new data
|
||||
(after the method was executed) and returns a structure with all the needed information to
|
||||
log those differences.
|
||||
@return: Returns result as per method of Object proxy
|
||||
"""
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
resource_pool = pool.get(model)
|
||||
model_pool = pool.get('ir.model')
|
||||
model_ids = model_pool.search(cr, SUPERUSER_ID, [('model', '=', model)])
|
||||
model_id = model_ids and model_ids[0] or False
|
||||
assert model_id, _("'%s' Model does not exist..." %(model))
|
||||
model = model_pool.browse(cr, SUPERUSER_ID, model_id)
|
||||
|
||||
# fields to log. currently only used by log on read()
|
||||
field_list = []
|
||||
old_values = new_values = {}
|
||||
|
||||
if method == 'create':
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
if res:
|
||||
res_ids = [res]
|
||||
new_values = get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
elif method == 'read':
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
# build the res_ids and the old_values dict. Here we don't use get_data() to
|
||||
# avoid performing an additional read()
|
||||
res_ids = []
|
||||
for record in res:
|
||||
res_ids.append(record['id'])
|
||||
old_values[(model.id, record['id'])] = {'value': record, 'text': record}
|
||||
# log only the fields read
|
||||
field_list = args[1]
|
||||
elif method == 'unlink':
|
||||
res_ids = args[0]
|
||||
old_values = get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
else: # method is write, action or workflow action
|
||||
res_ids = []
|
||||
if args:
|
||||
res_ids = args[0]
|
||||
if isinstance(res_ids, (long, int)):
|
||||
res_ids = [res_ids]
|
||||
if res_ids:
|
||||
# store the old values into a dictionary
|
||||
old_values = get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
# process the original function, workflow trigger...
|
||||
res = fct_src(cr, uid_orig, model.model, method, *args, **kw)
|
||||
if method == 'copy':
|
||||
res_ids = [res]
|
||||
if res_ids:
|
||||
# check the new values and store them into a dictionary
|
||||
new_values = get_data(cr, uid_orig, pool, res_ids, model, method)
|
||||
# compare the old and new values and create audittrail log if needed
|
||||
process_data(cr, uid_orig, pool, res_ids, model, method, old_values, new_values, field_list)
|
||||
return res
|
||||
|
||||
def get_data(cr, uid, pool, res_ids, model, method):
|
||||
"""
|
||||
This function simply read all the fields of the given res_ids, and also recurisvely on
|
||||
all records of a x2m fields read that need to be logged. Then it returns the result in
|
||||
convenient structure that will be used as comparison basis.
|
||||
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID. This parameter is currently not used as every
|
||||
operation to get data is made as super admin. Though, it could be usefull later.
|
||||
:param pool: current db's pooler object.
|
||||
:param model: model object which values are being changed
|
||||
:param resource_id: ID of record to which values are being changed
|
||||
:param res_ids: Id's of resource to be logged/compared.
|
||||
:param model: Object whose values are being changed
|
||||
:param method: method to log: create, read, unlink, write, actions, workflow actions
|
||||
:param old_values: dict of values read before execution of the method
|
||||
:param new_values: dict of values read after execution of the method
|
||||
:param field_list: optional argument containing the list of fields to log. Currently only
|
||||
used when performing a read, it could be usefull later on if we want to log the write
|
||||
on specific fields only.
|
||||
|
||||
:return: dictionary with
|
||||
* keys: tuples build as ID of model object to log and ID of resource to log
|
||||
* values: list of all the changes in field values for this couple (model, resource)
|
||||
return {
|
||||
(model.id, resource_id): []
|
||||
}
|
||||
|
||||
The reason why the structure returned is build as above is because when modifying an existing
|
||||
record, we may have to log a change done in a x2many field of that object
|
||||
"""
|
||||
if field_list is None:
|
||||
field_list = []
|
||||
key = (model.id, resource_id)
|
||||
lines = {
|
||||
key: []
|
||||
}
|
||||
# loop on all the fields
|
||||
for field_name, field_definition in pool.get(model.model)._all_columns.items():
|
||||
if field_name in ('__last_update', 'id'):
|
||||
:return: dict mapping a tuple (model_id, resource_id) with its value and textual value
|
||||
{ (model_id, resource_id): { 'value': ...
|
||||
'textual_value': ...
|
||||
},
|
||||
}
|
||||
"""
|
||||
data = {}
|
||||
resource_pool = pool.get(model.model)
|
||||
# read all the fields of the given resources in super admin mode
|
||||
for resource in resource_pool.read(cr, SUPERUSER_ID, res_ids):
|
||||
values = {}
|
||||
values_text = {}
|
||||
resource_id = resource['id']
|
||||
# loop on each field on the res_ids we just have read
|
||||
for field in resource:
|
||||
if field in ('__last_update', 'id'):
|
||||
continue
|
||||
#if the field_list param is given, skip all the fields not in that list
|
||||
if field_list and field_name not in field_list:
|
||||
continue
|
||||
field_obj = field_definition.column
|
||||
values[field] = resource[field]
|
||||
# get the textual value of that field for this record
|
||||
values_text[field] = get_value_text(cr, SUPERUSER_ID, pool, resource_pool, method, field, resource[field])
|
||||
|
||||
field_obj = resource_pool._all_columns.get(field).column
|
||||
if field_obj._type in ('one2many','many2many'):
|
||||
# checking if an audittrail rule apply in super admin mode
|
||||
if self.check_rules(cr, SUPERUSER_ID, field_obj._obj, method):
|
||||
# checking if the model associated to a *2m field exists, in super admin mode
|
||||
# check if an audittrail rule apply in super admin mode
|
||||
if check_rules(cr, SUPERUSER_ID, field_obj._obj, method):
|
||||
# check if the model associated to a *2m field exists, in super admin mode
|
||||
x2m_model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', field_obj._obj)])
|
||||
x2m_model_id = x2m_model_ids and x2m_model_ids[0] or False
|
||||
assert x2m_model_id, _("'%s' Model does not exist..." %(field_obj._obj))
|
||||
x2m_model = pool.get('ir.model').browse(cr, SUPERUSER_ID, x2m_model_id)
|
||||
# the resource_ids that need to be checked are the sum of both old and previous values (because we
|
||||
# need to log also creation or deletion in those lists).
|
||||
x2m_old_values_ids = old_values.get(key, {'value': {}})['value'].get(field_name, [])
|
||||
x2m_new_values_ids = new_values.get(key, {'value': {}})['value'].get(field_name, [])
|
||||
# We use list(set(...)) to remove duplicates.
|
||||
res_ids = list(set(x2m_old_values_ids + x2m_new_values_ids))
|
||||
field_resource_ids = list(set(resource[field]))
|
||||
if model.model == x2m_model.model:
|
||||
# we need to remove current resource_id from the many2many to prevent an infinit loop
|
||||
if resource_id in res_ids:
|
||||
res_ids.remove(resource_id)
|
||||
for res_id in res_ids:
|
||||
lines.update(self.prepare_audittrail_log_line(cr, SUPERUSER_ID, pool, x2m_model, res_id, method, old_values, new_values, field_list))
|
||||
# if the value value is different than the old value: record the change
|
||||
if key not in old_values or key not in new_values or old_values[key]['value'][field_name] != new_values[key]['value'][field_name]:
|
||||
data = {
|
||||
'name': field_name,
|
||||
'new_value': key in new_values and new_values[key]['value'].get(field_name),
|
||||
'old_value': key in old_values and old_values[key]['value'].get(field_name),
|
||||
'new_value_text': key in new_values and new_values[key]['text'].get(field_name),
|
||||
'old_value_text': key in old_values and old_values[key]['text'].get(field_name)
|
||||
}
|
||||
lines[key].append(data)
|
||||
return lines
|
||||
if resource_id in field_resource_ids:
|
||||
field_resource_ids.remove(resource_id)
|
||||
data.update(get_data(cr, SUPERUSER_ID, pool, field_resource_ids, x2m_model, method))
|
||||
|
||||
def process_data(self, cr, uid, pool, res_ids, model, method, old_values=None, new_values=None, field_list=None):
|
||||
"""
|
||||
This function processes and iterates recursively to log the difference between the old
|
||||
data (i.e before the method was executed) and the new data and creates audittrail log
|
||||
accordingly.
|
||||
data[(model.id, resource_id)] = {'text':values_text, 'value': values}
|
||||
return data
|
||||
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID,
|
||||
:param pool: current db's pooler object.
|
||||
:param res_ids: Id's of resource to be logged/compared.
|
||||
:param model: model object which values are being changed
|
||||
:param method: method to log: create, read, unlink, write, actions, workflow actions
|
||||
:param old_values: dict of values read before execution of the method
|
||||
:param new_values: dict of values read after execution of the method
|
||||
:param field_list: optional argument containing the list of fields to log. Currently only
|
||||
used when performing a read, it could be usefull later on if we want to log the write
|
||||
on specific fields only.
|
||||
:return: True
|
||||
"""
|
||||
if field_list is None:
|
||||
field_list = []
|
||||
# loop on all the given ids
|
||||
for res_id in res_ids:
|
||||
# compare old and new values and get audittrail log lines accordingly
|
||||
lines = self.prepare_audittrail_log_line(cr, uid, pool, model, res_id, method, old_values, new_values, field_list)
|
||||
def prepare_audittrail_log_line(cr, uid, pool, model, resource_id, method, old_values, new_values, field_list=None):
|
||||
"""
|
||||
This function compares the old data (i.e before the method was executed) and the new data
|
||||
(after the method was executed) and returns a structure with all the needed information to
|
||||
log those differences.
|
||||
|
||||
# if at least one modification has been found
|
||||
for model_id, resource_id in lines:
|
||||
name = pool.get(model.model).name_get(cr, uid, [resource_id])[0][1]
|
||||
vals = {
|
||||
'method': method,
|
||||
'object_id': model_id,
|
||||
'user_id': uid,
|
||||
'res_id': resource_id,
|
||||
'name': name,
|
||||
}
|
||||
if (model_id, resource_id) not in old_values and method not in ('copy', 'read'):
|
||||
# the resource was not existing so we are forcing the method to 'create'
|
||||
# (because it could also come with the value 'write' if we are creating
|
||||
# new record through a one2many field)
|
||||
vals.update({'method': 'create'})
|
||||
if (model_id, resource_id) not in new_values and method not in ('copy', 'read'):
|
||||
# the resource is not existing anymore so we are forcing the method to 'unlink'
|
||||
# (because it could also come with the value 'write' if we are deleting the
|
||||
# record through a one2many field)
|
||||
vals.update({'method': 'unlink'})
|
||||
# create the audittrail log in super admin mode, only if a change has been detected
|
||||
if lines[(model_id, resource_id)]:
|
||||
log_id = pool.get('audittrail.log').create(cr, SUPERUSER_ID, vals)
|
||||
model = pool.get('ir.model').browse(cr, uid, model_id)
|
||||
self.create_log_line(cr, SUPERUSER_ID, log_id, model, lines[(model_id, resource_id)])
|
||||
return True
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID. This parameter is currently not used as every
|
||||
operation to get data is made as super admin. Though, it could be usefull later.
|
||||
:param pool: current db's pooler object.
|
||||
:param model: model object which values are being changed
|
||||
:param resource_id: ID of record to which values are being changed
|
||||
:param method: method to log: create, read, unlink, write, actions, workflow actions
|
||||
:param old_values: dict of values read before execution of the method
|
||||
:param new_values: dict of values read after execution of the method
|
||||
:param field_list: optional argument containing the list of fields to log. Currently only
|
||||
used when performing a read, it could be usefull later on if we want to log the write
|
||||
on specific fields only.
|
||||
|
||||
def check_rules(self, cr, uid, model, method):
|
||||
"""
|
||||
Checks if auditrails is installed for that db and then if one rule match
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID,
|
||||
@param model: value of _name of the object which values are being changed
|
||||
@param method: method to log: create, read, unlink,write,actions,workflow actions
|
||||
@return: True or False
|
||||
"""
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
if 'audittrail.rule' in pool.models:
|
||||
model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', model)])
|
||||
model_id = model_ids and model_ids[0] or False
|
||||
if model_id:
|
||||
rule_ids = pool.get('audittrail.rule').search(cr, SUPERUSER_ID, [('object_id', '=', model_id), ('state', '=', 'subscribed')])
|
||||
for rule in pool.get('audittrail.rule').read(cr, SUPERUSER_ID, rule_ids, ['user_id','log_read','log_write','log_create','log_unlink','log_action','log_workflow']):
|
||||
if len(rule['user_id']) == 0 or uid in rule['user_id']:
|
||||
if rule.get('log_'+method,0):
|
||||
:return: dictionary with
|
||||
* keys: tuples build as ID of model object to log and ID of resource to log
|
||||
* values: list of all the changes in field values for this couple (model, resource)
|
||||
return {
|
||||
(model.id, resource_id): []
|
||||
}
|
||||
|
||||
The reason why the structure returned is build as above is because when modifying an existing
|
||||
record, we may have to log a change done in a x2many field of that object
|
||||
"""
|
||||
if field_list is None:
|
||||
field_list = []
|
||||
key = (model.id, resource_id)
|
||||
lines = {
|
||||
key: []
|
||||
}
|
||||
# loop on all the fields
|
||||
for field_name, field_definition in pool.get(model.model)._all_columns.items():
|
||||
if field_name in ('__last_update', 'id'):
|
||||
continue
|
||||
#if the field_list param is given, skip all the fields not in that list
|
||||
if field_list and field_name not in field_list:
|
||||
continue
|
||||
field_obj = field_definition.column
|
||||
if field_obj._type in ('one2many','many2many'):
|
||||
# checking if an audittrail rule apply in super admin mode
|
||||
if check_rules(cr, SUPERUSER_ID, field_obj._obj, method):
|
||||
# checking if the model associated to a *2m field exists, in super admin mode
|
||||
x2m_model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', field_obj._obj)])
|
||||
x2m_model_id = x2m_model_ids and x2m_model_ids[0] or False
|
||||
assert x2m_model_id, _("'%s' Model does not exist..." %(field_obj._obj))
|
||||
x2m_model = pool.get('ir.model').browse(cr, SUPERUSER_ID, x2m_model_id)
|
||||
# the resource_ids that need to be checked are the sum of both old and previous values (because we
|
||||
# need to log also creation or deletion in those lists).
|
||||
x2m_old_values_ids = old_values.get(key, {'value': {}})['value'].get(field_name, [])
|
||||
x2m_new_values_ids = new_values.get(key, {'value': {}})['value'].get(field_name, [])
|
||||
# We use list(set(...)) to remove duplicates.
|
||||
res_ids = list(set(x2m_old_values_ids + x2m_new_values_ids))
|
||||
if model.model == x2m_model.model:
|
||||
# we need to remove current resource_id from the many2many to prevent an infinit loop
|
||||
if resource_id in res_ids:
|
||||
res_ids.remove(resource_id)
|
||||
for res_id in res_ids:
|
||||
lines.update(prepare_audittrail_log_line(cr, SUPERUSER_ID, pool, x2m_model, res_id, method, old_values, new_values, field_list))
|
||||
# if the value value is different than the old value: record the change
|
||||
if key not in old_values or key not in new_values or old_values[key]['value'][field_name] != new_values[key]['value'][field_name]:
|
||||
data = {
|
||||
'name': field_name,
|
||||
'new_value': key in new_values and new_values[key]['value'].get(field_name),
|
||||
'old_value': key in old_values and old_values[key]['value'].get(field_name),
|
||||
'new_value_text': key in new_values and new_values[key]['text'].get(field_name),
|
||||
'old_value_text': key in old_values and old_values[key]['text'].get(field_name)
|
||||
}
|
||||
lines[key].append(data)
|
||||
return lines
|
||||
|
||||
def process_data(cr, uid, pool, res_ids, model, method, old_values=None, new_values=None, field_list=None):
|
||||
"""
|
||||
This function processes and iterates recursively to log the difference between the old
|
||||
data (i.e before the method was executed) and the new data and creates audittrail log
|
||||
accordingly.
|
||||
|
||||
:param cr: the current row, from the database cursor,
|
||||
:param uid: the current user’s ID,
|
||||
:param pool: current db's pooler object.
|
||||
:param res_ids: Id's of resource to be logged/compared.
|
||||
:param model: model object which values are being changed
|
||||
:param method: method to log: create, read, unlink, write, actions, workflow actions
|
||||
:param old_values: dict of values read before execution of the method
|
||||
:param new_values: dict of values read after execution of the method
|
||||
:param field_list: optional argument containing the list of fields to log. Currently only
|
||||
used when performing a read, it could be usefull later on if we want to log the write
|
||||
on specific fields only.
|
||||
:return: True
|
||||
"""
|
||||
if field_list is None:
|
||||
field_list = []
|
||||
# loop on all the given ids
|
||||
for res_id in res_ids:
|
||||
# compare old and new values and get audittrail log lines accordingly
|
||||
lines = prepare_audittrail_log_line(cr, uid, pool, model, res_id, method, old_values, new_values, field_list)
|
||||
|
||||
# if at least one modification has been found
|
||||
for model_id, resource_id in lines:
|
||||
name = pool.get(model.model).name_get(cr, uid, [resource_id])[0][1]
|
||||
vals = {
|
||||
'method': method,
|
||||
'object_id': model_id,
|
||||
'user_id': uid,
|
||||
'res_id': resource_id,
|
||||
'name': name,
|
||||
}
|
||||
if (model_id, resource_id) not in old_values and method not in ('copy', 'read'):
|
||||
# the resource was not existing so we are forcing the method to 'create'
|
||||
# (because it could also come with the value 'write' if we are creating
|
||||
# new record through a one2many field)
|
||||
vals.update({'method': 'create'})
|
||||
if (model_id, resource_id) not in new_values and method not in ('copy', 'read'):
|
||||
# the resource is not existing anymore so we are forcing the method to 'unlink'
|
||||
# (because it could also come with the value 'write' if we are deleting the
|
||||
# record through a one2many field)
|
||||
vals.update({'method': 'unlink'})
|
||||
# create the audittrail log in super admin mode, only if a change has been detected
|
||||
if lines[(model_id, resource_id)]:
|
||||
log_id = pool.get('audittrail.log').create(cr, SUPERUSER_ID, vals)
|
||||
model = pool.get('ir.model').browse(cr, uid, model_id)
|
||||
create_log_line(cr, SUPERUSER_ID, log_id, model, lines[(model_id, resource_id)])
|
||||
return True
|
||||
|
||||
def check_rules(cr, uid, model, method):
|
||||
"""
|
||||
Checks if auditrails is installed for that db and then if one rule match
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID,
|
||||
@param model: value of _name of the object which values are being changed
|
||||
@param method: method to log: create, read, unlink,write,actions,workflow actions
|
||||
@return: True or False
|
||||
"""
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
if 'audittrail.rule' in pool.models:
|
||||
model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', model)])
|
||||
model_id = model_ids and model_ids[0] or False
|
||||
if model_id:
|
||||
rule_ids = pool.get('audittrail.rule').search(cr, SUPERUSER_ID, [('object_id', '=', model_id), ('state', '=', 'subscribed')])
|
||||
for rule in pool.get('audittrail.rule').read(cr, SUPERUSER_ID, rule_ids, ['user_id','log_read','log_write','log_create','log_unlink','log_action','log_workflow']):
|
||||
if len(rule['user_id']) == 0 or uid in rule['user_id']:
|
||||
if rule.get('log_'+method,0):
|
||||
return True
|
||||
elif method not in ('default_get','read','fields_view_get','fields_get','search','search_count','name_search','name_get','get','request_get', 'get_sc', 'unlink', 'write', 'create', 'read_group', 'import_data'):
|
||||
if rule['log_action']:
|
||||
return True
|
||||
elif method not in ('default_get','read','fields_view_get','fields_get','search','search_count','name_search','name_get','get','request_get', 'get_sc', 'unlink', 'write', 'create', 'read_group', 'import_data'):
|
||||
if rule['log_action']:
|
||||
return True
|
||||
|
||||
def execute_cr(self, cr, uid, model, method, *args, **kw):
|
||||
fct_src = super(audittrail_objects_proxy, self).execute_cr
|
||||
if self.check_rules(cr,uid,model,method):
|
||||
return self.log_fct(cr, uid, model, method, fct_src, *args, **kw)
|
||||
return fct_src(cr, uid, model, method, *args, **kw)
|
||||
# Replace the openerp.service.model functions.
|
||||
|
||||
def exec_workflow_cr(self, cr, uid, model, method, *args, **kw):
|
||||
fct_src = super(audittrail_objects_proxy, self).exec_workflow_cr
|
||||
if self.check_rules(cr,uid,model,'workflow'):
|
||||
return self.log_fct(cr, uid, model, method, fct_src, *args, **kw)
|
||||
return fct_src(cr, uid, model, method, *args, **kw)
|
||||
original_execute_cr = openerp.service.model.execute_cr
|
||||
original_exec_workflow_cr = openerp.service.model.exec_workflow_cr
|
||||
|
||||
audittrail_objects_proxy()
|
||||
def execute_cr(cr, uid, model, method, *args, **kw):
|
||||
fct_src = original_execute_cr
|
||||
if check_rules(cr,uid,model,method):
|
||||
return log_fct(cr, uid, model, method, fct_src, *args, **kw)
|
||||
return fct_src(cr, uid, model, method, *args, **kw)
|
||||
|
||||
def exec_workflow_cr(cr, uid, model, method, *args, **kw):
|
||||
fct_src = original_exec_workflow_cr
|
||||
if check_rules(cr,uid,model,'workflow'):
|
||||
return log_fct(cr, uid, model, method, fct_src, *args, **kw)
|
||||
return fct_src(cr, uid, model, method, *args, **kw)
|
||||
|
||||
openerp.service.model.execute_cr = execute_cr
|
||||
openerp.service.model.exec_workflow_cr = exec_workflow_cr
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -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"
|
||||
#~ " "
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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 "Пользователи"
|
|
@ -36,6 +36,8 @@ 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']
|
||||
|
|
|
@ -0,0 +1,289 @@
|
|||
# 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-09 13: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-10 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16482)\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 "base.config.settings"
|
||||
|
||||
#. 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 ""
|
||||
"\n"
|
||||
"<p>Энэ имэйлтэй холбогдсон OpenERP дансны нууц үгийг шинэчлэхийг хүссэн "
|
||||
"байна.</p>\n"
|
||||
"\n"
|
||||
"<p>Нууц үгээ <a href=\"${object.signup_url}\">энэ холбоосоор</a> орж "
|
||||
"шинэчлэх боломжтой.</p>\n"
|
||||
"\n"
|
||||
"<p>Санамж: Хэрэв үүнийг таамаглаагүй байсан бол энэ имэйлийг хэрэгсэхгүй "
|
||||
"байж болно.</p>"
|
||||
|
||||
#. 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 "Бүртгүүлэх URL"
|
||||
|
||||
#. 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 ""
|
||||
"Имэйл илгээх боломжгүй: гарах имэйл сервер тохируулагдаагүй байна.\n"
|
||||
"Тохиргоо/Ерөнхий тохиргоо дотор үүнийг тохируулах боломжтой."
|
||||
|
||||
#. 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 "Бүртгүүлэх Жетон"
|
|
@ -1,4 +1,4 @@
|
|||
from osv import osv, fields
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
AVAILABLE_STATES = [
|
||||
('draft', 'New'),
|
||||
|
|
|
@ -24,12 +24,13 @@ from dateutil import parser
|
|||
from dateutil import rrule
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.service import web_services
|
||||
from openerp.tools.translate import _
|
||||
import pytz
|
||||
import re
|
||||
import time
|
||||
|
||||
from openerp import tools, SUPERUSER_ID
|
||||
import openerp.service.report
|
||||
|
||||
months = {
|
||||
1: "January", 2: "February", 3: "March", 4: "April", \
|
||||
|
@ -1729,27 +1730,25 @@ class ir_model(osv.osv):
|
|||
|
||||
ir_model()
|
||||
|
||||
class virtual_report_spool(web_services.report_spool):
|
||||
original_exp_report = openerp.service.report.exp_report
|
||||
|
||||
def exp_report(self, db, uid, object, ids, data=None, context=None):
|
||||
"""
|
||||
Export Report
|
||||
@param self: The object pointer
|
||||
@param db: get the current database,
|
||||
@param uid: the current user's ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
def exp_report(db, uid, object, ids, data=None, context=None):
|
||||
"""
|
||||
Export Report
|
||||
@param db: get the current database,
|
||||
@param uid: the current user's ID for security checks,
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
|
||||
if object == 'printscreen.list':
|
||||
return super(virtual_report_spool, self).exp_report(db, uid, \
|
||||
object, ids, data, context)
|
||||
new_ids = []
|
||||
for id in ids:
|
||||
new_ids.append(base_calendar_id2real_id(id))
|
||||
if data.get('id', False):
|
||||
data['id'] = base_calendar_id2real_id(data['id'])
|
||||
return super(virtual_report_spool, self).exp_report(db, uid, object, new_ids, data, context)
|
||||
if object == 'printscreen.list':
|
||||
original_exp_report(db, uid, object, ids, data, context)
|
||||
new_ids = []
|
||||
for id in ids:
|
||||
new_ids.append(base_calendar_id2real_id(id))
|
||||
if data.get('id', False):
|
||||
data['id'] = base_calendar_id2real_id(data['id'])
|
||||
return original_exp_report(db, uid, object, new_ids, data, context)
|
||||
|
||||
virtual_report_spool()
|
||||
openerp.service.report.exp_report = exp_report
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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-12-14 22:33+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
|
||||
"PO-Revision-Date: 2013-02-12 22:11+0000\n"
|
||||
"Last-Translator: Davor Bojkić <bole@dajmi5.com>\n"
|
||||
"Language-Team: Croatian <hr@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-13 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -29,7 +29,7 @@ msgstr "Dohvati sve moguće vrijednosti"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:71
|
||||
#, python-format
|
||||
msgid "Need to import data from an other application?"
|
||||
msgstr ""
|
||||
msgstr "Potreban je uvoz podataka iz druge aplikacije?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -47,6 +47,15 @@ msgid ""
|
|||
"give \n"
|
||||
" you an example for Products and their Categories."
|
||||
msgstr ""
|
||||
"Kada koristite vanjske ID-eve, možete uvesti csv datoteke \n"
|
||||
" sa kolonom \"External ID\" "
|
||||
"definirate vanjski ID svakog zapisa \n"
|
||||
" koji uvozite. Tada ćete biti "
|
||||
"u mogućnosti napraviti referencu \n"
|
||||
" na taj zapis sa kolonama tipa "
|
||||
"\"polje/External ID\". Sljedeća dvije \n"
|
||||
" csv datoteke daju primjer za "
|
||||
"proizvode i njihove kategorije."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -56,13 +65,16 @@ msgid ""
|
|||
"How to export/import different tables from an SQL \n"
|
||||
" application to OpenERP?"
|
||||
msgstr ""
|
||||
"Kako izvesti/uvesti različite tablice iz SQL \n"
|
||||
" "
|
||||
"programa u OpenERP"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:310
|
||||
#, python-format
|
||||
msgid "Relation Fields"
|
||||
msgstr ""
|
||||
msgstr "Relacijska polja"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -72,6 +84,9 @@ msgid ""
|
|||
"Country/Database ID: the unique OpenERP ID for a \n"
|
||||
" record, defined by the ID postgresql column"
|
||||
msgstr ""
|
||||
"Država/ID baze: jedinstveni OpenERP ID za \n"
|
||||
" "
|
||||
" zapis, definran kolonom postgres kolonom ID"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -87,6 +102,16 @@ msgid ""
|
|||
"\n"
|
||||
" have a unique Database ID)"
|
||||
msgstr ""
|
||||
"Korištenje \n"
|
||||
" Država/ID "
|
||||
"BAze : ovo bi trebali rijetko koristiti\n"
|
||||
" za "
|
||||
"označavanje. Ovo je većinom korišteno od strane programera\n"
|
||||
" jer je "
|
||||
"glavna prednost ovoga to što nikad nema konflikata \n"
|
||||
" (možete "
|
||||
"imati više zapisa istog naziva, ali uvjek sa jedinstvenim IDentifikatorom u "
|
||||
"Bazi)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -96,6 +121,9 @@ msgid ""
|
|||
"For the country \n"
|
||||
" Belgium, you can use one of these 3 ways to import:"
|
||||
msgstr ""
|
||||
"Za državu \n"
|
||||
" "
|
||||
" Belgiju, možete koristiti jedan od ova 3 načina uza uvoz:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -121,13 +149,20 @@ msgid ""
|
|||
"companies) TO \n"
|
||||
" '/tmp/company.csv' with CSV HEADER;"
|
||||
msgstr ""
|
||||
"kopirajte \n"
|
||||
" (select "
|
||||
"'company_'||id as \"External ID\",company_name\n"
|
||||
" as "
|
||||
"\"Name\",'True' as \"Is a Company\" from companies) TO\n"
|
||||
" "
|
||||
"'/tmp/company.csv' with CSV HEADER;"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:206
|
||||
#, python-format
|
||||
msgid "CSV file for Manufacturer, Retailer"
|
||||
msgstr ""
|
||||
msgstr "CSV datoteka za Proizvođače, Veletrgovce"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -139,6 +174,11 @@ msgid ""
|
|||
"\n"
|
||||
" data from a third party application."
|
||||
msgstr ""
|
||||
"Koristi \n"
|
||||
" Država/Vanjski ID. "
|
||||
"koristite vanjski ID kad uvozite \n"
|
||||
" podatke iz drugih "
|
||||
"aplikacija."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -152,7 +192,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:80
|
||||
#, python-format
|
||||
msgid "XXX/External ID"
|
||||
msgstr ""
|
||||
msgstr "XXX/Vanjski ID"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -181,6 +221,14 @@ msgid ""
|
|||
"\n"
|
||||
" See the following question."
|
||||
msgstr ""
|
||||
"Primjetite da vaša csv datoteka \n"
|
||||
" ima tabulator za "
|
||||
"odvajanje, a OpenERP neće \n"
|
||||
" primjetiti ta odvajanja. "
|
||||
"Morate promjineiti format \n"
|
||||
" zapisa u vašem tabličnom "
|
||||
"kalkulatoru. \n"
|
||||
" Vidi sljedeće pitanje."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -199,7 +247,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:239
|
||||
#, python-format
|
||||
msgid "Can I import several times the same record?"
|
||||
msgstr ""
|
||||
msgstr "Mogu li isti zapis uvesti nekoliko puta?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -213,7 +261,7 @@ msgstr "Potvrdi"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:55
|
||||
#, python-format
|
||||
msgid "Map your data to OpenERP"
|
||||
msgstr ""
|
||||
msgstr "Mapirajte vaše podatke na OpenERP"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -224,6 +272,10 @@ msgid ""
|
|||
" the easiest way when your data come from CSV files \n"
|
||||
" that have been created manually."
|
||||
msgstr ""
|
||||
"Korištenje Države: ovo je \n"
|
||||
" najlakši način kada vaši "
|
||||
"podaci dolaze iz csv datoteka\n"
|
||||
" koje su sastavljene ručno."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -233,6 +285,8 @@ msgid ""
|
|||
"What's the difference between Database ID and \n"
|
||||
" External ID?"
|
||||
msgstr ""
|
||||
"Koja je razlika izmeži ID Baze i \n"
|
||||
" vanjski ID?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -244,25 +298,30 @@ msgid ""
|
|||
"\n"
|
||||
" you 3 different fields to import:"
|
||||
msgstr ""
|
||||
"Na primjer, \n"
|
||||
" referenciranje države "
|
||||
"kontakta, OpenERP predlaže \n"
|
||||
" 3 različita polja za "
|
||||
"uvoz :"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:175
|
||||
#, python-format
|
||||
msgid "What can I do if I have multiple matches for a field?"
|
||||
msgstr ""
|
||||
msgstr "Što da radim ako imam više istih zapisa za polje?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:302
|
||||
#, python-format
|
||||
msgid "External ID,Name,Is a Company"
|
||||
msgstr ""
|
||||
msgstr "Vanjski ID , Naziv, Je Tvrtka"
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,somevalue:0
|
||||
msgid "Some Value"
|
||||
msgstr ""
|
||||
msgstr "Neka vrijednost"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -272,6 +331,9 @@ msgid ""
|
|||
"The following CSV file shows how to import \n"
|
||||
" suppliers and their respective contacts"
|
||||
msgstr ""
|
||||
"Sljedeća csv datoteka pokazuje kako uvesti \n"
|
||||
" "
|
||||
" dobavljače i njihove pripadne kontakte"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -281,6 +343,9 @@ msgid ""
|
|||
"How can I change the CSV file format options when \n"
|
||||
" saving in my spreadsheet application?"
|
||||
msgstr ""
|
||||
"Kako da promijenim opcije csv formata \n"
|
||||
" "
|
||||
"kada spremam datoteku u tabličnom kalkulatoru?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -301,6 +366,21 @@ msgid ""
|
|||
"orignial \n"
|
||||
" database)."
|
||||
msgstr ""
|
||||
"kako možete vidjeti iz ove datoteke, Fabien i Laurence \n"
|
||||
" "
|
||||
" rade za organizaciju Biggies (company_1), a \n"
|
||||
" "
|
||||
" Eric radi za Organi. Pozezivanje osoba i "
|
||||
"organizacija se radi \n"
|
||||
" "
|
||||
" korištenjem Vanjskog ID-a organizacije. Morali smo "
|
||||
"staviti prefix \n"
|
||||
" "
|
||||
" naziva tablice na Vanjski ID da izbjegnemo konflikt "
|
||||
"istog ID-a osobe \n"
|
||||
" "
|
||||
" i organizacije (osoba_1 i organizacija_1 koji dijele "
|
||||
"isti ID u originalnoj bazi)."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -315,13 +395,20 @@ msgid ""
|
|||
"\n"
|
||||
" '/tmp/person.csv' with CSV"
|
||||
msgstr ""
|
||||
"kopirajte \n"
|
||||
" (select'person_'||id as \"External ID\",person_name "
|
||||
"as\n"
|
||||
" \"Name\",'False' as \"Is a "
|
||||
"Company\",'company_'||company_id\n"
|
||||
" as \"Related Company/External ID\" from persons) TO\n"
|
||||
" '/tmp/person.csv' with CSV"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:148
|
||||
#, python-format
|
||||
msgid "Country: Belgium"
|
||||
msgstr ""
|
||||
msgstr "Država : Belgija"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char_stillreadonly
|
||||
|
@ -342,7 +429,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:233
|
||||
#, python-format
|
||||
msgid "Suppliers and their respective contacts"
|
||||
msgstr ""
|
||||
msgstr "Dobavljači i njihovi pripadni kontakti"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -375,6 +462,11 @@ msgid ""
|
|||
"\n"
|
||||
" PSQL:"
|
||||
msgstr ""
|
||||
"Za stvaranje csv datoteke za osobe povezane sa \n"
|
||||
" "
|
||||
" organizacijama, koristimo ljedeću SQL naredbu u \n"
|
||||
" "
|
||||
" PSQL:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -386,6 +478,13 @@ msgid ""
|
|||
" (in 'Save As' dialog box > click 'Tools' dropdown \n"
|
||||
" list > Encoding tab)."
|
||||
msgstr ""
|
||||
"Microsoft Excell će vam omogućiti \n"
|
||||
" da promjenite kodnu stranu "
|
||||
"jedino kod snimanja \n"
|
||||
" (U 'Save as' dijalogu > "
|
||||
"kliknite na 'Tools' padajući izbornik > \n"
|
||||
" odaberite 'Encoding' "
|
||||
"karticu)"
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.tests.models.preview,othervalue:0
|
||||
|
@ -402,6 +501,13 @@ msgid ""
|
|||
" later, it's thus good practice to specify it\n"
|
||||
" whenever possible"
|
||||
msgstr ""
|
||||
"će također biti korišteno za ažuriranje originalnog \n"
|
||||
" "
|
||||
"uvoza, ako kasnije trebate ponovo uvesti \n"
|
||||
" "
|
||||
"izmjenjene podatke, zato se smatra dobrom praksom \n"
|
||||
" "
|
||||
"koristiti kad god je moguće"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -411,6 +517,9 @@ msgid ""
|
|||
"file to import. If you need a sample importable file, you\n"
|
||||
" can use the export tool to generate one."
|
||||
msgstr ""
|
||||
"datoteka za uvoz. Ako trebate uzorak datoteke koja se može uvesti,\n"
|
||||
" možete koristiti "
|
||||
"alat za izvoz da napravite jednu."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -419,7 +528,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Country/Database \n"
|
||||
" ID: 21"
|
||||
msgstr ""
|
||||
msgstr "Država/Baza"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_char
|
||||
|
@ -429,14 +538,14 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: help:base_import.import,file:0
|
||||
msgid "File to check and/or import, raw binary (not base64)"
|
||||
msgstr ""
|
||||
msgstr "Datoteke za provjeru i/ili uvoz, raw binary ( ne base64)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:230
|
||||
#, python-format
|
||||
msgid "Purchase orders with their respective purchase order lines"
|
||||
msgstr ""
|
||||
msgstr "Narudžbe i njihove pripadne stavke"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -448,6 +557,14 @@ msgid ""
|
|||
" field corresponding to the column. This makes imports\n"
|
||||
" simpler especially when the file has many columns."
|
||||
msgstr ""
|
||||
"Ako datoteka sadrži\n"
|
||||
" nazive kolona, OpenERP može "
|
||||
"pokušati \n"
|
||||
" automatski odrediti polja koja "
|
||||
"odgovaraju kolonama. \n"
|
||||
" Ovo čini uvoz jednostavnijim "
|
||||
"pogotovo ako datoteka ima \n"
|
||||
" mnogo kolona."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -464,6 +581,8 @@ msgid ""
|
|||
". The issue is\n"
|
||||
" usually an incorrect file encoding."
|
||||
msgstr ""
|
||||
". Problem je \n"
|
||||
" obično netočna kodna strana."
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required
|
||||
|
@ -519,7 +638,7 @@ msgstr "ID baze podataka"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:313
|
||||
#, python-format
|
||||
msgid "It will produce the following CSV file:"
|
||||
msgstr ""
|
||||
msgstr "Će napraviti sljedeću csv datoteku:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -548,7 +667,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:360
|
||||
#, python-format
|
||||
msgid "Import preview failed due to:"
|
||||
msgstr ""
|
||||
msgstr "Predpregled uvoza nije uspio zbog:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -643,7 +762,7 @@ msgstr "Uvezi CSV datoteku"
|
|||
#: code:addons/base_import/static/src/js/import.js:74
|
||||
#, python-format
|
||||
msgid "Quoting:"
|
||||
msgstr ""
|
||||
msgstr "Navođenje:"
|
||||
|
||||
#. module: base_import
|
||||
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related
|
||||
|
@ -670,7 +789,7 @@ msgstr "Uvoz"
|
|||
#: code:addons/base_import/static/src/js/import.js:407
|
||||
#, python-format
|
||||
msgid "Here are the possible values:"
|
||||
msgstr ""
|
||||
msgstr "Evo mogućih vrijednosti:"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -687,13 +806,15 @@ msgid ""
|
|||
"A single column was found in the file, this often means the file separator "
|
||||
"is incorrect"
|
||||
msgstr ""
|
||||
"U datoteci je nađena samo jedna kolona, to često znači da je format "
|
||||
"razdjelnika neispravan."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/xml/import.xml:293
|
||||
#, python-format
|
||||
msgid "dump of such a PostgreSQL database"
|
||||
msgstr ""
|
||||
msgstr "dump takve PostgereSQL baze"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -710,6 +831,9 @@ msgid ""
|
|||
"The following CSV file shows how to import purchase \n"
|
||||
" orders with their respective purchase order lines:"
|
||||
msgstr ""
|
||||
"Sljedeća csv datoteka pokazuje kako uvesti \n"
|
||||
" naloge za nabavu sa "
|
||||
"njihovm pripadnim stavkama :"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -719,6 +843,9 @@ msgid ""
|
|||
"What can I do when the Import preview table isn't \n"
|
||||
" displayed correctly?"
|
||||
msgstr ""
|
||||
"Što mogu uraditi kada se tablice Predpregleda za uvoz\n"
|
||||
" "
|
||||
" ne prikazuju ispravno?"
|
||||
|
||||
#. module: base_import
|
||||
#: field:base_import.tests.models.char,value:0
|
||||
|
@ -770,7 +897,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:396
|
||||
#, python-format
|
||||
msgid "(%d more)"
|
||||
msgstr ""
|
||||
msgstr "(%d više)"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -829,7 +956,7 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/js/import.js:373
|
||||
#, python-format
|
||||
msgid "Everything seems valid."
|
||||
msgstr ""
|
||||
msgstr "Sve se čini u redu."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -914,6 +1041,15 @@ msgid ""
|
|||
" will set the EMPTY value in the field, instead of \n"
|
||||
" assigning the default value."
|
||||
msgstr ""
|
||||
"Ako ne postavite sva polja u vašoj csv datoteci, \n"
|
||||
" OpenERP će "
|
||||
"dodijeliti zadane vrijednosti za svako \n"
|
||||
" nedefinirano "
|
||||
"polje, ali ako postavite polja sa praznim virjenostima u csv-u \n"
|
||||
" OpenERP će "
|
||||
"postaviti vrijednost tih polja na \"PRAZNO\", umjesto da im \n"
|
||||
" dodijeli zadane "
|
||||
"vrijednosti"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -930,6 +1066,9 @@ msgid ""
|
|||
"What happens if I do not provide a value for a \n"
|
||||
" specific field?"
|
||||
msgstr ""
|
||||
"Što se dešava ako ne dajem vrijednost za \n"
|
||||
" "
|
||||
"pojedino polje?"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -957,6 +1096,11 @@ msgid ""
|
|||
"spreadsheet \n"
|
||||
" application."
|
||||
msgstr ""
|
||||
"Ovo vam \n"
|
||||
" omogućuje da "
|
||||
"koristite alat za Uvoz/Izvoz OpenERP-a \n"
|
||||
" za izmjenu serija "
|
||||
"zapisa u vašem omiljenom tabličnom kalkulatoru"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -993,14 +1137,14 @@ msgstr ""
|
|||
#: code:addons/base_import/static/src/xml/import.xml:169
|
||||
#, python-format
|
||||
msgid "CSV file for categories"
|
||||
msgstr ""
|
||||
msgstr "CSV datoteka za kategorije"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:309
|
||||
#, python-format
|
||||
msgid "Normal Fields"
|
||||
msgstr ""
|
||||
msgstr "Normalna polja"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1012,6 +1156,11 @@ msgid ""
|
|||
" identifier from the original application and\n"
|
||||
" map it to the"
|
||||
msgstr ""
|
||||
"kako bi ponovo napravili relacije između\n"
|
||||
" "
|
||||
"različitih zapisa, trebali bi koristiti jedinstveni\n"
|
||||
" "
|
||||
"identifikator iz originalnog zapisa i njega mapirati na"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1054,7 +1203,7 @@ msgstr "Naziv"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:80
|
||||
#, python-format
|
||||
msgid "to the original unique identifier."
|
||||
msgstr ""
|
||||
msgstr "originalni jedinstveni identifikator"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1131,14 +1280,14 @@ msgstr "Vanjski ID"
|
|||
#: code:addons/base_import/static/src/xml/import.xml:39
|
||||
#, python-format
|
||||
msgid "File Format Options…"
|
||||
msgstr ""
|
||||
msgstr "Opcije Formata datoteka..."
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
#: code:addons/base_import/static/src/js/import.js:392
|
||||
#, python-format
|
||||
msgid "between rows %d and %d"
|
||||
msgstr ""
|
||||
msgstr "između reda %d i %d"
|
||||
|
||||
#. module: base_import
|
||||
#. openerp-web
|
||||
|
@ -1163,4 +1312,4 @@ msgstr ""
|
|||
#. module: base_import
|
||||
#: field:base_import.import,file:0
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Datoteka"
|
||||
|
|
|
@ -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:])
|
||||
|
@ -627,7 +628,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 +640,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 +656,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
|
||||
|
|
|
@ -327,6 +327,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/>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Mail script will fetch his request from mail server. Then I process that mail after read EML file.
|
||||
-
|
||||
!python {model: mail.thread}: |
|
||||
import addons
|
||||
from openerp import addons
|
||||
request_file = open(addons.get_module_resource('crm','test', 'customer_request.eml'),'rb')
|
||||
request_message = request_file.read()
|
||||
self.message_process(cr, uid, 'crm.lead', request_message)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Mail script will be fetched him request from mail server. so I process that mail after read EML file
|
||||
-
|
||||
!python {model: mail.thread}: |
|
||||
import addons
|
||||
from openerp import addons
|
||||
request_file = open(addons.get_module_resource('crm_claim','test', 'customer_claim.eml'),'rb')
|
||||
request_message = request_file.read()
|
||||
self.message_process(cr, uid, 'crm.claim', request_message)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Mail script will be fetched him request from mail server. so I process that mail after read EML file
|
||||
-
|
||||
!python {model: mail.thread}: |
|
||||
import addons
|
||||
from openerp import addons
|
||||
request_file = open(addons.get_module_resource('crm_helpdesk','test', 'customer_question.eml'),'rb')
|
||||
request_message = request_file.read()
|
||||
self.message_process(cr, uid, 'crm.helpdesk', request_message)
|
||||
|
|
|
@ -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','<>',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>
|
||||
|
|
|
@ -31,7 +31,8 @@
|
|||
I print a Delivery Order report.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
import netsvc, tools, os
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
sale = self.pool.get('sale.order')
|
||||
sale_order = sale.browse(cr, uid, ref("sale.sale_order_6"))
|
||||
ship_ids = [x.id for x in sale_order.picking_ids]
|
||||
|
|
|
@ -31,11 +31,11 @@ from StringIO import StringIO
|
|||
import psycopg2
|
||||
|
||||
import openerp
|
||||
from openerp import netsvc
|
||||
from openerp import pooler
|
||||
from openerp import tools
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.osv.orm import except_orm
|
||||
import openerp.report.interface
|
||||
from openerp.tools.misc import ustr
|
||||
from openerp.tools.translate import _
|
||||
from openerp.tools.safe_eval import safe_eval
|
||||
|
@ -456,7 +456,7 @@ class document_directory_content(osv.osv):
|
|||
if node.extension != '.pdf':
|
||||
raise Exception("Invalid content: %s" % node.extension)
|
||||
report = self.pool.get('ir.actions.report.xml').browse(cr, uid, node.report_id, context=context)
|
||||
srv = netsvc.Service._services['report.'+report.report_name]
|
||||
srv = openerp.report.interface.report_int._reports['report.'+report.report_name]
|
||||
ctx = node.context.context.copy()
|
||||
ctx.update(node.dctx)
|
||||
pdf,pdftype = srv.create(cr, uid, [node.act_id,], {}, context=ctx)
|
||||
|
|
|
@ -10,6 +10,7 @@ import glob
|
|||
import fnmatch
|
||||
|
||||
from openerp import pooler, netsvc, sql_db
|
||||
import openerp.service
|
||||
from openerp.service import security
|
||||
from openerp.osv import osv
|
||||
|
||||
|
@ -60,7 +61,7 @@ class abstracted_fs(object):
|
|||
def db_list(self):
|
||||
"""Get the list of available databases, with FTPd support
|
||||
"""
|
||||
s = netsvc.ExportService.getService('db')
|
||||
s = openerp.service.db
|
||||
result = s.exp_list(document=True)
|
||||
self.db_name_list = []
|
||||
for db_name in result:
|
||||
|
|
|
@ -42,8 +42,8 @@
|
|||
-
|
||||
!python {model: ir.attachment}: |
|
||||
from ftplib import FTP
|
||||
from tools.misc import detect_ip_addr
|
||||
from tools import config
|
||||
from openerp.tools.misc import detect_ip_addr
|
||||
from openerp.tools import config
|
||||
ftp = FTP()
|
||||
if detect_ip_addr:
|
||||
host = config.get('ftp_server_host', detect_ip_addr())
|
||||
|
@ -71,8 +71,8 @@
|
|||
-
|
||||
!python {model: ir.attachment}: |
|
||||
from ftplib import FTP
|
||||
from tools.misc import detect_ip_addr
|
||||
from tools import config
|
||||
from openerp.tools.misc import detect_ip_addr
|
||||
from openerp.tools import config
|
||||
ftp = FTP()
|
||||
if detect_ip_addr:
|
||||
host = config.get('ftp_server_host', detect_ip_addr())
|
||||
|
|
|
@ -38,6 +38,7 @@ except ImportError:
|
|||
|
||||
import openerp
|
||||
from openerp import pooler, sql_db, netsvc
|
||||
import openerp.service
|
||||
from openerp.tools import misc
|
||||
|
||||
from cache import memoize
|
||||
|
@ -372,7 +373,7 @@ class openerp_dav_handler(dav_interface):
|
|||
@memoize(4)
|
||||
def _all_db_list(self):
|
||||
"""return all databases who have module document_webdav installed"""
|
||||
s = netsvc.ExportService.getService('db')
|
||||
s = openerp.service.db
|
||||
result = s.exp_list()
|
||||
self.db_name_list=[]
|
||||
for db_name in result:
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
|
||||
import logging
|
||||
import openerp
|
||||
from openerp import netsvc
|
||||
from dav_fs import openerp_dav_handler
|
||||
from openerp.tools.config import config
|
||||
|
@ -56,7 +57,6 @@ import urllib
|
|||
import re
|
||||
import time
|
||||
from string import atoi
|
||||
import addons
|
||||
import socket
|
||||
# from DAV.constants import DAV_VERSION_1, DAV_VERSION_2
|
||||
from xml.dom import minidom
|
||||
|
@ -609,7 +609,7 @@ try:
|
|||
if base_path and base_path == '/':
|
||||
dir_path = config.get_misc('static-http', 'dir_path', False)
|
||||
else:
|
||||
dir_path = addons.get_module_resource('document_webdav','public_html')
|
||||
dir_path = openerp.addons.get_module_resource('document_webdav','public_html')
|
||||
# an _ugly_ hack: we put that dir back in tools.config.misc, so that
|
||||
# the StaticHttpHandler can find its dir_path.
|
||||
config.misc.setdefault('static-http',{})['dir_path'] = dir_path
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -21,45 +21,46 @@
|
|||
import logging
|
||||
|
||||
import openerp
|
||||
import openerp.netsvc as netsvc
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class edi(netsvc.ExportService):
|
||||
# TODO this is not needed anymore:
|
||||
# - the exposed new service just forward to the model service
|
||||
# - the service is called by the web controller, which can
|
||||
# now directly call into openerp as the web server is always
|
||||
# embedded in openerp.
|
||||
|
||||
def __init__(self, name="edi"):
|
||||
netsvc.ExportService.__init__(self, name)
|
||||
def _edi_dispatch(db_name, method_name, *method_args):
|
||||
try:
|
||||
registry = openerp.modules.registry.RegistryManager.get(db_name)
|
||||
assert registry, 'Unknown database %s' % db_name
|
||||
edi = registry['edi.edi']
|
||||
cr = registry.db.cursor()
|
||||
res = None
|
||||
res = getattr(edi, method_name)(cr, *method_args)
|
||||
cr.commit()
|
||||
except Exception, e:
|
||||
_logger.exception('Failed to execute EDI method %s with args %r.',
|
||||
method_name, method_args)
|
||||
raise
|
||||
finally:
|
||||
cr.close()
|
||||
return res
|
||||
|
||||
def _edi_dispatch(self, db_name, method_name, *method_args):
|
||||
try:
|
||||
registry = openerp.modules.registry.RegistryManager.get(db_name)
|
||||
assert registry, 'Unknown database %s' % db_name
|
||||
edi = registry['edi.edi']
|
||||
cr = registry.db.cursor()
|
||||
res = None
|
||||
res = getattr(edi, method_name)(cr, *method_args)
|
||||
cr.commit()
|
||||
except Exception:
|
||||
_logger.exception('Failed to execute EDI method %s with args %r.', method_name, method_args)
|
||||
raise
|
||||
finally:
|
||||
cr.close()
|
||||
return res
|
||||
def exp_import_edi_document(db_name, uid, passwd, edi_document, context=None):
|
||||
return _edi_dispatch(db_name, 'import_edi', uid, edi_document, None)
|
||||
|
||||
def exp_import_edi_document(self, db_name, uid, passwd, edi_document, context=None):
|
||||
return self._edi_dispatch(db_name, 'import_edi', uid, edi_document, None)
|
||||
def exp_import_edi_url(db_name, uid, passwd, edi_url, context=None):
|
||||
return _edi_dispatch(db_name, 'import_edi', uid, None, edi_url)
|
||||
|
||||
def exp_import_edi_url(self, db_name, uid, passwd, edi_url, context=None):
|
||||
return self._edi_dispatch(db_name, 'import_edi', uid, None, edi_url)
|
||||
@openerp.http.rpc('edi')
|
||||
def dispatch(method, params):
|
||||
if method in ['import_edi_document', 'import_edi_url']:
|
||||
(db, uid, passwd) = params[0:3]
|
||||
openerp.service.security.check(db, uid, passwd)
|
||||
else:
|
||||
raise KeyError("Method not found: %s." % method)
|
||||
fn = globals()['exp_' + method]
|
||||
return fn(*params)
|
||||
|
||||
def dispatch(self, method, params):
|
||||
if method in ['import_edi_document', 'import_edi_url']:
|
||||
(db, uid, passwd ) = params[0:3]
|
||||
openerp.service.security.check(db, uid, passwd)
|
||||
else:
|
||||
raise KeyError("Method not found: %s." % method)
|
||||
fn = getattr(self, 'exp_'+method)
|
||||
return fn(*params)
|
||||
|
||||
edi()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
# Malayalam 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-08 15:46+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Malayalam <ml@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-09 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16482)\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 ""
|
|
@ -1,125 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:15+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "حدث المشروع"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "تاريخ الإنتهاء"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "تم"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"يكون هذا قالب المشروع. يُكرر حدث المشروع لهذا القالب. بعد الضغط على ‘انشأ "
|
||||
"خطة رجعية‘, سيكرر المشروع الجديد من مشروع هذا القالب."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "خطة رجعية"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "خطأ ! لايمكن وضع تاريخ الغلق قبل تاريخ الابتداء."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "مشروع"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "قالب المشروع"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "كافة المهام"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "مهام"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "خطأ ! لايمكنك انشاء تنفيذ عودي."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "مهام المشروع"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "إغلاق"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "تاريخ البدء"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "انشأ خطة رجعية"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "حدث"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "إدارة المهام"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "تنظيم و إدارة الأحداث.\n"
|
||||
#~ "\n"
|
||||
#~ " هذا البرنامج يساعدك علي عمل تخطيط مبدئي للأحداث.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "إدارة المهام"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr "تنفيذ المشروع - انشأ خطة رجعية ألى مدير تنفيذك"
|
|
@ -1,123 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:49+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Проект на събитие"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Крайна дата"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "ОК"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Това е шаблонен Проект. Проект на събитието е копие на този шаблон. След "
|
||||
"като щракнете върху \"Създаване на Ретро-планиране\", Нов проект ще бъде "
|
||||
"дублиран от този шаблонен проект."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Ретро-планиране"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Грешка! Крайната дата е преди началнта."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Проект"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Шаблон на проект"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Всички задачи"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Задачи"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Грешка! Не можете да създавата рекурсивно събитие!"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Задачи по проекта"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Начална дата"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Създаване на ретро-планиране"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Събитие"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Управление на задачи"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Невалиден XML за преглед на архитектурата"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr "Организиране и управление на събития\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Управление на задачи"
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:34+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "U redu"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekat"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Zadaci"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projektni zadaci"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Kreiraj Retro-Planiranje"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Događaj"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Kontrola zadataka"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Neodgovarajući XML za arhitekturu prikaza!"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Poništi"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Greška !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Kontrola zadataka"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Događaj - Projekat"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Preostali Zadaci"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Nema definisanog projekta za ovaj događaj.\n"
|
||||
#~ "Možete ga kreirati uz pomoć dugmeta za retro-planiranje!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organizacija i kontrola događaja.\n"
|
||||
#~ "\n"
|
||||
#~ " Ovaj modul vam dozvoljava da kreirate retro planiranje za kontrolu vaših "
|
||||
#~ "događaja.\n"
|
|
@ -1,164 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:37+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Projecte d'esdeveniment"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "D'acord"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Aquesta és la plantilla del projecte. El projecte d'esdeveniment és un "
|
||||
"duplicat d'aquesta plantilla. Després de fer clic a 'Crea retro-"
|
||||
"planificació', el projecte nou serà duplicat a partir d'aquesta plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planificació"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Error! La data de tancament no es pot definir abans de la d'inici."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projecte"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla de projecte"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Totes les tasques"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tasques"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Error! No podeu crear esdeveniments recursius."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tasques del projecte"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data d'inici"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crea retro-planificació"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Esdeveniment"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestió de tasques"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML invàlid per a la definició de la vista!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tasques pendents"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancel·la"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestió de tasques"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "No existeix cap projecte definit per aquest esdeveniment.\n"
|
||||
#~ "Podeu crear un amb el botó de retro-planificació!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Error !"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Projectes - Esdeveniments"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organització i gestió d'esdeveniments.\n"
|
||||
#~ "\n"
|
||||
#~ " Aquest mòdul us permet crear retro planificació per a la gestió dels "
|
||||
#~ "vostres esdeveniments.\n"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organització i gestió d'esdeveniments.\n"
|
||||
#~ "\n"
|
||||
#~ " Aquest mòdul us permet crear retro planificacions per gestionar els "
|
||||
#~ "esdeveniments.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Projecte d'esdeveniment - Crea retro-planificació per gestionar els "
|
||||
#~ "esdeveniments"
|
|
@ -1,148 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:47+0000\n"
|
||||
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
|
||||
"Language-Team: Czech <cs@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Projekt události"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Datum ukončení"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Toto je Šablona projektu. Projekt události je duplikát této Šablony. Po "
|
||||
"kliknutí na 'Vytvořit Zpětné-plánování', bude vytvořen Nový projekt z této "
|
||||
"šablony projektu."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Zpětné-plánování"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Chyba ! Datum uzavření nemůže být nastaven přes datum zahájení."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Šablona projektu"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Všechny úkoly"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Úlohy"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Chyba ! Nemůžete vytvořit rekurzivní událost."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Úkoly projektu"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Počáteční datum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Vytvořit zpětné-plánování"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Událost"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Správa úloh"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Zbývající akce"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Zrušit"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr "Organizace a management akcí\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Chyba !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Správa úloh"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Invalidní XML pro zobrazení architektury!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organizace a správa událostí.\n"
|
||||
#~ "\n"
|
||||
#~ " Tento modul vám umožní zpětné plánování pro správu událostí.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Projekt události - Vytvořte Zpětné-plánování ke správě vašich událostí"
|
|
@ -1,108 +0,0 @@
|
|||
# Danish translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-01-27 08:46+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish <da@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
|
@ -1,163 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:20+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Event - Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Enddatum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Dieses ist eine Projektvorlage. Das Projektmanagement von Veranstaltungen "
|
||||
"ist ein Duplikat der Veranstaltung selbst. Durch Klick auf 'Erzeuge Retro-"
|
||||
"Planung' wird ein neues Projekt auf Basis dieser Vorlage erzeugt."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Projekt Retro Planung"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Fehler ! Ende der Veranstaltung kann nicht vor Beginn sein."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Projektvorlage"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Alle Aufgaben"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Aufgaben"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Fehler ! Sie können keine rekursiven Veranstaltungen definieren."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projektaufgaben"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Beenden"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Erzeuge Retro Planung"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Aufgabenmanagement"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Fehlerhafter xml Code für diese Ansicht!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Verbleibende Aufgaben"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Abbrechen"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Aufgabenmanagement"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Kein Projekt für diesen Event definiert.\n"
|
||||
#~ "Sie können eines mit dem \"retro-planning\" Schaltfläche erstellen !"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Event - Projekt"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisation und Management von Events.\n"
|
||||
#~ "\n"
|
||||
#~ " Dieses Modul erlaubt Rückwärtsplanung für das Management von Events.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Fehler!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisation und Management von Events.\n"
|
||||
#~ "\n"
|
||||
#~ " Dieses Modul erlaubt Rückwärtsplanung für das Management von Events.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Projektmanagement für Veranstaltung - Erzeuge Retro-Planung für die "
|
||||
#~ "Organisation Ihrer Veranstaltung"
|
|
@ -1,134 +0,0 @@
|
|||
# Greek translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:08+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Greek <el@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Εντάξει"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Έργο"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Εργασίες"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Εργασίες Έργου"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Δημιουργία προγραμματισμού"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Συμβάν"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Διαχείριση εργασιών"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Λανθασμένο XML για προβολή αρχιτεκτονικής!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Εργασίες που παραμένουν"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Ακύρωση"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Συμβάν - Έργο"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Οργάνωση και διαχείριση συμβάντων.\n"
|
||||
#~ "\n"
|
||||
#~ " Αυτή το τμήμα του προγράμματος σας επιτρέπει να κάνετε ανασχεδιασμό για "
|
||||
#~ "τη διαχείριση των συμβάντων σας.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Διαχείριση εργασιών"
|
|
@ -1,162 +0,0 @@
|
|||
# English (United Kingdom) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:33+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Event Project"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Date End"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-Planning"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Error ! Closing Date cannot be before Beginning Date."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Project"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Template of Project"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "All tasks"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tasks"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Error ! You cannot create recursive event."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Project tasks"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Date Start"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Create Retro-Planning"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Event"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Tasks Management"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisation and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Tasks management"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr "Event Project - Create Retro-Planning to manage your Events"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Invalid XML for View Architecture!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Remaining Tasks"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancel"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Event - Project"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisation and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module lets you create retro planning to manage your events.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Error !"
|
|
@ -1,164 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:58+0000\n"
|
||||
"Last-Translator: Raimon Esteve (www.zikzakmedia.com) "
|
||||
"<resteve@zikzakmedia.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Proyecto de evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Fecha final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Esta es la plantilla de proyecto. El proyecto de evento es un duplicado de "
|
||||
"esta plantilla. Tras hacer clic en 'Crear retro-planificación', el nuevo "
|
||||
"proyecto será duplicado a partir de esta plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "¡Error! La fecha final no puede ser anterior a la inicial."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla de proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas las tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "¡Error! No puede crear eventos recursivos."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tareas del proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Fecha inicial"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestión de tareas"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tareas pendientes"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestión de tareas"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "¡ Error !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Ningún proyecto definido para este evento.\n"
|
||||
#~ "¡Puede crear uno con el botón retro-planificación!"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Proyecto"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Proyecto de evento - Crea retro-planificación para gestionar sus eventos"
|
|
@ -1,145 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2009-09-15 19:47+0000\n"
|
||||
"Last-Translator: Silvana Herrera <sherrera@thymbra.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tareas del proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tareas restantes"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "No existe ningún proyecto definido para este evento.\n"
|
||||
#~ "¡Puede crear uno con el botón de retro-planificación!"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Proyecto"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro-planificación para la gestión de sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "¡Error!"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestión de tareas"
|
|
@ -1,165 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-02-13 19:21+0000\n"
|
||||
"Last-Translator: Carlos Vásquez (CLEARCORP) "
|
||||
"<carlos.vasquez@clearcorp.co.cr>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Proyecto de evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Fecha final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Esta es la plantilla de proyecto. El proyecto de evento es un duplicado de "
|
||||
"esta plantilla. Tras hacer clic en 'Crear retro-planificación', el nuevo "
|
||||
"proyecto será duplicado a partir de esta plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "¡Error! La fecha final no puede ser anterior a la inicial."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla de proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas las tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "¡Error! No puede crear eventos recursivos."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tareas del proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Fecha inicial"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestión de tareas"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tareas pendientes"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "¡ Error !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Ningún proyecto definido para este evento.\n"
|
||||
#~ "¡Puede crear uno con el botón retro-planificación!"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Proyecto"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Proyecto de evento - Crea retro-planificación para gestionar sus eventos"
|
|
@ -1,151 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 04:29+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Evento de Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Fecha Final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Esta es la plantilla de proyecto. El proyecto de evento es un duplicado de "
|
||||
"esta plantilla. Tras hacer clic en 'Crear retro-planificación', el nuevo "
|
||||
"proyecto será duplicado a partir de esta plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "¡Error! La fecha final no puede ser anterior a la inicial."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla de proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas las tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "¡Error! No puede crear eventos recursivos."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tareas del proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Fecha inicial"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML inválido para la definición de la vista!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tareas pendientes"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Proyecto"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestión de tareas"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Evento de Proyecto - Crea retro-planificación para gestionar sus eventos"
|
|
@ -1,129 +0,0 @@
|
|||
# Spanish (Paraguay) translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2011-03-21 16:16+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Paraguay) <es_PY@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Proyecto de evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Fecha final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Esta es la plantilla de proyecto. El proyecto de evento es un duplicado de "
|
||||
"esta plantilla. Tras hacer clic en 'Crear retro-planificación', el nuevo "
|
||||
"proyecto será duplicado a partir de esta plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "¡Error! La fecha final no puede ser anterior a la inicial."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla de proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas las tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tareas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "¡Error! No puede crear eventos recursivos."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tareas del proyecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Cerrado"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Fecha inicial"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear retro-planificación"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización y gestión de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo le permite crear retro planificaciones para gestionar sus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestión de tareas"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Proyecto de evento - Crea retro-planificación para gestionar sus eventos"
|
|
@ -1,122 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:19+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Olgu"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Ülesanded"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projekti ülesanded"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Loo retro-planeerimine"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Sündmus"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Ülesannete juhtimine"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Vigane XML vaate arhitektuurile!"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Tühista"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Järelejäänud ülesanded"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Ülesannete juhtimine"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Sündmus - Projekt"
|
|
@ -1,114 +0,0 @@
|
|||
# Finnish translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:18+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Finnish <fi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Tapahtumaprojekti"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Loppupäiväys"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro suunnittelu"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Virhe ! Päättymispäivä ei voi olla aikaisempi kuin alkupäivä"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekti"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Projektin mallipohja"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Kaikki tehtävät"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tehtävät"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Virhe ! et voi luoda rekursiivisia tapahtumia."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projektin tehtävät"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Aloituspäivämäärä"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Luo retrosuunnitelma"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Tapahtuma"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Tehtävienhallinta"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Tehtävienhallinta"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr "Tapahtumaprojekti - luo retro suunitelma tapahtumien hallintaan"
|
|
@ -1,152 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:41+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Projet d'événement"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Date de fin"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Ceci est le modèle de projet. Le projet d'un événement est une copie de ce "
|
||||
"modèle. Après avoir cliqué sur 'Créer rétro-planning', le nouveau projet "
|
||||
"sera copié à partir de ce modèle."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Rétro-Planning"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Erreur ! La date de fermeture ne peut pas précéder la date de début."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projet"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Modèle du projet"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Toutes les tâches"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tâches"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Erreur, vous ne pouvez pas créer d'événement récursif !"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tâches du projet"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Date de début"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Générer le retro planning"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Évènement"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestion des Tâches"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML non valide pour l'architecture de la vue"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tâches Restantes"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Annuler"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestion des Tâches"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Évènement - Projet"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisation et gestion des évènements.\n"
|
||||
#~ "\n"
|
||||
#~ " Ce module vous autorise à créer un rétro-planning pour gérer vos "
|
||||
#~ "évènements.\n"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Gestion et organisation d'événements.\n"
|
||||
#~ "\n"
|
||||
#~ " Ce module vous permet de créer des rétro-plannings pour gérer vos "
|
||||
#~ "événements.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Projet d'un événement - Ce module permet de créer des rétro-plannings pour "
|
||||
#~ "gérer vos événements"
|
|
@ -1,165 +0,0 @@
|
|||
# translation of event-project-es.po to Galego
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
# Frco. Javier Rial Rodríguez <fjrial@cesga.es>, 2009.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: event-project-es\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:48+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Galego <g11n@mancomun.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Proxecto de evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data de Fin"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Esta é unha Proxeto Plantilla. Proxecto de evento é un duplicado desta "
|
||||
"Plantilla. Despois de pinchar en 'Crear Planificación-Retro', un Novo "
|
||||
"proxecto será duplicado dende este proxecto plantilla."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Planificación-Retro"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
"¡Erro! A Data de Peche non poder ser establecida antes da Data de Comezo."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proxecto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Plantilla do Proxecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas as tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "¡Erro! Non pode crear evento recursivo."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tarefas do proxecto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Pechar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data de inicio"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crear planificación inversa"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Actividade"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Xestión de tarefas"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Non se definiu un proxecto para esta actividade.\n"
|
||||
#~ "Pode crear unha no botón de planificación inversa!"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Actividade - Proxecto"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización e xestión de actividades.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo permítelle crear planificacións inversas para xestionar as "
|
||||
#~ "súas actividades.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Erro !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Xestión de tarefas"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "¡XML non válido para a definición da vista!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tarefas pendentes"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organización e xestión de eventos.\n"
|
||||
#~ " Este módulo permite crear planificación retro para a xestión dos seus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Proxecto de Evento - Crear Planificación-Retro para xestionar os seus Eventos"
|
|
@ -1,133 +0,0 @@
|
|||
# Hindi translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:13+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Hindi <hi@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "ठीक"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "परियोजना"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "कार्य"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "परियोजना के कार्य"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "रेट्रो योजना बनाएँ"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Event"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "कार्य प्रबंधन"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "शेष कार्य"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "रद्द"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "घटना - परियोजना"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "संगठन और घटनाओं का प्रबंधन\n"
|
||||
#~ "इस मॉड्यूल से आप अपने घटनाओं के प्रबंधन के लिए रेट्रो की योजना बना सकते "
|
||||
#~ "हैं.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "कार्य प्रबंधन"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "संरचना देखने के लिए अमान्य XML"
|
|
@ -1,114 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:18+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "U redu"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Svi zadaci"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Zadaci"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Zatvori"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Datum početka"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Event"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Upravljanje zadacima"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Greška !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Upravljanje zadacima"
|
|
@ -1,123 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:34+0000\n"
|
||||
"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
|
||||
"<openerp@novotrade.hu>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Rendezvényprojekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Záró dátum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Újratervezés"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
"Hiba ! A befejezés időpontja nem lehet előbb mint a kezdés időpontja."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Projekt sablon"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Összes feladat"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Feladatok"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Hiba ! Nem hozhat létre rekurzív rendezvényt."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projekt feladatok"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Zárás"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Kezdő dátum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Újratervezés létrehozása"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Rendezvény"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Feladatok irányítása"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Rendezvények szervezése és lebonyolítása\n"
|
||||
#~ "\n"
|
||||
#~ " Ez a modul lehetővé teszi, a rendezvények létrehozását, újratervezését "
|
||||
#~ "és irányítását.\n"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Feladatok irányítása"
|
|
@ -1,107 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2009-11-09 13:49+0000\n"
|
||||
"Last-Translator: <>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
|
@ -1,130 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-12-15 14:35+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.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-16 04:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Progetto Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data Fine"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Questo è un modello di progetto. Il progetto dell'evento è un duplicato di "
|
||||
"questo template. Dopo aver cliccato su 'Crea retro-pianificazione', un nuovo "
|
||||
"progetto verrà creato duplicando questo modello."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-pianificazione"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
"Errore! La data di chiusura non può essere antecedente a quella di apertura."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Progetto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Template del progetto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Tutte le attività"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Attivita'"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Errore! Non è possibile creare un evento ricorsivo."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Attività Progetto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data Inizio"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Crea Retro-Pianificazione"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestione Attività"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML non valido per Visualizzazione Architettura!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Attività Rimanenti"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Annulla"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestione Attività"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Progetto"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Errore!"
|
|
@ -1,111 +0,0 @@
|
|||
# Japanese translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:14+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "イベントのプロジェクト"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "終了日"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr "これはプロジェクトのテンプレートです。「計画を複成」をクリックすると、このテンプレートから新しいプロジェクトが複成されます。"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "計画の複成"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "エラー:終了日を開始日の前に指定することはできません。"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "プロジェクト"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "プロジェクトのテンプレート"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "すべての作業"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "作業"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "エラー:イベントを重複して作成することはできません。"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "プロジェクトのタスク"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "締める"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "開始日"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "複成計画を作成"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "イベント"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "作業管理"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "作業管理"
|
|
@ -1,142 +0,0 @@
|
|||
# Korean translation for openobject-addons
|
||||
# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:47+0000\n"
|
||||
"Last-Translator: ekodaq <ceo@ekosdaq.com>\n"
|
||||
"Language-Team: Korean <ko@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "프로젝트"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "과제"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "프로젝트 과제"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "계획 생성"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "이벤트"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "과제 관리"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "취소"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "남아있는 과제들"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "이 이벤트에 정의된 프로젝트가 없습니다.\n"
|
||||
#~ "아래 계획 버튼으로 하나 생성하십시오."
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "이벤트 - 프로젝트"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "이벤트 조직 및 관리\n"
|
||||
#~ "\n"
|
||||
#~ " 이 모듈을 이용하여 이벤트 관리 계획을 작성할 수 있습니다.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "에러 !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "과제 관리"
|
|
@ -1,107 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2009-02-03 06:26+0000\n"
|
||||
"Last-Translator: <>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
|
@ -1,111 +0,0 @@
|
|||
# Latvian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:03+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: Latvian <lv@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Pasākumi projektos"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Beigu datums"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Labi"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-plānošana"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Kļūda! Beigu datums nevar būt pirms sākuma datuma!"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekts"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Projekta sagatave"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Visi uzdevumi"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Uzdevumi"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Kļūda! Nedrīkst veidot rekursīvus pasākumus."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projekta Uzdevumi"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Aizvērt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Sākuma datums"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Veidot retro-plānošanu"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Pasākums"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Uzdevumu vadība"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Uzdevumu vadība"
|
|
@ -1,113 +0,0 @@
|
|||
# Mongolian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-08-24 06:37+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: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Үйл явдлын төсөл"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Дуусах огноо"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Тийм"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Энэ нь үлгэр төсөл. Үйл явдлын төсөл нь энэ төслийн хуулбар байна. 'Хойноос "
|
||||
"төлөвлөлтийг үүсгэх'-г дарсан дараа энэ төслийн хуулбар төсөл үүсэх болно."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Хойноос-Төлөвлөлт"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Алдаа ! Хаагдах огноо нь Эхлэх огнооноос өмнө байж болохгүй."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Төсөл"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Төслийн Үлгэр"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Бүх даалгаврууд"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Даалгаврууд"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Алдаа ! Тойрог хамааралтай үйл явдлыг үүсгэж болохгүй."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Төслийн даалгаврууд"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Хаах"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Эхлэх огноо"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Хойноос төлөвлөлтийг үүсгэх"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Үйл явдал"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Даалгаврын менежмент"
|
|
@ -1,114 +0,0 @@
|
|||
# Norwegian Bokmal translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-09-07 17:58+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Arrangement Prosjekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Sluttdato"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Dette er ett mal Prosjekt. Prosjektet av arrangementet er en dublett av "
|
||||
"denne malen. Etter klikk på \"Create Retro-planlegging\", vil New Project "
|
||||
"dupliseres fra denne malen prosjektet."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-Planlegging"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Feil ! Sluttdato kan ikke settes før startdato."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Prosjekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Mal av prosjekt"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Alle oppgaver"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Oppgaver"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Feil! Du kan ikke opprette rekursive hendelse."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Prosjektoppgaver"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Lukke"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Startdato"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Opprett Retro - planlegging."
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Arrangement"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Oppgaver ledelse"
|
|
@ -1,161 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:17+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Evenement project"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Einddatum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"DIt is een sjabloon project. Project van evenement is een duplicaat van dit "
|
||||
"sjabloon. Na klikken van 'Retro-planning maken', wordt het nieuwe project "
|
||||
"gedupliceerd van dit sjabloon project."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-planning"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Fout ! Sluitingsdatum kan niet voor startdatum liggen."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Project"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Projectsjabloon"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Alle taken"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Taken"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Fout ! U kunt geen recursief evenement maken."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Projecttaken"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Startdatum"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Retro-planning maken"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evenement"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Taakbeheer"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Annuleren"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Taakbeheer"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Ongeldige XML voor weergave!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Resterende taken"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evenement - Project"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisatie en management van evenementen.\n"
|
||||
#~ "\n"
|
||||
#~ " Deze module stelt u in staat om evenementen achterwaarts te plannen.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Geen project gedefinieërd voor dit evenement.\n"
|
||||
#~ "U kunt een nieuw project creëren middels de retro-planning button!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Fout!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organisatie en beheer van evenementen.\n"
|
||||
#~ "\n"
|
||||
#~ " Deze module laat u een retro-planning maken voor uw evenementen.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Evenement project - Retro-planning maken om uw evenementen te beheren."
|
|
@ -1,107 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2009-04-24 14:57+0000\n"
|
||||
"Last-Translator: <>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr ""
|
|
@ -1,141 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:07+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Projekt wydarzenia"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data końcowa"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Błąd ! Data końcowa nie może być przed datą początkową."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Szablon projektu"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Wszystkie zadania"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Zadania"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych wydarzeń."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Zadania projektów"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data rozpoczęcia"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Utwórz planowanie wsteczne"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Wydarzenie"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Zarządzanie zadaniami"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML niewłaściwy dla tej architektury wyświetlania!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Pozostałe zadania"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Anuluj"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Zarządzanie zadaniami"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Nie zdefiniowano żadnego projektu dla tego zderzenia. Możesz to zrobić "
|
||||
#~ "klikając przycisk \"Retro-planning\""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr "Organizacja i zarządzanie zdarzeniami.\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Błąd!"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Projekt zdarzeń"
|
|
@ -1,148 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:07+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Rascunho do evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data Final"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Este é o Template do projeto. O projeto do evento é um duplicado desse "
|
||||
"template. Depois clique em 'Criar planeamento Retro ', um novo projeto será "
|
||||
"duplicado a partir deste projeto do template."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Planeamento Retro"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Erro! A data de fim não pode ser anterior à data de início."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Template do projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas as tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Erro! Não pode criar eventos recursivos."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tarefas do Projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data Inicial"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Criar Retro-Planeamento"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestão de Tarefas"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Projecto"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "XML Inválido para a Arquitectura de Vista!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Erro !"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organização e gestão de eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este modulo permite-lhe criar criar retro-planeamento para gerir os seus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tarefas Restantes"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Nenhum projecto foi definido para este evento.\n"
|
||||
#~ "Pode criar um com o botão retro-planeamento !"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestão de Tarefas"
|
|
@ -1,156 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-12-24 18:22+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\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:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Projeto de Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data de Término"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Este é um Modelo de Projeto. O Projeto de Evento é uma duplicação deste "
|
||||
"Modelo. Após clicar em 'Criar Retro-Planejamento', o Novo Projeto será "
|
||||
"duplicado deste modelo de projeto."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Retro-Planejamento"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Erro! A Data de Encerramento não pode ser anterior a Data de Início."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Modelo de Projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Todas as Tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Tarefas"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Erro! Você não pode criar um evento recursivo."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Tarefas do Projeto"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data de Início"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Criar Retro-Planejamento"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gerenciamento de Tarefas"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Invalido XML para Arquitetura da View"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Tarefas Restantes"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Evento - Projeto"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organização e gerência dos eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo permite que você crie um planejamento retroativo para "
|
||||
#~ "controlar seus eventos\n"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Erro!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organização e Gerenciamento de Eventos.\n"
|
||||
#~ "\n"
|
||||
#~ " Este módulo permite que você crie retro planejamento para gerenciar seus "
|
||||
#~ "eventos.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Evento de Projeto - Cria Retro-Planejamento para gerenciar seus Eventos"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gerenciamento de Tarefas"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
|
@ -1,130 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:13+0000\n"
|
||||
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Eveniment Proiect"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Data de sfarsit"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Acesta este Sablonul de proiect. Proiectul evenimentului este o copie a "
|
||||
"acestui Sablon. Dupa ce faceti click pe 'Creeaza Planificarea-retro', "
|
||||
"Proiectul Nou va fi copiat din acest sablon de proiect."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Planificare-retro"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
"Eroare ! Data de inchidere nu poate fi setata inaintea Datei de incepere."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Proiect"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Sablon proiect"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Toate sarcinile"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Sarcini"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Eroare ! Nu puteti crea un eveniment recursiv."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Sarcini proiect"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Inchide"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Data de inceput"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Creeaza Planificarea-retro"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Eveniment"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Gestionarea sarcinilor"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Gestionarea sarcinilor"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organizarea si gestionarea evenimentelor.\n"
|
||||
#~ "\n"
|
||||
#~ " Acest modul va permite sa creati planificare retro pentru gestionarea "
|
||||
#~ "evenimentelor dumneavoastra.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Proiect Eveniment - Creeaza Planificarea-retro pentru gestionarea "
|
||||
#~ "evenimentelor dumneavoastra"
|
|
@ -1,162 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 17:24+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr "Проект мероприятия"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr "Дата окончания"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "ОК"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
"Это шаблон проекта. Проект мероприятия — дубликат этого шаблона. После "
|
||||
"выбора пункта «Создать ретро-план», новый проект будет создан на основе "
|
||||
"этого шаблона проекта."
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr "Ретро-план"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr "Ошибка! Дата завершения не может быть установлена до даты начала."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Проект"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr "Шаблон проекта"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr "Все задачи"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Задачи"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr "Ошибка! Невозможно создать рекурсивное мероприятие."
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Задания проекта"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr "Дата начала"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Создать ретроспективное планирование"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Событие"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Управление заданиями"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Неправильный XML для просмотра архитектуры!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Оставшиеся задания"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Отмена"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Управление заданиями"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Организация и управление событиями\n"
|
||||
#~ " Данный модуль позволяет создавать ретро планирование для управления "
|
||||
#~ "Вашими событиями\n"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Событие - Проект"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Ошибка !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "No project defined for this event.\n"
|
||||
#~ "You can create one with the retro-planning button !"
|
||||
#~ msgstr ""
|
||||
#~ "Для этого события не определен проект.\n"
|
||||
#~ "Вы можете создать его нажав на кнопку ретро-планирования"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allows you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Организация и управление мероприятиями.\n"
|
||||
#~ "\n"
|
||||
#~ " Этот модуль позволяет создавать планы управления мероприятиями в ретро-"
|
||||
#~ "стиле.\n"
|
||||
|
||||
#~ msgid "Event Project - Create Retro-Planning to manage your Events"
|
||||
#~ msgstr ""
|
||||
#~ "Проект мероприятия — создавайте ретро-планы для управления мероприятиями"
|
|
@ -1,137 +0,0 @@
|
|||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * event_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:18+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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-10-30 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16206)\n"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_project
|
||||
msgid "Event Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Ok"
|
||||
msgstr "V redu"
|
||||
|
||||
#. module: event_project
|
||||
#: help:event.project,project_id:0
|
||||
msgid ""
|
||||
"This is Template Project. Project of event is a duplicate of this Template. "
|
||||
"After click on 'Create Retro-planning', New Project will be duplicated from "
|
||||
"this template project."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
#: model:ir.actions.act_window,name:event_project.action_event_project
|
||||
msgid "Retro-Planning"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! Closing Date cannot be set before Beginning Date."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,project_id:0
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,project_id:0
|
||||
msgid "Template of Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "All tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
#: model:ir.actions.act_window,name:event_project.act_event_task
|
||||
msgid "Tasks"
|
||||
msgstr "Opravila"
|
||||
|
||||
#. module: event_project
|
||||
#: constraint:event.event:0
|
||||
msgid "Error ! You cannot create recursive event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.event,task_ids:0
|
||||
msgid "Project tasks"
|
||||
msgstr "Naloge projekta"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.project:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: field:event.project,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Create Retro-Planning"
|
||||
msgstr "Izdelaj vzvratno planiranje"
|
||||
|
||||
#. module: event_project
|
||||
#: model:ir.model,name:event_project.model_event_event
|
||||
msgid "Event"
|
||||
msgstr "Dogodek"
|
||||
|
||||
#. module: event_project
|
||||
#: view:event.event:0
|
||||
msgid "Tasks Management"
|
||||
msgstr "Upravljanje nalog"
|
||||
|
||||
#~ msgid "Invalid XML for View Architecture!"
|
||||
#~ msgstr "Neveljaven XML za arhitekturo pogleda."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Error !"
|
||||
#~ msgstr "Napaka!"
|
||||
|
||||
#~ msgid "Remaining Tasks"
|
||||
#~ msgstr "Preostale naloge"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Prekliči"
|
||||
|
||||
#~ msgid "Tasks management"
|
||||
#~ msgstr "Upravljanje nalog"
|
||||
|
||||
#~ msgid "Event - Project"
|
||||
#~ msgstr "Dogodek - projekt"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Organization and management of events.\n"
|
||||
#~ "\n"
|
||||
#~ " This module allow you to create retro planning for managing your "
|
||||
#~ "events.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Organizacija in upravljanje dogodkov.\n"
|
||||
#~ "\n"
|
||||
#~ " Ta modul vam omogoča ustvarjanje vzvratnega planiranja fa urpavljanje "
|
||||
#~ "vaših dogodkov.\n"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue