[Merge]Merge lp:openobject-addons
bzr revid: vja@tinyerp.com-20130218111012-obj639csjp6auh8p bzr revid: vja@tinyerp.com-20130219052437-eoivr1lizrapqmkd
This commit is contained in:
@@ -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):
|
||||
@@ -308,7 +306,7 @@ class account_invoice(osv.osv):
|
||||
'''
|
||||
Find the partner for which the accounting entries will be created
|
||||
'''
|
||||
#if the chosen partner is not a company and has a parent company, use the parent for the journal entries
|
||||
#if the chosen partner is not a company and has a parent company, use the parent for the journal entries
|
||||
#because you want to invoice 'Agrolait, accounting department' but the journal items are for 'Agrolait'
|
||||
part = inv.partner_id
|
||||
if part.parent_id and not part.is_company:
|
||||
@@ -419,7 +417,7 @@ class account_invoice(osv.osv):
|
||||
try:
|
||||
compose_form_id = ir_model_data.get_object_reference(cr, uid, 'mail', 'email_compose_message_wizard_form')[1]
|
||||
except ValueError:
|
||||
compose_form_id = False
|
||||
compose_form_id = False
|
||||
ctx = dict(context)
|
||||
ctx.update({
|
||||
'default_model': 'account.invoice',
|
||||
@@ -540,11 +538,11 @@ class account_invoice(osv.osv):
|
||||
return result
|
||||
|
||||
def onchange_payment_term_date_invoice(self, cr, uid, ids, payment_term_id, date_invoice):
|
||||
res = {}
|
||||
res = {}
|
||||
if not date_invoice:
|
||||
date_invoice = time.strftime('%Y-%m-%d')
|
||||
if not payment_term_id:
|
||||
return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term
|
||||
return {'value':{'date_due': date_invoice}} #To make sure the invoice has a due date when no payment term
|
||||
pterm_list = self.pool.get('account.payment.term').compute(cr, uid, payment_term_id, value=1, date_ref=date_invoice)
|
||||
if pterm_list:
|
||||
pterm_list = [line[0] for line in pterm_list]
|
||||
@@ -560,35 +558,41 @@ class account_invoice(osv.osv):
|
||||
def onchange_partner_bank(self, cursor, user, ids, partner_bank_id=False):
|
||||
return {'value': {}}
|
||||
|
||||
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id):
|
||||
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id, context=None):
|
||||
val = {}
|
||||
dom = {}
|
||||
obj_journal = self.pool.get('account.journal')
|
||||
account_obj = self.pool.get('account.account')
|
||||
inv_line_obj = self.pool.get('account.invoice.line')
|
||||
|
||||
if company_id and part_id and type:
|
||||
acc_id = False
|
||||
partner_obj = self.pool.get('res.partner').browse(cr,uid,part_id)
|
||||
partner_obj = self.pool.get('res.partner').browse(cr, uid, part_id, context=context)
|
||||
|
||||
if partner_obj.property_account_payable and partner_obj.property_account_receivable:
|
||||
if partner_obj.property_account_payable.company_id.id != company_id and partner_obj.property_account_receivable.company_id.id != company_id:
|
||||
property_obj = self.pool.get('ir.property')
|
||||
rec_pro_id = property_obj.search(cr, uid, [('name','=','property_account_receivable'),('res_id','=','res.partner,'+str(part_id)+''),('company_id','=',company_id)])
|
||||
pay_pro_id = property_obj.search(cr, uid, [('name','=','property_account_payable'),('res_id','=','res.partner,'+str(part_id)+''),('company_id','=',company_id)])
|
||||
|
||||
if not rec_pro_id:
|
||||
rec_pro_id = property_obj.search(cr, uid, [('name','=','property_account_receivable'),('company_id','=',company_id)])
|
||||
if not pay_pro_id:
|
||||
pay_pro_id = property_obj.search(cr, uid, [('name','=','property_account_payable'),('company_id','=',company_id)])
|
||||
|
||||
rec_line_data = property_obj.read(cr, uid, rec_pro_id, ['name','value_reference','res_id'])
|
||||
pay_line_data = property_obj.read(cr, uid, pay_pro_id, ['name','value_reference','res_id'])
|
||||
rec_res_id = rec_line_data and rec_line_data[0].get('value_reference',False) and int(rec_line_data[0]['value_reference'].split(',')[1]) or False
|
||||
pay_res_id = pay_line_data and pay_line_data[0].get('value_reference',False) and int(pay_line_data[0]['value_reference'].split(',')[1]) or False
|
||||
|
||||
if not rec_res_id and not pay_res_id:
|
||||
raise osv.except_osv(_('Configuration Error!'),
|
||||
_('Cannot find a chart of account, you should create one from Settings\Configuration\Accounting menu.'))
|
||||
raise self.pool.get('res.config.settings').get_config_warning(cr, _('Cannot find any chart of account: you can create a new one from %(menu:account.menu_account_config)s.'), context=context)
|
||||
|
||||
if type in ('out_invoice', 'out_refund'):
|
||||
acc_id = rec_res_id
|
||||
else:
|
||||
acc_id = pay_res_id
|
||||
|
||||
val= {'account_id': acc_id}
|
||||
if ids:
|
||||
if company_id:
|
||||
@@ -638,10 +642,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 +1396,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 = {
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
<group>
|
||||
<field name="move_id" groups="account.group_account_user"/>
|
||||
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]" groups="account.group_account_user"/>
|
||||
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
@@ -390,7 +390,7 @@
|
||||
<page string="Other Info">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="user_id" groups="base.group_user"/>
|
||||
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
|
||||
<field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2010-12-20 23:20+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-15 10:57+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:42+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -29,12 +29,12 @@ msgstr "Бүлэглэх..."
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "To Invoice"
|
||||
msgstr ""
|
||||
msgstr "Үнийн нэхэмжлэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Remaining"
|
||||
msgstr ""
|
||||
msgstr "Үлдэгдэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -71,12 +71,12 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "⇒ Invoice"
|
||||
msgstr ""
|
||||
msgstr "⇒ Нэхэмжлэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_invoiced:0
|
||||
msgid "Invoiced Amount"
|
||||
msgstr "Нэхэмжилсэн дүн"
|
||||
msgstr "Нэхэмжлэлийн дүн"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,last_worked_invoiced_date:0
|
||||
@@ -86,7 +86,7 @@ msgstr "Эцсийн өртөгийг нэхэмжилсэн огноо"
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,fix_price_to_invoice:0
|
||||
msgid "Sum of quotations for this contract."
|
||||
msgstr ""
|
||||
msgstr "Энэ гэрээний ханшийн нийлбэр."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,ca_invoiced:0
|
||||
@@ -120,7 +120,7 @@ msgstr "Аналитик данс"
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
msgstr "Харилцагч"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -149,12 +149,12 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "End Date"
|
||||
msgstr "Дуусах огноо"
|
||||
msgstr "Дуусан огноо"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Account Manager"
|
||||
msgstr ""
|
||||
msgstr "Дансны менежер"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,remaining_hours_to_invoice:0
|
||||
@@ -164,12 +164,12 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Expected"
|
||||
msgstr ""
|
||||
msgstr "Тооцоолсон"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Contracts not assigned"
|
||||
msgstr ""
|
||||
msgstr "Гэрээнүүд оноогдоогүй байна"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,theorical_margin:0
|
||||
@@ -205,6 +205,7 @@ msgstr "Бодит зөрүүний хэмжээ (%)"
|
||||
#: help:account.analytic.account,remaining_hours:0
|
||||
msgid "Computed using the formula: Maximum Time - Total Worked Time"
|
||||
msgstr ""
|
||||
"Тооцоололд ашиглагдсан томъёо: Хамгийн их хугацаа - Нийт ажилласан хугацаа"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,hours_quantity:0
|
||||
@@ -218,7 +219,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Nothing to invoice, create"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэх, үүсгэх зүйлс алга"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:res.groups,name:account_analytic_analysis.group_template_required
|
||||
@@ -228,7 +229,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_quantity:0
|
||||
msgid "Total Worked Time"
|
||||
msgstr ""
|
||||
msgstr "Нийт ажилласан хугацаа"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin:0
|
||||
@@ -238,7 +239,7 @@ msgstr "Бодит зөрүү"
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
|
||||
msgid "Hours summary by month"
|
||||
msgstr "Hours summary by month"
|
||||
msgstr "Сарын цагийн хураангуй"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,real_margin_rate:0
|
||||
@@ -248,12 +249,12 @@ msgstr "Томъёг ашиглан тооцоолох: (Бодит зөрүү/
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "or view"
|
||||
msgstr ""
|
||||
msgstr "эсвэл үзэх"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Customer Contracts"
|
||||
msgstr ""
|
||||
msgstr "Захиалагчийн гэрээнүүд"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -270,7 +271,7 @@ msgstr "Сар"
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
|
||||
msgid "Time & Materials to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Хугацаа & Нэхэмжлэлийн материал"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all
|
||||
@@ -281,12 +282,12 @@ msgstr "Гэрээнүүд"
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
msgstr "Эхлэх огноо"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжилсэн"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -305,7 +306,7 @@ msgstr "Захиалагчтай шинэчлэхээр хүлээж байга
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Timesheets"
|
||||
msgstr ""
|
||||
msgstr "Цагийн хуудас"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,hours_qtt_non_invoiced:0
|
||||
@@ -329,7 +330,7 @@ msgstr "Тоо ширхэг хязгаараас давсан"
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Төлөв"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,ca_theorical:0
|
||||
@@ -350,7 +351,7 @@ msgstr "OpenERP-д гэрээ нь харилцагч бүхий шинжилг
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
|
||||
msgid "Sales Orders"
|
||||
msgstr ""
|
||||
msgstr "Борлуулалтын захиалгууд"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_invoice_date:0
|
||||
@@ -437,12 +438,12 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,toinvoice_total:0
|
||||
msgid "Total to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Нийт нэхэмжлэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Sale Orders"
|
||||
msgstr ""
|
||||
msgstr "Борлуулалтын захиалга"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
@@ -452,7 +453,7 @@ msgstr "Нээх"
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,invoiced_total:0
|
||||
msgid "Total Invoiced"
|
||||
msgstr ""
|
||||
msgstr "Нийт нэхэмжлэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,remaining_ca:0
|
||||
@@ -468,7 +469,7 @@ msgstr "Сүүлийн нэхэмжлэлийн огноо"
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Units Remaining"
|
||||
msgstr ""
|
||||
msgstr "Нэгжийн үлдэгдэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,help:account_analytic_analysis.action_hr_tree_invoiced_all
|
||||
@@ -497,7 +498,7 @@ msgstr "Нэхэмжлэх"
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,total_cost:0
|
||||
msgid "Total Costs"
|
||||
msgstr "Нийт өртөг"
|
||||
msgstr "Нийт зардал"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,remaining_total:0
|
||||
@@ -526,7 +527,7 @@ msgstr "Онолын Хязгаар"
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,remaining_total:0
|
||||
msgid "Total Remaining"
|
||||
msgstr ""
|
||||
msgstr "Нийт үлдэгдэл"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,real_margin:0
|
||||
@@ -536,12 +537,12 @@ msgstr "Томъёг ашиглан тооцоолох: Нэхэмжилсэн
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_qtt_est:0
|
||||
msgid "Estimation of Hours to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Нэхэмжлэх цагийн тооцоолол"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,fix_price_invoices:0
|
||||
msgid "Fixed Price"
|
||||
msgstr ""
|
||||
msgstr "Тогтмол үнэ"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_worked_date:0
|
||||
@@ -551,23 +552,23 @@ msgstr "Энэ данс дээр хйигдсэн сүүлийн ажлын ог
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.model,name:account_analytic_analysis.model_sale_config_settings
|
||||
msgid "sale.config.settings"
|
||||
msgstr ""
|
||||
msgstr "sale.config.settings"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:sale.config.settings,group_template_required:0
|
||||
msgid "Mandatory use of templates."
|
||||
msgstr ""
|
||||
msgstr "Үлгэрүүдийн зайлшгүй хэрэглээ"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action
|
||||
msgid "Contract Template"
|
||||
msgstr ""
|
||||
msgstr "Гэрээний загвар"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Units Done"
|
||||
msgstr ""
|
||||
msgstr "Хийгдсэн Нэгжүүд"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,total_cost:0
|
||||
@@ -581,7 +582,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,est_total:0
|
||||
msgid "Total Estimation"
|
||||
msgstr ""
|
||||
msgstr "Нийт таамаг тооцоо"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,remaining_ca:0
|
||||
@@ -617,7 +618,7 @@ msgstr ""
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Нийт"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Number of hours that can be invoiced plus those that already have been "
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -0,0 +1,241 @@
|
||||
# Arabic translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-02-18 11:32+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-19 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid ""
|
||||
"Code should always set a variable named `result` with the result of your "
|
||||
"test, that can be a list or\n"
|
||||
"a dictionary. If `result` is an empty list, it means that the test was "
|
||||
"succesful. Otherwise it will\n"
|
||||
"try to translate and print what is inside `result`.\n"
|
||||
"\n"
|
||||
"If the result of your test is a dictionary, you can set a variable named "
|
||||
"`column_order` to choose in\n"
|
||||
"what order you want to print `result`'s content.\n"
|
||||
"\n"
|
||||
"Should you need them, you can also use the following variables into your "
|
||||
"code:\n"
|
||||
" * cr: cursor to the database\n"
|
||||
" * uid: ID of the current user\n"
|
||||
"\n"
|
||||
"In any ways, the code must be legal python statements with correct "
|
||||
"indentation (if needed).\n"
|
||||
"\n"
|
||||
"Example: \n"
|
||||
" sql = '''SELECT id, name, ref, date\n"
|
||||
" FROM account_move_line \n"
|
||||
" WHERE account_id IN (SELECT id FROM account_account WHERE type "
|
||||
"= 'view')\n"
|
||||
" '''\n"
|
||||
" cr.execute(sql)\n"
|
||||
" result = cr.dictfetchall()"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_02
|
||||
msgid "Test 2: Opening a fiscal year"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_05
|
||||
msgid ""
|
||||
"Check that reconciled invoice for Sales/Purchases has reconciled entries for "
|
||||
"Payable and Receivable Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_03
|
||||
msgid ""
|
||||
"Check if movement lines are balanced and have the same date and period"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: field:accounting.assert.test,name:0
|
||||
msgid "Test Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: report:account.test.assert.print:0
|
||||
msgid "Accouting tests on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_01
|
||||
msgid "Test 1: General balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_06
|
||||
msgid "Check that paid/reconciled invoices are not in 'Open' state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_05_2
|
||||
msgid ""
|
||||
"Check that reconciled account moves, that define Payable and Receivable "
|
||||
"accounts, are belonging to reconciled invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid "Tests"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: field:accounting.assert.test,desc:0
|
||||
msgid "Test Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_06_1
|
||||
msgid "Check that there's no move for any account with « View » account type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_08
|
||||
msgid "Test 9 : Accounts and partners on account moves"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:ir.actions.act_window,name:account_test.action_accounting_assert
|
||||
#: model:ir.actions.report.xml,name:account_test.account_assert_test_report
|
||||
#: model:ir.ui.menu,name:account_test.menu_action_license
|
||||
msgid "Accounting Tests"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: code:addons/account_test/report/account_test_report.py:74
|
||||
#, python-format
|
||||
msgid "The test was passed successfully"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: field:accounting.assert.test,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_06
|
||||
msgid "Test 6 : Invoices status"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:ir.model,name:account_test.model_accounting_assert_test
|
||||
msgid "accounting.assert.test"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_05
|
||||
msgid ""
|
||||
"Test 5.1 : Payable and Receivable accountant lines of reconciled invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: field:accounting.assert.test,code_exec:0
|
||||
msgid "Python code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_07
|
||||
msgid ""
|
||||
"Check on bank statement that the Closing Balance = Starting Balance + sum of "
|
||||
"statement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_07
|
||||
msgid "Test 8 : Closing balance on bank statements"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_03
|
||||
msgid "Test 3: Movement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_05_2
|
||||
msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid "Expression"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_04
|
||||
msgid "Test 4: Totally reconciled mouvements"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_04
|
||||
msgid "Check if the totally reconciled movements are balanced"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: field:accounting.assert.test,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_02
|
||||
msgid ""
|
||||
"Check if the balance of the new opened fiscal year matches with last year's "
|
||||
"balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid "Python Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:ir.actions.act_window,help:account_test.action_accounting_assert
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create Accounting Test.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_01
|
||||
msgid "Check the balance: Debit sum = Credit sum"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,desc:account_test.account_test_08
|
||||
msgid "Check that general accounts and partners on account moves are active"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: model:accounting.assert.test,name:account_test.account_test_06_1
|
||||
msgid "Test 7: « View » account type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_test
|
||||
#: view:accounting.assert.test:0
|
||||
msgid "Code Help"
|
||||
msgstr ""
|
||||
@@ -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], {
|
||||
|
||||
@@ -159,8 +159,6 @@
|
||||
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case1'))
|
||||
data = []
|
||||
@@ -183,10 +181,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 1 USD/USD'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my first voucher is valid
|
||||
-
|
||||
@@ -257,8 +253,6 @@
|
||||
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case1'))
|
||||
data = []
|
||||
@@ -281,10 +275,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 1'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my second voucher is valid
|
||||
-
|
||||
|
||||
@@ -131,8 +131,6 @@
|
||||
I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2_suppl'))
|
||||
data = []
|
||||
@@ -162,10 +160,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 SUPPL USD/EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my voucher is valid
|
||||
-
|
||||
@@ -237,8 +233,6 @@
|
||||
I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2_suppl'))
|
||||
data = []
|
||||
@@ -268,10 +262,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that my voucher state is posted
|
||||
-
|
||||
|
||||
@@ -182,8 +182,7 @@
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 USD/EUR DR EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my voucher is valid
|
||||
-
|
||||
@@ -258,8 +257,7 @@
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR DR EUR'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that my voucher state is posted
|
||||
-
|
||||
|
||||
@@ -163,8 +163,6 @@
|
||||
I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$>
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2b'))
|
||||
data = []
|
||||
@@ -180,10 +178,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 USD/EUR DR USD'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my voucher is valid
|
||||
-
|
||||
@@ -247,8 +243,6 @@
|
||||
and I fully reconcil the 2 previous invoices
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2b'))
|
||||
data = []
|
||||
@@ -271,10 +265,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 2 SUPPL USD/EUR DR USD'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that my voucher state is posted
|
||||
-
|
||||
|
||||
@@ -118,8 +118,6 @@
|
||||
I fill amounts 100 for the invoice of 150€ and 20 for the invoice of 80€
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_1_case3'))
|
||||
data = []
|
||||
@@ -142,10 +140,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 3'),('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my first voucher is valid
|
||||
-
|
||||
@@ -209,8 +205,6 @@
|
||||
I fill amounts 50 for the invoice of 150€ and 70 for the invoice of 80€
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
import time
|
||||
from openerp import netsvc
|
||||
vals = {}
|
||||
voucher_id = self.browse(cr, uid, ref('account_voucher_2_case3'))
|
||||
data = []
|
||||
@@ -233,10 +227,8 @@
|
||||
I confirm the voucher
|
||||
-
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'Second payment: Case 3'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my second voucher is valid
|
||||
-
|
||||
|
||||
@@ -144,8 +144,7 @@
|
||||
!python {model: account.voucher}: |
|
||||
from openerp import netsvc
|
||||
voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 4'), ('partner_id', '=', ref('base.res_partner_19'))])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.voucher', voucher[0], 'proforma_voucher', cr)
|
||||
self.signal_proforma_voucher(cr, uid, voucher)
|
||||
-
|
||||
I check that the move of my voucher is valid
|
||||
-
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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']
|
||||
|
||||
@@ -260,13 +260,15 @@ class res_users(osv.Model):
|
||||
template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_signup', 'reset_password_email')
|
||||
mail_obj = self.pool.get('mail.mail')
|
||||
assert template._name == 'email.template'
|
||||
|
||||
for user in self.browse(cr, uid, ids, context):
|
||||
if not user.email:
|
||||
raise osv.except_osv(_("Cannot send email: user has no email address."), user.name)
|
||||
mail_id = self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, True, context=context)
|
||||
mail_state = mail_obj.read(cr, uid, mail_id, ['state'], context=context)
|
||||
|
||||
if mail_state and mail_state['state'] == 'exception':
|
||||
raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name)
|
||||
raise self.pool.get('res.config.settings').get_config_warning(cr, _("Cannot send email: no outgoing email server configured.\nYou can configure it under %(menu:base_setup.menu_general_configuration)s."), context)
|
||||
else:
|
||||
return {
|
||||
'type': 'ir.actions.client',
|
||||
|
||||
@@ -0,0 +1,338 @@
|
||||
# Czech translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-02-15 15:11+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech <cs@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
msgid "In Progress"
|
||||
msgstr "Probíhá"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid ""
|
||||
"- In this same \"Search\" view, select the menu \"Save Current Filter\", "
|
||||
"enter the name (Ex: Create the 01/01/2012) and add the option \"Share with "
|
||||
"all users\""
|
||||
msgstr ""
|
||||
"- V tomto zobrazení \"Vyhledat\" zvolte nabídku \"Uložit aktuální filtr\", "
|
||||
"zadejte jméno (Např.: Vytvořeno 01.01.2012) a přidejte volbu \"sdílet se "
|
||||
"všemi uživateli\""
|
||||
|
||||
#. module: base_action_rule
|
||||
#: model:ir.model,name:base_action_rule.model_base_action_rule
|
||||
msgid "Action Rules"
|
||||
msgstr "Pravidla akcí"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Select a filter or a timer as condition."
|
||||
msgstr "Zvolte jako podmínku filtr nebo časovač"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr "Zodpovídá"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,server_action_ids:0
|
||||
msgid "Examples: email reminders, call object service, etc."
|
||||
msgstr "Například: připomenutí e-mailu, volání služby, apod."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_followers:0
|
||||
msgid "Add Followers"
|
||||
msgstr "Přidejte na vědomí"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_user_id:0
|
||||
msgid "Set Responsible"
|
||||
msgstr "Nastavte odpovědnou osobu"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,trg_date_range:0
|
||||
msgid ""
|
||||
"Delay after the trigger date.You can put a negative number if you need a "
|
||||
"delay before thetrigger date, like sending a reminder 15 minutes before a "
|
||||
"meeting."
|
||||
msgstr ""
|
||||
"Zpoždění po datu spuštění. Můžete zadat záporné číslo, pokud potřebujete "
|
||||
"prodlevu před datem spuštění, jako zaslání připomenutí 15 minut před "
|
||||
"schůzkou."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test
|
||||
msgid "base.action.rule.lead.test"
|
||||
msgstr "base.action.rule.lead.test"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Uzavřeno"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
msgid "New"
|
||||
msgstr "Nové"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,trg_date_range:0
|
||||
msgid "Delay after trigger date"
|
||||
msgstr "Po datu spuštění"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Conditions"
|
||||
msgstr "Podmínky"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
msgid "Pending"
|
||||
msgstr "Čekající"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,state:0
|
||||
msgid "Status"
|
||||
msgstr "Stav"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,filter_pre_id:0
|
||||
msgid "Before Update Filter"
|
||||
msgstr "Filtr před aktualizací"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Action Rule"
|
||||
msgstr "Pravidlo akce"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,filter_id:0
|
||||
msgid ""
|
||||
"If present, this condition must be satisfied after the update of the record."
|
||||
msgstr "Existuje-li, musí být tato podmínka po aktualizaci záznamu splněna."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Fields to Change"
|
||||
msgstr "Pole, která je možno měnit"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "The filter must therefore be available in this page."
|
||||
msgstr "Filtr musí být na této straně k dispozici."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,filter_id:0
|
||||
msgid "After Update Filter"
|
||||
msgstr "Filtr po aktualizaci"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_range_type:0
|
||||
msgid "Hours"
|
||||
msgstr "hodin"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "To create a new filter:"
|
||||
msgstr "Nový filtr vytvoříte:"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,active:0
|
||||
#: field:base.action.rule.lead.test,active:0
|
||||
msgid "Active"
|
||||
msgstr "Aktivní"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Delay After Trigger Date"
|
||||
msgstr "Zpoždění po datu spuštění"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid ""
|
||||
"An action rule is checked when you create or modify the \"Related Document "
|
||||
"Model\". The precondition filter is checked right before the modification "
|
||||
"while the postcondition filter is checked after the modification. A "
|
||||
"precondition filter will therefore not work during a creation."
|
||||
msgstr ""
|
||||
"Pravidlo akce je ověřováno při vytváření nebo úpravě \"souvisejícího modelu "
|
||||
"dokumentu\". Platnost filtru s podmínkou před je ověřována před úpravou, "
|
||||
"zatímco platnost filtru s podmínkou po je kontrolována po úpravě. Filtr s "
|
||||
"podmínkou před nebude tedy pracovat při vytváření."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Filter Condition"
|
||||
msgstr "Podmínka filtru"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid ""
|
||||
"- Go to your \"Related Document Model\" page and set the filter parameters "
|
||||
"in the \"Search\" view (Example of filter based on Leads/Opportunities: "
|
||||
"Creation Date \"is equal to\" 01/01/2012)"
|
||||
msgstr ""
|
||||
"- Přejděte na stránku \"Přiřazený model dokumentu\" a nastavte parametry "
|
||||
"filtru v zobrazení \"Hledat\" (Příklad filtru na základě Zájemci / "
|
||||
"Příležitosti: Datum vytvoření \"je\" 01.01.2012)"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,name:0
|
||||
msgid "Rule Name"
|
||||
msgstr "Název pravidla"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act
|
||||
#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form
|
||||
msgid "Automated Actions"
|
||||
msgstr "Automatické akce"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,sequence:0
|
||||
msgid "Gives the sequence order when displaying a list of rules."
|
||||
msgstr "Udává pořadí příkazů při zobrazení seznamu pravidel."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_range_type:0
|
||||
msgid "Months"
|
||||
msgstr "měsíců"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_range_type:0
|
||||
msgid "Days"
|
||||
msgstr "dnů"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Timer"
|
||||
msgstr "Časovač"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,trg_date_range_type:0
|
||||
msgid "Delay type"
|
||||
msgstr "Typ zpoždění"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Server actions to run"
|
||||
msgstr "Akce serveru ke spuštění"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,active:0
|
||||
msgid "When unchecked, the rule is hidden and will not be executed."
|
||||
msgstr "Pokud neoznačíte, pravidlo nebude vidět neprovede se."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule.lead.test,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Zrušeno"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,model:0
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,last_run:0
|
||||
msgid "Last Run"
|
||||
msgstr "Naposledy spuštěno"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_range_type:0
|
||||
msgid "Minutes"
|
||||
msgstr "minut"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,model_id:0
|
||||
msgid "Related Document Model"
|
||||
msgstr "Související model dokumentu"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,filter_pre_id:0
|
||||
msgid ""
|
||||
"If present, this condition must be satisfied before the update of the record."
|
||||
msgstr "Existuje-li, musí být podmínka spolněna po aktualizaci záznamu."
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Pořadí"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
msgid "Actions"
|
||||
msgstr "Akce"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to setup a new automated action rule. \n"
|
||||
" </p><p>\n"
|
||||
" Use automated actions to automatically trigger actions for\n"
|
||||
" various screens. Example: a lead created by a specific user "
|
||||
"may\n"
|
||||
" be automatically set to a specific sales team, or an\n"
|
||||
" opportunity which still has status pending after 14 days "
|
||||
"might\n"
|
||||
" trigger an automatic reminder email.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klepni pro vytvoření nového automatického pravidla akce. \n"
|
||||
" </p><p>\n"
|
||||
" Automatické akce používejte pro různé automaticky spouštěné\n"
|
||||
" akce. Například: a zájemce vytvořený konkrétním uživatelem "
|
||||
"může\n"
|
||||
" být automaticky přiřazen do určité obchodní skupiny, nebo\n"
|
||||
" příležitost, která je 14 dnů ve stavu \"čekající\" může "
|
||||
"odeslat\n"
|
||||
" upozorňující e-mail.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,create_date:0
|
||||
msgid "Create Date"
|
||||
msgstr "Datum vytvoření"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,date_action_last:0
|
||||
msgid "Last Action"
|
||||
msgstr "Poslední akce"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,trg_date_id:0
|
||||
msgid "Trigger Date"
|
||||
msgstr "Datum spuštění"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: view:base.action.rule:0
|
||||
#: field:base.action.rule,server_action_ids:0
|
||||
msgid "Server Actions"
|
||||
msgstr "Akce serveru"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule.lead.test,name:0
|
||||
msgid "Subject"
|
||||
msgstr "Předmět"
|
||||
@@ -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-11-27 23:56+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-15 16:22+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: Hungarian <hu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 06:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: contacts
|
||||
#: model:ir.actions.act_window,help:contacts.action_contacts
|
||||
@@ -29,6 +29,15 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kattintson új kapcsolat hozzáadásához a címjegyzékhez.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP segít az összes tevékenység nyomon követésében ami \n"
|
||||
" összefüggésben áll a vevőkkel; megbeszélésekkel, üzleti "
|
||||
"lehetőségek történetével,\n"
|
||||
" dokumentumokkal stb.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: contacts
|
||||
#: model:ir.actions.act_window,name:contacts.action_contacts
|
||||
|
||||
@@ -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/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
# Mongolian translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-02-19 02:49+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-19 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:139
|
||||
#, python-format
|
||||
msgid "Key Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,gdocs_resource_id:0
|
||||
msgid "Google Resource ID to Use as Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/xml/gdocs.xml:6
|
||||
#, python-format
|
||||
msgid "Add Google Doc..."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL:"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_google_docs_config
|
||||
msgid "Google Docs templates config"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:25
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The user google credentials are not set yet. Contact your administrator for "
|
||||
"help."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:101
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your resource id is not correct. You can find the id in the google docs URL."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:125
|
||||
#, python-format
|
||||
msgid "Creating google docs may only be done by one at a time."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:56
|
||||
#: code:addons/google_docs/google_docs.py:101
|
||||
#: code:addons/google_docs/google_docs.py:125
|
||||
#, python-format
|
||||
msgid "Google Docs Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:56
|
||||
#, python-format
|
||||
msgid "Check your google configuration in Users/Users/Synchronization tab."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_config
|
||||
msgid "Google Docs configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config
|
||||
msgid "Models configuration"
|
||||
msgstr "Моделийн тохиргоо"
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,model_id:0
|
||||
msgid "Model"
|
||||
msgstr "Модел"
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:28
|
||||
#, python-format
|
||||
msgid "User Google credentials are not yet set."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:139
|
||||
#, python-format
|
||||
msgid "Your Google Doc Name Pattern's key does not found in object."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,name_template:0
|
||||
msgid ""
|
||||
"Choose how the new google docs will be named, on google side. Eg. "
|
||||
"gdoc_%(field_name)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid "Google Docs Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,gdocs_resource_id:0
|
||||
msgid ""
|
||||
"\n"
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL: \n"
|
||||
"*for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`\n"
|
||||
"*for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`\n"
|
||||
"*for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`\n"
|
||||
"*for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`\n"
|
||||
"...\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_ir_attachment
|
||||
msgid "ir.attachment"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,name_template:0
|
||||
msgid "Google Doc Name Pattern"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,188 @@
|
||||
# Swedish translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-02-15 14:26+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish <sv@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:139
|
||||
#, python-format
|
||||
msgid "Key Error!"
|
||||
msgstr "Nyckelfel!"
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,gdocs_resource_id:0
|
||||
msgid "Google Resource ID to Use as Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/xml/gdocs.xml:6
|
||||
#, python-format
|
||||
msgid "Add Google Doc..."
|
||||
msgstr "Lägg till Google-dokument..."
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL:"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_google_docs_config
|
||||
msgid "Google Docs templates config"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:25
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The user google credentials are not set yet. Contact your administrator for "
|
||||
"help."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid ""
|
||||
"for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:101
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your resource id is not correct. You can find the id in the google docs URL."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:125
|
||||
#, python-format
|
||||
msgid "Creating google docs may only be done by one at a time."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:56
|
||||
#: code:addons/google_docs/google_docs.py:101
|
||||
#: code:addons/google_docs/google_docs.py:125
|
||||
#, python-format
|
||||
msgid "Google Docs Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:56
|
||||
#, python-format
|
||||
msgid "Check your google configuration in Users/Users/Synchronization tab."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_config
|
||||
msgid "Google Docs configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.actions.act_window,name:google_docs.action_google_docs_users_config
|
||||
#: model:ir.ui.menu,name:google_docs.menu_gdocs_model_config
|
||||
msgid "Models configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,model_id:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#. openerp-web
|
||||
#: code:addons/google_docs/static/src/js/gdocs.js:28
|
||||
#, python-format
|
||||
msgid "User Google credentials are not yet set."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: code:addons/google_docs/google_docs.py:139
|
||||
#, python-format
|
||||
msgid "Your Google Doc Name Pattern's key does not found in object."
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,name_template:0
|
||||
msgid ""
|
||||
"Choose how the new google docs will be named, on google side. Eg. "
|
||||
"gdoc_%(field_name)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: view:google.docs.config:0
|
||||
msgid "Google Docs Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: help:google.docs.config,gdocs_resource_id:0
|
||||
msgid ""
|
||||
"\n"
|
||||
"This is the id of the template document, on google side. You can find it "
|
||||
"thanks to its URL: \n"
|
||||
"*for a text document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/document/d/123456789/edit`, the ID is "
|
||||
"`document:123456789`\n"
|
||||
"*for a spreadsheet document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/spreadsheet/ccc?key=123456789#gid=0`, "
|
||||
"the ID is `spreadsheet:123456789`\n"
|
||||
"*for a presentation (slide show) document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/presentation/d/123456789/edit#slide=id"
|
||||
".p`, the ID is `presentation:123456789`\n"
|
||||
"*for a drawing document with url like "
|
||||
"`https://docs.google.com/a/openerp.com/drawings/d/123456789/edit`, the ID is "
|
||||
"`drawings:123456789`\n"
|
||||
"...\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: model:ir.model,name:google_docs.model_ir_attachment
|
||||
msgid "ir.attachment"
|
||||
msgstr ""
|
||||
|
||||
#. module: google_docs
|
||||
#: field:google.docs.config,name_template:0
|
||||
msgid "Google Doc Name Pattern"
|
||||
msgstr ""
|
||||
+42
-28
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2012-05-10 18:17+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-15 18:13+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:48+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.node,name:hr.process_node_openerpuser0
|
||||
@@ -24,7 +24,7 @@ msgstr "OpenERP felhasználó"
|
||||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_timesheet_sheet:0
|
||||
msgid "Allow timesheets validation by managers"
|
||||
msgstr ""
|
||||
msgstr "Engedélyezze az időkimutatások vezetőség általi megerősítését"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.job,requirements:0
|
||||
@@ -58,11 +58,14 @@ msgid ""
|
||||
"128x128px image, with aspect ratio preserved. Use this field in form views "
|
||||
"or some kanban views."
|
||||
msgstr ""
|
||||
"Közepes méretű fotó az alkalmazottakról. Automatikusan átméretezett mint "
|
||||
"128x128px kép, az arányok megtartása mellett. Használja ezt a mezőt a forma "
|
||||
"nézetben és egyes kanban nézetben."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.config.settings:0
|
||||
msgid "Time Tracking"
|
||||
msgstr ""
|
||||
msgstr "Idő követés"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
@@ -78,12 +81,12 @@ msgstr "Saját osztály létrehozása"
|
||||
#. module: hr
|
||||
#: help:hr.job,no_of_employee:0
|
||||
msgid "Number of employees currently occupying this job position."
|
||||
msgstr ""
|
||||
msgstr "Alakalmazottak száma akik jelenleg betöltik ezt az állás pozíciót."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.config.settings,module_hr_evaluation:0
|
||||
msgid "Organize employees periodic evaluation"
|
||||
msgstr ""
|
||||
msgstr "Alkalmazottak szervezése időközönkénti értékeléssel"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.department:0
|
||||
@@ -98,7 +101,7 @@ msgstr "Osztály, részleg"
|
||||
#. module: hr
|
||||
#: field:hr.employee,work_email:0
|
||||
msgid "Work Email"
|
||||
msgstr ""
|
||||
msgstr "Munkahelyi e-mail"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.employee,image:0
|
||||
@@ -106,11 +109,13 @@ msgid ""
|
||||
"This field holds the image used as photo for the employee, limited to "
|
||||
"1024x1024px."
|
||||
msgstr ""
|
||||
"Ez a mező tartalmazza a képet amit az alkalmazottakhoz használ, limitált "
|
||||
"méret 1024x1024px."
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.config.settings,module_hr_holidays:0
|
||||
msgid "This installs the module hr_holidays."
|
||||
msgstr ""
|
||||
msgstr "Ez a hr_holidays modult telepíti."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
@@ -125,7 +130,7 @@ msgstr "Toborzás folyamatban"
|
||||
#. module: hr
|
||||
#: field:hr.job,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
msgstr "Olvasatlan üzenetek"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,company_id:0
|
||||
@@ -143,33 +148,33 @@ msgstr "Várható felvételek"
|
||||
#. module: hr
|
||||
#: field:res.users,employee_ids:0
|
||||
msgid "Related employees"
|
||||
msgstr ""
|
||||
msgstr "Ide kapcsolódó alkalmazottak"
|
||||
|
||||
#. module: hr
|
||||
#: constraint:hr.employee.category:0
|
||||
msgid "Error! You cannot create recursive Categories."
|
||||
msgstr ""
|
||||
msgstr "Hiba! Nem tud többszörös kategóriát létrehozni."
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.config.settings,module_hr_recruitment:0
|
||||
msgid "This installs the module hr_recruitment."
|
||||
msgstr ""
|
||||
msgstr "Ez a hr_recruitment modult telepíti."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
msgid "Birth"
|
||||
msgstr ""
|
||||
msgstr "Született"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.act_window,name:hr.open_view_categ_form
|
||||
#: model:ir.ui.menu,name:hr.menu_view_employee_category_form
|
||||
msgid "Employee Tags"
|
||||
msgstr ""
|
||||
msgstr "Alkalmazott címke"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.job:0
|
||||
msgid "Launch Recruitement"
|
||||
msgstr ""
|
||||
msgstr "Ebéd igénylés"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.transition,name:hr.process_transition_employeeuser0
|
||||
@@ -194,22 +199,22 @@ msgstr "Házas"
|
||||
#. module: hr
|
||||
#: field:hr.job,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
msgstr "Üzenetek"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.config.settings:0
|
||||
msgid "Talent Management"
|
||||
msgstr ""
|
||||
msgstr "Képesség kezelés"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.config.settings,module_hr_timesheet_sheet:0
|
||||
msgid "This installs the module hr_timesheet_sheet."
|
||||
msgstr ""
|
||||
msgstr "Ez a hr_timesheet_sheet modult telepíti."
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
msgid "Mobile:"
|
||||
msgstr ""
|
||||
msgstr "Mobil:"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
@@ -219,12 +224,12 @@ msgstr "Beosztás"
|
||||
#. module: hr
|
||||
#: help:hr.job,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,color:0
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
msgstr "Szín meghatározó"
|
||||
|
||||
#. module: hr
|
||||
#: model:process.transition,note:hr.process_transition_employeeuser0
|
||||
@@ -232,11 +237,13 @@ msgid ""
|
||||
"The Related user field on the Employee form allows to link the OpenERP user "
|
||||
"(and her rights) to the employee."
|
||||
msgstr ""
|
||||
"Az alkalmazott űrlapján ide vonatkozó felhasználó mező lehetővé teszi az "
|
||||
"OpenERP felhasználó (és jogosultságai) hozzárendelését az alkalmazottakhoz."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,image_medium:0
|
||||
msgid "Medium-sized photo"
|
||||
msgstr ""
|
||||
msgstr "Közepes méretű fotó"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,identification_id:0
|
||||
@@ -277,7 +284,7 @@ msgstr "Iroda címe"
|
||||
#. module: hr
|
||||
#: field:hr.job,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
msgstr "Követők"
|
||||
|
||||
#. module: hr
|
||||
#: view:hr.employee:0
|
||||
@@ -298,6 +305,9 @@ msgid ""
|
||||
"image, with aspect ratio preserved. Use this field anywhere a small image is "
|
||||
"required."
|
||||
msgstr ""
|
||||
"Kis méretű fotó az alkalmazottról. Automatikusan átméretezve 64x64px képre, "
|
||||
"az arányok megtartás mellett. Használja ezt mezőt bárhol ahol kisméretű "
|
||||
"képet igényel."
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.employee,birthday:0
|
||||
@@ -307,12 +317,12 @@ msgstr "Születési idő"
|
||||
#. module: hr
|
||||
#: help:hr.job,no_of_recruitment:0
|
||||
msgid "Number of new employees you expect to recruit."
|
||||
msgstr ""
|
||||
msgstr "A felvenni kívánt alkalmazottak száma"
|
||||
|
||||
#. module: hr
|
||||
#: model:ir.actions.client,name:hr.action_client_hr_menu
|
||||
msgid "Open HR Menu"
|
||||
msgstr ""
|
||||
msgstr "Munkaügy HR menü megnyitása"
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.job,message_summary:0
|
||||
@@ -320,6 +330,8 @@ msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés "
|
||||
"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe."
|
||||
|
||||
#. module: hr
|
||||
#: help:hr.config.settings,module_account_analytic_analysis:0
|
||||
@@ -327,6 +339,8 @@ msgid ""
|
||||
"This installs the module account_analytic_analysis, which will install sales "
|
||||
"management too."
|
||||
msgstr ""
|
||||
"Ez az account_analytic_analysis modult telepíti, amely az értékesítés "
|
||||
"kezelést is magában foglalja."
|
||||
|
||||
#. module: hr
|
||||
#: view:board.board:0
|
||||
@@ -343,7 +357,7 @@ msgstr "Munka"
|
||||
#. module: hr
|
||||
#: field:hr.job,no_of_employee:0
|
||||
msgid "Current Number of Employees"
|
||||
msgstr ""
|
||||
msgstr "Jelenlegi alkalmazottak száma"
|
||||
|
||||
#. module: hr
|
||||
#: field:hr.department,member_ids:0
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
import time
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
@@ -152,7 +151,6 @@ class hr_expense_expense(osv.osv):
|
||||
account_journal = self.pool.get('account.journal')
|
||||
voucher_obj = self.pool.get('account.voucher')
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
wkf_service = netsvc.LocalService("workflow")
|
||||
if context is None:
|
||||
context = {}
|
||||
for exp in self.browse(cr, uid, ids, context=context):
|
||||
|
||||
@@ -24,10 +24,9 @@
|
||||
import datetime
|
||||
import time
|
||||
from itertools import groupby
|
||||
from operator import itemgetter
|
||||
from operator import attrgetter, itemgetter
|
||||
|
||||
import math
|
||||
from openerp import netsvc
|
||||
from openerp import tools
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
@@ -304,10 +303,8 @@ class hr_holidays(osv.osv):
|
||||
'manager_id': False,
|
||||
'manager_id2': False,
|
||||
})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
wf_service.trg_delete(uid, 'hr.holidays', id, cr)
|
||||
wf_service.trg_create(uid, 'hr.holidays', id, cr)
|
||||
self.delete_workflow(cr, uid, ids)
|
||||
self.create_workflow(cr, uid, ids)
|
||||
to_unlink = []
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
for record2 in record.linked_request_ids:
|
||||
@@ -370,11 +367,11 @@ class hr_holidays(osv.osv):
|
||||
'employee_id': emp.id
|
||||
}
|
||||
leave_ids.append(self.create(cr, uid, vals, context=None))
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for leave_id in leave_ids:
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'confirm', cr)
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'validate', cr)
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'second_validate', cr)
|
||||
# TODO is it necessary to interleave the calls?
|
||||
self.signal_confirm(cr, uid, [leave_id])
|
||||
self.signal_validate(cr, uid, [leave_id])
|
||||
self.signal_second_validate(cr, uid, [leave_id])
|
||||
return True
|
||||
|
||||
def holidays_confirm(self, cr, uid, ids, context=None):
|
||||
@@ -404,9 +401,7 @@ class hr_holidays(osv.osv):
|
||||
meeting_obj.unlink(cr, uid, [record.meeting_id.id])
|
||||
|
||||
# If a category that created several holidays, cancel all related
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for request in record.linked_request_ids or []:
|
||||
wf_service.trg_validate(uid, 'hr.holidays', request.id, 'refuse', cr)
|
||||
self.signal_refuse(cr, uid, map(attrgetter('id'), record.linked_request_ids or []))
|
||||
|
||||
self._remove_resource_leave(cr, uid, ids, context=context)
|
||||
return True
|
||||
@@ -478,10 +473,9 @@ class hr_employee(osv.osv):
|
||||
leave_id = holiday_obj.create(cr, uid, {'name': _('Leave Request for %s') % employee.name, 'employee_id': employee.id, 'holiday_status_id': status_id, 'type': 'remove', 'holiday_type': 'employee', 'number_of_days_temp': abs(diff)}, context=context)
|
||||
else:
|
||||
return False
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'confirm', cr)
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'validate', cr)
|
||||
wf_service.trg_validate(uid, 'hr.holidays', leave_id, 'second_validate', cr)
|
||||
holidays_obj.signal_confirm(cr, uid, [leave_id])
|
||||
holidays_obj.signal_validate(cr, uid, [leave_id])
|
||||
holidays_obj.signal_second_validate(cr, uid, [leave_id])
|
||||
return True
|
||||
|
||||
def _get_remaining_days(self, cr, uid, ids, name, args, context=None):
|
||||
|
||||
@@ -18,10 +18,8 @@
|
||||
I again set to draft and then confirm.
|
||||
-
|
||||
!python {model: hr.holidays}: |
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
self.set_to_draft(cr, uid, [ref('hr_holidays_employee1_cl')])
|
||||
wf_service.trg_validate(uid, 'hr.holidays', ref('hr_holidays_employee1_cl'), 'confirm', cr)
|
||||
self.set_to_draft(cr, uid, [ref('hr_holidays_employee1_cl')])
|
||||
self.signal_confirm(cr, uid, [ref('hr_holidays_employee1_cl')])
|
||||
-
|
||||
I validate the holiday request by clicking on "To Approve" button.
|
||||
-
|
||||
|
||||
@@ -26,7 +26,6 @@ from datetime import datetime
|
||||
from datetime import timedelta
|
||||
from dateutil import relativedelta
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import fields, osv
|
||||
from openerp import tools
|
||||
from openerp.tools.translate import _
|
||||
@@ -331,13 +330,12 @@ class hr_payslip(osv.osv):
|
||||
|
||||
def refund_sheet(self, cr, uid, ids, context=None):
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for payslip in self.browse(cr, uid, ids, context=context):
|
||||
id_copy = self.copy(cr, uid, payslip.id, {'credit_note': True, 'name': _('Refund: ')+payslip.name}, context=context)
|
||||
self.compute_sheet(cr, uid, [id_copy], context=context)
|
||||
wf_service.trg_validate(uid, 'hr.payslip', id_copy, 'hr_verify_sheet', cr)
|
||||
wf_service.trg_validate(uid, 'hr.payslip', id_copy, 'process_sheet', cr)
|
||||
|
||||
self.signal_hr_verify_sheet(cr, uid, [id_copy])
|
||||
self.signal_process_sheet(cr, uid, [id_copy])
|
||||
|
||||
form_id = mod_obj.get_object_reference(cr, uid, 'hr_payroll', 'view_hr_payslip_form')
|
||||
form_res = form_id and form_id[1] or False
|
||||
tree_id = mod_obj.get_object_reference(cr, uid, 'hr_payroll', 'view_hr_payslip_tree')
|
||||
|
||||
@@ -104,10 +104,8 @@
|
||||
I want to check cancel button. So I first cancel the sheet then make it set to draft.
|
||||
-
|
||||
!python {model: hr.payslip}: |
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
self.cancel_sheet(cr, uid, [ref("hr_payslip_0")], None)
|
||||
wf_service.trg_validate(uid, 'hr.payslip', ref("hr_payslip_0"), 'draft', cr)
|
||||
self.signal_draft(cr, uid, [ref("hr_payslip_0")])
|
||||
-
|
||||
Then I click on the "Confirm" button.
|
||||
-
|
||||
|
||||
@@ -373,7 +373,6 @@ class hr_applicant(base_stage, osv.Model):
|
||||
update_vals = {}
|
||||
|
||||
update_vals.update({
|
||||
'description': msg.get('body'),
|
||||
'email_from': msg.get('from'),
|
||||
'email_cc': msg.get('cc'),
|
||||
})
|
||||
|
||||
@@ -187,6 +187,8 @@
|
||||
domain="[('date_action','<>',False)]" help="Filter and view on next actions and date"/>
|
||||
<field name="job_id"/>
|
||||
<field name="user_id"/>
|
||||
<separator/>
|
||||
<field name="categ_ids"/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Responsible" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Department" domain="[]" context="{'group_by':'department_id'}"/>
|
||||
|
||||
@@ -115,6 +115,4 @@
|
||||
I click on "Create Invoice" button to create Invoice and validate the invoice.
|
||||
-
|
||||
!python {model: hr.timesheet.invoice.create.final}: |
|
||||
from openerp import netsvc
|
||||
wkf_service = netsvc.LocalService("workflow")
|
||||
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_agrolait")]})
|
||||
|
||||
@@ -114,6 +114,4 @@
|
||||
I click on "Create Invoice" button to create Invoice and validate the invoice.
|
||||
-
|
||||
!python {model: hr.timesheet.invoice.create.final}: |
|
||||
from openerp import netsvc
|
||||
wkf_service = netsvc.LocalService("workflow")
|
||||
res = self.do_create(cr, uid, [ref("hr_timesheet_invoice_create_final_0")], {"active_ids": [ref("account.analytic_agrolait")]})
|
||||
|
||||
@@ -25,7 +25,6 @@ from dateutil.relativedelta import relativedelta
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
from openerp import netsvc
|
||||
|
||||
class hr_timesheet_sheet(osv.osv):
|
||||
_name = "hr_timesheet_sheet.sheet"
|
||||
@@ -93,8 +92,7 @@ class hr_timesheet_sheet(osv.osv):
|
||||
self.check_employee_attendance_state(cr, uid, sheet.id, context=context)
|
||||
di = sheet.user_id.company_id.timesheet_max_difference
|
||||
if (abs(sheet.total_difference) < di) or not di:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'hr_timesheet_sheet.sheet', sheet.id, 'confirm', cr)
|
||||
self.signal_confirm(cr, uid, [sheet.id])
|
||||
else:
|
||||
raise osv.except_osv(_('Warning!'), _('Please verify that the total difference of the sheet is lower than %.2f.') %(di,))
|
||||
return True
|
||||
@@ -192,9 +190,7 @@ class hr_timesheet_sheet(osv.osv):
|
||||
|
||||
def action_set_to_draft(self, cr, uid, ids, *args):
|
||||
self.write(cr, uid, ids, {'state': 'draft'})
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
for id in ids:
|
||||
wf_service.trg_create(uid, self._name, id, cr)
|
||||
self.create_workflow(cr, uid, ids)
|
||||
return True
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
|
||||
+25
-16
@@ -7,24 +7,24 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-02-01 10:13+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-14 15:58+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Documents"
|
||||
msgstr ""
|
||||
msgstr "Dokumentumok"
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.model,name:knowledge.model_knowledge_config_settings
|
||||
msgid "knowledge.config.settings"
|
||||
msgstr ""
|
||||
msgstr "knowledge.config.settings"
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document_webdav:0
|
||||
@@ -32,11 +32,13 @@ msgid ""
|
||||
"Access your documents in OpenERP through WebDAV.\n"
|
||||
" This installs the module document_webdav."
|
||||
msgstr ""
|
||||
"Az OpenERP dokumentumok WebDAV-on keresztüli elérése.\n"
|
||||
" Ez a document_webdav modult telepíti."
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document_page:0
|
||||
msgid "This installs the module document_page."
|
||||
msgstr ""
|
||||
msgstr "Ez a document_page modult telepíti."
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.ui.menu,name:knowledge.menu_document2
|
||||
@@ -47,12 +49,12 @@ msgstr "Csoportmunában készült tartalom"
|
||||
#: model:ir.actions.act_window,name:knowledge.action_knowledge_configuration
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Configure Knowledge"
|
||||
msgstr ""
|
||||
msgstr "Tudástár beállítása"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Knowledge and Documents Management"
|
||||
msgstr ""
|
||||
msgstr "Tudástár és dokumentum kezelés"
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document:0
|
||||
@@ -62,31 +64,36 @@ msgid ""
|
||||
"and a document dashboard.\n"
|
||||
" This installs the module document."
|
||||
msgstr ""
|
||||
"Ez egy komplett dokumentum kezelő rendszer, beleértve: felhasználó "
|
||||
"hitelesítást,\n"
|
||||
" teljes dokumentum keresőt (de a pptx és docx nem "
|
||||
"támogatott), és egy dokumentum vezérlőpultot.\n"
|
||||
" Ez a document modult telepíti."
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_page:0
|
||||
msgid "Create static web pages"
|
||||
msgstr ""
|
||||
msgstr "Statikus weboldalak készítése"
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_ftp:0
|
||||
msgid "Share repositories (FTP)"
|
||||
msgstr ""
|
||||
msgstr "Elérési út (FTP) megosztás"
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document:0
|
||||
msgid "Manage documents"
|
||||
msgstr ""
|
||||
msgstr "Dokumentum kezelés"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Mégsem"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Alkalmaz"
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
|
||||
@@ -99,16 +106,18 @@ msgid ""
|
||||
"Access your documents in OpenERP through an FTP interface.\n"
|
||||
" This installs the module document_ftp."
|
||||
msgstr ""
|
||||
"Az OpenERP dokumentumok elérése egy FTP csatolón keresztül.\n"
|
||||
" Ez a document_ftp modult telepíti."
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "vagy"
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_webdav:0
|
||||
msgid "Share repositories (WebDAV)"
|
||||
msgstr ""
|
||||
msgstr "Elérési útvonal (webDAV) megosztás"
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.ui.menu,name:knowledge.menu_document
|
||||
|
||||
+18
-14
@@ -8,24 +8,24 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2010-12-19 23:48+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2013-02-15 10:59+0000\n"
|
||||
"Last-Translator: erdenebold <erdenebold10@gmail.com>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Documents"
|
||||
msgstr ""
|
||||
msgstr "Баримтууд"
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.model,name:knowledge.model_knowledge_config_settings
|
||||
msgid "knowledge.config.settings"
|
||||
msgstr ""
|
||||
msgstr "knowledge.config.settings"
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document_webdav:0
|
||||
@@ -33,11 +33,13 @@ msgid ""
|
||||
"Access your documents in OpenERP through WebDAV.\n"
|
||||
" This installs the module document_webdav."
|
||||
msgstr ""
|
||||
"OpenERP бичиг баримтууд руу WebDAV-р хандана.\n"
|
||||
" Энэ нь document_webdav модулийг суулгана."
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document_page:0
|
||||
msgid "This installs the module document_page."
|
||||
msgstr ""
|
||||
msgstr "Энэ нь мdocument_page модулийг суулгана."
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.ui.menu,name:knowledge.menu_document2
|
||||
@@ -48,12 +50,12 @@ msgstr "Хамтарсан агуулга"
|
||||
#: model:ir.actions.act_window,name:knowledge.action_knowledge_configuration
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Configure Knowledge"
|
||||
msgstr ""
|
||||
msgstr "Баримтын Тохиргоо"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Knowledge and Documents Management"
|
||||
msgstr ""
|
||||
msgstr "Бичиг Баримт, Мэдлэгийн менежмент"
|
||||
|
||||
#. module: knowledge
|
||||
#: help:knowledge.config.settings,module_document:0
|
||||
@@ -67,7 +69,7 @@ msgstr ""
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_page:0
|
||||
msgid "Create static web pages"
|
||||
msgstr ""
|
||||
msgstr "Статик веб хуудас үүсгэх."
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_ftp:0
|
||||
@@ -77,17 +79,17 @@ msgstr ""
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document:0
|
||||
msgid "Manage documents"
|
||||
msgstr ""
|
||||
msgstr "Бичиг баримтуудыг менежмент хийх"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Цуцлах"
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Ашиглах"
|
||||
|
||||
#. module: knowledge
|
||||
#: model:ir.ui.menu,name:knowledge.menu_document_configuration
|
||||
@@ -100,11 +102,13 @@ msgid ""
|
||||
"Access your documents in OpenERP through an FTP interface.\n"
|
||||
" This installs the module document_ftp."
|
||||
msgstr ""
|
||||
"OpenERP бичиг баримтууд руу FTP интерфейсээр хандана.\n"
|
||||
"Энэ нь document_ftp модулийг суулгана."
|
||||
|
||||
#. module: knowledge
|
||||
#: view:knowledge.config.settings:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "эсвэл"
|
||||
|
||||
#. module: knowledge
|
||||
#: field:knowledge.config.settings,module_document_webdav:0
|
||||
|
||||
@@ -26,7 +26,6 @@ from calendar import isleap
|
||||
|
||||
from openerp.tools.translate import _
|
||||
from openerp.osv import fields, osv
|
||||
from openerp import netsvc
|
||||
import openerp.addons.decimal_precision as dp
|
||||
|
||||
DATETIME_FORMAT = "%Y-%m-%d"
|
||||
@@ -179,7 +178,6 @@ class hr_payslip_run(osv.osv):
|
||||
return res
|
||||
|
||||
def create_advice(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
payslip_pool = self.pool.get('hr.payslip')
|
||||
payslip_line_pool = self.pool.get('hr.payslip.line')
|
||||
advice_pool = self.pool.get('hr.payroll.advice')
|
||||
@@ -198,8 +196,9 @@ class hr_payslip_run(osv.osv):
|
||||
advice_id = advice_pool.create(cr, uid, advice_data, context=context)
|
||||
slip_ids = []
|
||||
for slip_id in run.slip_ids:
|
||||
wf_service.trg_validate(uid, 'hr.payslip', slip_id.id, 'hr_verify_sheet', cr)
|
||||
wf_service.trg_validate(uid, 'hr.payslip', slip_id.id, 'process_sheet', cr)
|
||||
# TODO is it necessary to interleave the calls ?
|
||||
payslip_pool.signal_hr_verify_sheet(cr, uid, [slip_id.id])
|
||||
payslip_pool.signal_process_sheet(cr, uid, [slip_id.id])
|
||||
slip_ids.append(slip_id.id)
|
||||
|
||||
for slip in payslip_pool.browse(cr, uid, slip_ids, context=context):
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
# Hungarian translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 01:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-14 16:15+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: Hungarian <hu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
|
||||
msgid "Template for Fiscal Position"
|
||||
msgstr "ÁFA pozíció sablon"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: sql_constraint:account.account:0
|
||||
msgid "The code of the account must be unique per company !"
|
||||
msgstr "A főkönyvi számla számának egyedinek kell lennie!"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.account.template:0
|
||||
msgid ""
|
||||
"Configuration Error!\n"
|
||||
"You can not define children to an account with internal type different of "
|
||||
"\"View\"! "
|
||||
msgstr ""
|
||||
"Beállítási hiba!\n"
|
||||
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
|
||||
"típusa különböző! "
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
|
||||
msgid "Analytic Journal"
|
||||
msgstr "Analitikus/Gyüjtő napló"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.account.template:0
|
||||
msgid "Error ! You can not create recursive account templates."
|
||||
msgstr "Hiba! Nem hozhat létre rekurzív főkönyvi számla sablonokat."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_journal
|
||||
msgid "Journal"
|
||||
msgstr "Napló"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_chart_template
|
||||
msgid "Templates for Account Chart"
|
||||
msgstr "Számlatükör sablonok"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: sql_constraint:account.tax:0
|
||||
msgid "The description must be unique per company!"
|
||||
msgstr "A leírás egyedi kell legyen minden vállalathoz!"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.tax.code.template:0
|
||||
msgid "Error ! You can not create recursive Tax Codes."
|
||||
msgstr "Hiba! Nem hozhat létre rekurzív adógyűjtőket."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_tax_template
|
||||
msgid "account.tax.template"
|
||||
msgstr "account.tax.template"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_tax
|
||||
msgid "account.tax"
|
||||
msgstr "account.tax"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_account
|
||||
msgid "Account"
|
||||
msgstr "Főkönyvi számla"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
|
||||
msgid "wizard.multi.charts.accounts"
|
||||
msgstr "wizard.multi.charts.accounts"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.journal:0
|
||||
msgid ""
|
||||
"Configuration error! The currency chosen should be shared by the default "
|
||||
"accounts too."
|
||||
msgstr ""
|
||||
"Beállítási hiba! A választott pénznemet meg kell osztani az alapértelmezett "
|
||||
"főkönyvi számlával is."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_account_template
|
||||
msgid "Templates for Accounts"
|
||||
msgstr "Főkönyvi számla sablonok"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: help:account.chart.template,spoken_languages:0
|
||||
msgid ""
|
||||
"State here the languages for which the translations of templates could be "
|
||||
"loaded at the time of installation of this localization module and copied in "
|
||||
"the final object when generating them from templates. You must provide the "
|
||||
"language codes separated by ';'"
|
||||
msgstr ""
|
||||
"Adja meg itt a nyelvet amelyen a sablon be fog töltődni a lokalizációs modul "
|
||||
"telepítése után és az át lesz másolva a végső objektumba a sablonokból való "
|
||||
"létrehozás után. A nyelvi kódot ';' kell elválasztani."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.account:0
|
||||
msgid "Error ! You can not create recursive accounts."
|
||||
msgstr "Hiba! Nem hozhat létre rekurzív számlákat."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.account:0
|
||||
msgid ""
|
||||
"Configuration Error! \n"
|
||||
"You can not select an account type with a deferral method different of "
|
||||
"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The name of the journal must be unique per company !"
|
||||
msgstr "A napló nevének egyedinek kell lennie mindegyik vállalatra!"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Analitikus/elemző könyvelés"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The code of the journal must be unique per company !"
|
||||
msgstr "A napló kódjának egyedinek kell lennie mindegyik vállalathoz!"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Költségvetési pozíció"
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.account:0
|
||||
msgid ""
|
||||
"Configuration Error! \n"
|
||||
"You can not define children to an account with internal type different of "
|
||||
"\"View\"! "
|
||||
msgstr ""
|
||||
"Beállítási hiba! \n"
|
||||
"Nem tud al-számlát létrehozni egy számlához, melynek a belső \"Nézet\" "
|
||||
"típusa különböző! "
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr "Hiba! Nem hozhat létre rekurzív gyűjtőkódokat."
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
|
||||
msgid "Tax Code Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: l10n_multilang
|
||||
#: field:account.chart.template,spoken_languages:0
|
||||
msgid "Spoken Languages"
|
||||
msgstr "Beszélt nyelvek"
|
||||
@@ -159,7 +159,7 @@ class lunch_order(osv.Model):
|
||||
def specific_function(cr, uid, ids, context=None):
|
||||
return self.add_preference(cr, uid, ids, pref_id, context=context)
|
||||
return specific_function
|
||||
return super(lunch_order,self).__getattr__(self,attr)
|
||||
return super(lunch_order, self).__getattr__(attr)
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
|
||||
"""
|
||||
|
||||
+151
-90
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-02-12 17:52+0000\n"
|
||||
"PO-Revision-Date: 2013-02-14 16:43+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-13 04:36+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-15 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: mail
|
||||
@@ -906,12 +906,12 @@ msgstr "Alcsoportba rakott üzenetek"
|
||||
#. module: mail
|
||||
#: field:mail.alias,alias_user_id:0
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
msgstr "Tulajdonos"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_res_users
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
msgstr "Felhasználók"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_message
|
||||
@@ -920,25 +920,25 @@ msgstr ""
|
||||
#: field:mail.notification,message_id:0
|
||||
#: field:mail.wizard.invite,message:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
msgstr "Üzenet"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.followers,res_id:0
|
||||
#: help:mail.wizard.invite,res_id:0
|
||||
msgid "Id of the followed resource"
|
||||
msgstr ""
|
||||
msgstr "A követett forrás ID azonosítója"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,body:0
|
||||
#: field:mail.message,body:0
|
||||
msgid "Contents"
|
||||
msgstr ""
|
||||
msgstr "Tartalmak"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_view_mail_alias
|
||||
#: model:ir.ui.menu,name:mail.mail_alias_menu
|
||||
msgid "Aliases"
|
||||
msgstr ""
|
||||
msgstr "Álnevek"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.message.subtype,description:0
|
||||
@@ -946,40 +946,44 @@ msgid ""
|
||||
"Description that will be added in the message posted for this subtype. If "
|
||||
"void, the name will be added instead."
|
||||
msgstr ""
|
||||
"Leírás ami hozzá lesz adva az altípusnak elküldendő üzenethez. Ha üres, a "
|
||||
"név lesz hozzáadva helyette."
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,vote_user_ids:0
|
||||
#: field:mail.message,vote_user_ids:0
|
||||
msgid "Votes"
|
||||
msgstr ""
|
||||
msgstr "Szavazatok"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.group:0
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
msgstr "Csoport"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,starred:0
|
||||
#: help:mail.message,starred:0
|
||||
msgid "Current user has a starred notification linked to this message"
|
||||
msgstr ""
|
||||
"A jelenlegi felhasználónak van egy kicsillagozott értesítése mely hozzá van "
|
||||
"rendelve az üzenethez."
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,public:0
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
msgstr "Adatvédelem"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
msgid "Notification"
|
||||
msgstr ""
|
||||
msgstr "Értesítés"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/js/mail.js:585
|
||||
#, python-format
|
||||
msgid "Please complete partner's informations"
|
||||
msgstr ""
|
||||
msgstr "Kérem egészítse ki a partner információkat"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.wizard.invite:0
|
||||
@@ -994,7 +998,7 @@ msgstr "A kijelölt elemek követői és"
|
||||
#. module: mail
|
||||
#: field:mail.alias,alias_force_thread_id:0
|
||||
msgid "Record Thread ID"
|
||||
msgstr ""
|
||||
msgstr "Összefűzési azonosító ID elmentése"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.ui.menu,name:mail.mail_group_root
|
||||
@@ -1013,12 +1017,21 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" Nem található üzenet és nem lett még elküldve üzenet.\n"
|
||||
" </p><p>\n"
|
||||
" Kattintson felül jobbra az ikonra egy üzenet "
|
||||
"összeállításához. Ez az\n"
|
||||
" üzenet lesz elküldve e-mailként, ha ez egy belső "
|
||||
"kapcsolat.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
#: field:mail.mail,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Állapot"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
@@ -1029,13 +1042,13 @@ msgstr "Kimenő"
|
||||
#. module: mail
|
||||
#: selection:res.partner,notification_email_send:0
|
||||
msgid "All feeds"
|
||||
msgstr ""
|
||||
msgstr "Összes betáplálás"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,record_name:0
|
||||
#: help:mail.message,record_name:0
|
||||
msgid "Name get of the related document."
|
||||
msgstr ""
|
||||
msgstr "A név az ide vonatkozó dokumentumról levéve."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_view_notifications
|
||||
@@ -1046,12 +1059,12 @@ msgstr ""
|
||||
#: field:mail.message,notification_ids:0
|
||||
#: view:mail.notification:0
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
msgstr "Értesítések"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.alias:0
|
||||
msgid "Search Alias"
|
||||
msgstr ""
|
||||
msgstr "Álnév keresés"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.alias,alias_force_thread_id:0
|
||||
@@ -1060,6 +1073,9 @@ msgid ""
|
||||
"attached, even if they did not reply to it. If set, this will disable the "
|
||||
"creation of new records completely."
|
||||
msgstr ""
|
||||
"Az összefűzés (rekord) választható ID azonosítója, amely minden beérkezett "
|
||||
"üzenethez hozzá lesz mellékleve, még akkor is ha nem válaszoltak rá. Ha "
|
||||
"beállított, akkor teljesen ki lesz kapcsolva az új rekord létrehozása."
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.message.subtype,name:0
|
||||
@@ -1070,28 +1086,33 @@ msgid ""
|
||||
"subtypes allow to precisely tune the notifications the user want to receive "
|
||||
"on its wall."
|
||||
msgstr ""
|
||||
"Üzenet altípus sokkal pontosabb típust ad az üzenetekhez, főként a rendszer "
|
||||
"értesítésekhez. Például, az értesítés kapcsolódhat új rekordhoz (Új), vagy "
|
||||
"egy szakasz változás a műveletben (Szakasz változás). Üzenet altípusok "
|
||||
"lehetővé teszik az értesítések pontos behangolását, melyeket a felhasználó "
|
||||
"az üzenet falán látni szeretne."
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
msgid "by"
|
||||
msgstr ""
|
||||
msgstr "által"
|
||||
|
||||
#. module: mail
|
||||
#: model:mail.group,name:mail.group_best_sales_practices
|
||||
msgid "Best Sales Practices"
|
||||
msgstr ""
|
||||
msgstr "Legjobb Értékesítési Praktikák"
|
||||
|
||||
#. module: mail
|
||||
#: selection:mail.group,public:0
|
||||
msgid "Selected Group Only"
|
||||
msgstr ""
|
||||
msgstr "Csak a kiválasztott csoport"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,message_is_follower:0
|
||||
#: field:mail.thread,message_is_follower:0
|
||||
#: field:res.partner,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
msgstr "Ez egy követő"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.alias:0
|
||||
@@ -1102,12 +1123,12 @@ msgstr "Felhasználó"
|
||||
#. module: mail
|
||||
#: view:mail.group:0
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
msgstr "Csoportok"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.message:0
|
||||
msgid "Messages Search"
|
||||
msgstr ""
|
||||
msgstr "Üzenetek keresése"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,date:0
|
||||
@@ -1144,19 +1165,19 @@ msgstr "Bejegyzés írás a követőimnek"
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_res_groups
|
||||
msgid "Access Groups"
|
||||
msgstr ""
|
||||
msgstr "Csoportok hozzáférése"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.message.subtype,default:0
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
msgstr "Alapértelmezett"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:260
|
||||
#, python-format
|
||||
msgid "show more message"
|
||||
msgstr ""
|
||||
msgstr "mutassa a többi üzenetet"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
@@ -1168,25 +1189,27 @@ msgstr "Megjelölés feladatkét"
|
||||
#. module: mail
|
||||
#: help:mail.message.subtype,parent_id:0
|
||||
msgid "Parent subtype, used for automatic subscription."
|
||||
msgstr ""
|
||||
msgstr "Szülő altípus, ami automatikus feliratkozáshoz használt."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_wizard_invite
|
||||
msgid "Invite wizard"
|
||||
msgstr ""
|
||||
msgstr "Meghívó varázsló"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,message_summary:0
|
||||
#: field:mail.thread,message_summary:0
|
||||
#: field:res.partner,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
msgstr "Összegzés"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.message.subtype,res_model:0
|
||||
msgid ""
|
||||
"Model the subtype applies to. If False, this subtype applies to all models."
|
||||
msgstr ""
|
||||
"Az altípushoz alkalmazott minta. Ha téves, akkor ez az altípus lesz "
|
||||
"használva az összes mintához."
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,subtype_id:0
|
||||
@@ -1194,32 +1217,32 @@ msgstr ""
|
||||
#: field:mail.message,subtype_id:0
|
||||
#: view:mail.message.subtype:0
|
||||
msgid "Subtype"
|
||||
msgstr ""
|
||||
msgstr "Altípus"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.group:0
|
||||
msgid "Group Form"
|
||||
msgstr ""
|
||||
msgstr "Csoport űrlap"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,starred:0
|
||||
#: field:mail.message,starred:0
|
||||
#: field:mail.notification,starred:0
|
||||
msgid "Starred"
|
||||
msgstr ""
|
||||
msgstr "Csillagozott"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:262
|
||||
#, python-format
|
||||
msgid "more messages"
|
||||
msgstr ""
|
||||
msgstr "több üzenet"
|
||||
|
||||
#. module: mail
|
||||
#: code:addons/mail/update.py:93
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Hiba"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
@@ -1233,6 +1256,7 @@ msgstr "Követés"
|
||||
msgid ""
|
||||
"Unfortunately this email alias is already used, please choose a unique one"
|
||||
msgstr ""
|
||||
"Sajnos ez az email álnév már használva van, kérem válasszon egy egyedit."
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.alias,alias_user_id:0
|
||||
@@ -1242,19 +1266,24 @@ msgid ""
|
||||
"the sender (From) address, or will use the Administrator account if no "
|
||||
"system user is found for that address."
|
||||
msgstr ""
|
||||
"A rekord tulajdonosa létrehozva amikor erre az álnévre e-mailek érkeznek. "
|
||||
"Ha ez a mező nincs kialakítva akkor a rendszer megpróbálja megkeresni a "
|
||||
"jogos tulajdonost a elküldési (űrlap) címről, vagy az adminisztrátor "
|
||||
"felhasználót fogja használni ha nem talált rendszer felhasználót azzal a "
|
||||
"címmel."
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail_followers.xml:52
|
||||
#, python-format
|
||||
msgid "And"
|
||||
msgstr ""
|
||||
msgstr "És"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,message_id:0
|
||||
#: field:mail.message,message_id:0
|
||||
msgid "Message-Id"
|
||||
msgstr ""
|
||||
msgstr "Üzenet-ID azonosító"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.group,image:0
|
||||
@@ -1262,6 +1291,7 @@ msgid ""
|
||||
"This field holds the image used as photo for the group, limited to "
|
||||
"1024x1024px."
|
||||
msgstr ""
|
||||
"Ez a mező a képet tárolja amit a csoporthoz használ, limitálva 1024x1024px."
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,attachment_ids:0
|
||||
@@ -1274,7 +1304,7 @@ msgstr "Mellékletek"
|
||||
#: field:mail.compose.message,record_name:0
|
||||
#: field:mail.message,record_name:0
|
||||
msgid "Message Record Name"
|
||||
msgstr ""
|
||||
msgstr "Üzenet rekord név"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.mail,email_cc:0
|
||||
@@ -1284,7 +1314,7 @@ msgstr "Másolat"
|
||||
#. module: mail
|
||||
#: help:mail.notification,starred:0
|
||||
msgid "Starred message that goes into the todo mailbox"
|
||||
msgstr ""
|
||||
msgstr "Csillagos üzenet amely a teendők levélládába megy"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
@@ -1292,24 +1322,25 @@ msgstr ""
|
||||
#: view:mail.compose.message:0
|
||||
#, python-format
|
||||
msgid "Followers of"
|
||||
msgstr ""
|
||||
msgstr "Követők ehhez"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.mail,auto_delete:0
|
||||
msgid "Permanently delete this email after sending it, to save space"
|
||||
msgstr ""
|
||||
"Tartósan törli ezt az üzenetet az elküldés után, hely felszabadítása miatt"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.client,name:mail.action_mail_group_feeds
|
||||
msgid "Discussion Group"
|
||||
msgstr ""
|
||||
msgstr "Megbeszélés csoport"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:224
|
||||
#, python-format
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Kész"
|
||||
|
||||
#. module: mail
|
||||
#: model:mail.message.subtype,name:mail.mt_comment
|
||||
@@ -1326,7 +1357,7 @@ msgstr "Követ"
|
||||
#. module: mail
|
||||
#: field:mail.group,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
msgstr "Név"
|
||||
|
||||
#. module: mail
|
||||
#: model:mail.group,name:mail.group_all_employees
|
||||
@@ -1339,45 +1370,45 @@ msgstr "Teljes vállalat"
|
||||
#: view:mail.compose.message:0
|
||||
#, python-format
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
msgstr "és"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.mail,body_html:0
|
||||
msgid "Rich-text/HTML message"
|
||||
msgstr ""
|
||||
msgstr "Rich-text/HTML üzenet"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
msgid "Creation Month"
|
||||
msgstr ""
|
||||
msgstr "Létrehozás hónapja"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:272
|
||||
#, python-format
|
||||
msgid "Compose new Message"
|
||||
msgstr ""
|
||||
msgstr "Új üzenet létrehozása"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,menu_id:0
|
||||
msgid "Related Menu"
|
||||
msgstr ""
|
||||
msgstr "Kapcsolódó menü"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.message:0
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
msgstr "Tartalom"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.mail,email_to:0
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
msgstr "Címzett"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,notified_partner_ids:0
|
||||
#: field:mail.message,notified_partner_ids:0
|
||||
msgid "Notified partners"
|
||||
msgstr ""
|
||||
msgstr "Értesített partnerek"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.group,public:0
|
||||
@@ -1385,11 +1416,13 @@ msgid ""
|
||||
"This group is visible by non members. Invisible groups can add "
|
||||
"members through the invite button."
|
||||
msgstr ""
|
||||
"Ez a csoport azoknak is látható akik nem tagok. A nem látható csoportok "
|
||||
"tagokat adhatnak a meghívó gombbal."
|
||||
|
||||
#. module: mail
|
||||
#: model:mail.group,name:mail.group_board
|
||||
msgid "Board meetings"
|
||||
msgstr ""
|
||||
msgstr "Tanácskozás"
|
||||
|
||||
#. module: mail
|
||||
#: constraint:mail.alias:0
|
||||
@@ -1397,40 +1430,42 @@ msgid ""
|
||||
"Invalid expression, it must be a literal python dictionary definition e.g. "
|
||||
"\"{'field': 'value'}\""
|
||||
msgstr ""
|
||||
"Nem érvényes kifejezés, ennek python szótár kifejezésnek kell lennie pl.: "
|
||||
"\"{'field': 'value'}\""
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.alias,alias_model_id:0
|
||||
msgid "Aliased Model"
|
||||
msgstr ""
|
||||
msgstr "Minta álnév"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,message_id:0
|
||||
#: help:mail.message,message_id:0
|
||||
msgid "Message unique identifier"
|
||||
msgstr ""
|
||||
msgstr "Üzenet egyedi azonosító"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,description:0
|
||||
#: field:mail.message.subtype,description:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Leírás"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_followers
|
||||
msgid "Document Followers"
|
||||
msgstr ""
|
||||
msgstr "Követők dokumentuma"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail_followers.xml:35
|
||||
#, python-format
|
||||
msgid "Remove this follower"
|
||||
msgstr ""
|
||||
msgstr "Követő eltávolítása"
|
||||
|
||||
#. module: mail
|
||||
#: selection:res.partner,notification_email_send:0
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Soha"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.mail,mail_server_id:0
|
||||
@@ -1441,7 +1476,7 @@ msgstr "Kimenő levelező szerver"
|
||||
#: code:addons/mail/mail_message.py:920
|
||||
#, python-format
|
||||
msgid "Partners email addresses not found"
|
||||
msgstr ""
|
||||
msgstr "A partnerek e-mail címei nem találhatóak"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.mail:0
|
||||
@@ -1452,19 +1487,21 @@ msgstr "Elküldött"
|
||||
#. module: mail
|
||||
#: field:mail.mail,body_html:0
|
||||
msgid "Rich-text Contents"
|
||||
msgstr ""
|
||||
msgstr "Rich-text tartalmak"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,to_read:0
|
||||
#: help:mail.message,to_read:0
|
||||
msgid "Current user has an unread notification linked to this message"
|
||||
msgstr ""
|
||||
"A jelenlegi felhasználónak van egy olvasatlan értesítése ehhez az üzenethez "
|
||||
"csatolva"
|
||||
|
||||
#. module: mail
|
||||
#: help:res.partner,notification_email_send:0
|
||||
msgid ""
|
||||
"Choose in which case you want to receive an email when you receive new feeds."
|
||||
msgstr ""
|
||||
msgstr "Válassza ki milyen esetekben kíván e-mail kapni az új bevitelekből."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_view_groups
|
||||
@@ -1480,13 +1517,17 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" nincs üzenete ebben a csoportban.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:195
|
||||
#, python-format
|
||||
msgid "Please, wait while the file is uploading."
|
||||
msgstr ""
|
||||
msgstr "Kérem várjon amíg a fájl feltöltődik."
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.group:0
|
||||
@@ -1496,6 +1537,9 @@ msgid ""
|
||||
"installed\n"
|
||||
" the portal module."
|
||||
msgstr ""
|
||||
"Ez a csoport mindenki számára látható,\n"
|
||||
" az ügyfeleinek is, ha telepítette a\n"
|
||||
" portal modult."
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
@@ -1509,17 +1553,17 @@ msgstr "Visszahelyezés a feladatokhoz"
|
||||
#: code:addons/mail/static/src/xml/mail.xml:113
|
||||
#, python-format
|
||||
msgid "this document"
|
||||
msgstr ""
|
||||
msgstr "ez a dokumentum"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,filter_id:0
|
||||
msgid "Filters"
|
||||
msgstr ""
|
||||
msgstr "Szűrők"
|
||||
|
||||
#. module: mail
|
||||
#: field:res.partner,notification_email_send:0
|
||||
msgid "Receive Feeds by Email"
|
||||
msgstr ""
|
||||
msgstr "Új hozzászólások e-mailen fogadva"
|
||||
|
||||
#. module: mail
|
||||
#: help:base.config.settings,alias_domain:0
|
||||
@@ -1527,6 +1571,8 @@ msgid ""
|
||||
"If you have setup a catch-all email domain redirected to the OpenERP server, "
|
||||
"enter the domain name here."
|
||||
msgstr ""
|
||||
"Ha be állítja az összes e-mail fogadása domain átirányítás az openERP "
|
||||
"szerverre, akkor írja ide a domain nevet."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_view_mail_message
|
||||
@@ -1543,7 +1589,7 @@ msgstr "Üzenetek"
|
||||
#: code:addons/mail/static/src/xml/mail.xml:126
|
||||
#, python-format
|
||||
msgid "others..."
|
||||
msgstr ""
|
||||
msgstr "mások..."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.client,name:mail.action_mail_star_feeds
|
||||
@@ -1557,12 +1603,12 @@ msgstr "Feladat"
|
||||
#: field:mail.group,alias_id:0
|
||||
#: field:res.users,alias_id:0
|
||||
msgid "Alias"
|
||||
msgstr ""
|
||||
msgstr "Álnév"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_mail
|
||||
msgid "Outgoing Mails"
|
||||
msgstr ""
|
||||
msgstr "Elküldött levelek"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,notification_ids:0
|
||||
@@ -1571,6 +1617,8 @@ msgid ""
|
||||
"Technical field holding the message notifications. Use notified_partner_ids "
|
||||
"to access notified partners."
|
||||
msgstr ""
|
||||
"Technikai mező a értesítés üzenetek tárolásához. Használja a "
|
||||
"notified_partner_ids az értesített partnerek eléréséhez."
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.ui.menu,name:mail.mail_feeds
|
||||
@@ -1582,12 +1630,12 @@ msgstr "Üzenetek"
|
||||
#: view:mail.alias:0
|
||||
#: field:mail.message.subtype,res_model:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
msgstr "Modell"
|
||||
|
||||
#. module: mail
|
||||
#: view:mail.message:0
|
||||
msgid "Unread"
|
||||
msgstr ""
|
||||
msgstr "Olvasatlan"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.followers,subtype_ids:0
|
||||
@@ -1595,23 +1643,25 @@ msgid ""
|
||||
"Message subtypes followed, meaning subtypes that will be pushed onto the "
|
||||
"user's Wall."
|
||||
msgstr ""
|
||||
"Üzenet altípus követve, azt jelenti, hogy az altípus ki lesz rakva a "
|
||||
"felhasználó üzenőfalára."
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.group,message_ids:0
|
||||
#: help:mail.thread,message_ids:0
|
||||
#: help:res.partner,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
msgstr "Üzenetek és kommunikáció történet"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.mail,references:0
|
||||
msgid "Message references, such as identifiers of previous messages"
|
||||
msgstr ""
|
||||
msgstr "Üzenet hivatkozások, mint előző üzenetek azonosítói"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,composition_mode:0
|
||||
msgid "Composition mode"
|
||||
msgstr ""
|
||||
msgstr "Összeállítási mód"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,model:0
|
||||
@@ -1619,14 +1669,14 @@ msgstr ""
|
||||
#: field:mail.message,model:0
|
||||
#: field:mail.wizard.invite,res_model:0
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
msgstr "Ide vonatkozó dokumentum modell"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/xml/mail.xml:287
|
||||
#, python-format
|
||||
msgid "unlike"
|
||||
msgstr ""
|
||||
msgstr "nem valószínű"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,author_id:0
|
||||
@@ -1635,22 +1685,24 @@ msgid ""
|
||||
"Author of the message. If not set, email_from may hold an email address that "
|
||||
"did not match any partner."
|
||||
msgstr ""
|
||||
"Az üzenet szerzője. Ha nincs beállítva, az e-mail ettől, egy címet "
|
||||
"tartalmaz ami nem mutat egyik partnerre sem."
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.mail,email_cc:0
|
||||
msgid "Carbon copy message recipients"
|
||||
msgstr ""
|
||||
msgstr "Üzenet másolat címzettjei"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.alias,alias_domain:0
|
||||
msgid "Alias domain"
|
||||
msgstr ""
|
||||
msgstr "Álénév domain"
|
||||
|
||||
#. module: mail
|
||||
#: code:addons/mail/update.py:93
|
||||
#, python-format
|
||||
msgid "Error during communication with the publisher warranty server."
|
||||
msgstr ""
|
||||
msgstr "Hiba a kiadó garancia szerverével történő kommunikációval."
|
||||
|
||||
#. module: mail
|
||||
#: selection:mail.group,public:0
|
||||
@@ -1670,32 +1722,41 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p>\n"
|
||||
" <b>Nincs teendő.</b>\n"
|
||||
" </p><p>\n"
|
||||
" Ha a Beérkezett üzeneteinél végez műveletet, "
|
||||
"megjelölheti\n"
|
||||
" mint <i>teendő</i>. Ebből a menüből, minden teendőjét "
|
||||
"elvégezheti.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: mail
|
||||
#: selection:mail.mail,state:0
|
||||
msgid "Delivery Failed"
|
||||
msgstr ""
|
||||
msgstr "Küldés sikertelen"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.compose.message,partner_ids:0
|
||||
msgid "Additional contacts"
|
||||
msgstr ""
|
||||
msgstr "További kapcsolatok"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.compose.message,parent_id:0
|
||||
#: help:mail.message,parent_id:0
|
||||
msgid "Initial thread message."
|
||||
msgstr ""
|
||||
msgstr "Elsődleges összefűzött üzenet."
|
||||
|
||||
#. module: mail
|
||||
#: model:mail.group,name:mail.group_hr_policies
|
||||
msgid "HR Policies"
|
||||
msgstr ""
|
||||
msgstr "HR Emberi erőforrás menedzsment házirend"
|
||||
|
||||
#. module: mail
|
||||
#: selection:res.partner,notification_email_send:0
|
||||
msgid "Emails only"
|
||||
msgstr ""
|
||||
msgstr "Kizárólag e-mailek"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.client,name:mail.action_mail_inbox_feeds
|
||||
@@ -1708,35 +1769,35 @@ msgstr "Beérkezett üzenetek"
|
||||
#: code:addons/mail/static/src/xml/mail.xml:58
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Fájl"
|
||||
|
||||
#. module: mail
|
||||
#. openerp-web
|
||||
#: code:addons/mail/static/src/js/many2many_tags_email.js:63
|
||||
#, python-format
|
||||
msgid "Please complete partner's informations and Email"
|
||||
msgstr ""
|
||||
msgstr "Kérem egészítse ki a partner információkat és e-mailjét"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.actions.act_window,name:mail.action_view_message_subtype
|
||||
#: model:ir.ui.menu,name:mail.menu_message_subtype
|
||||
msgid "Subtypes"
|
||||
msgstr ""
|
||||
msgstr "Altípusok"
|
||||
|
||||
#. module: mail
|
||||
#: model:ir.model,name:mail.model_mail_alias
|
||||
msgid "Email Aliases"
|
||||
msgstr ""
|
||||
msgstr "e-amil álnevek"
|
||||
|
||||
#. module: mail
|
||||
#: field:mail.group,image_small:0
|
||||
msgid "Small-sized photo"
|
||||
msgstr ""
|
||||
msgstr "Kis-méretű fotó"
|
||||
|
||||
#. module: mail
|
||||
#: help:mail.mail,reply_to:0
|
||||
msgid "Preferred response address for the message"
|
||||
msgstr ""
|
||||
msgstr "Előnyben részesített válasz cím ehhez az üzenethez"
|
||||
|
||||
#~ msgid "Open Attachments"
|
||||
#~ msgstr "Mellékletek megnyitása"
|
||||
|
||||
@@ -310,8 +310,8 @@ class mail_message(osv.Model):
|
||||
partner_tree = dict((partner[0], partner) for partner in partners)
|
||||
|
||||
# 2. Attachments as SUPERUSER, because could receive msg and attachments for doc uid cannot see
|
||||
attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname'], context=context)
|
||||
attachments_tree = dict((attachment['id'], {'id': attachment['id'], 'filename': attachment['datas_fname']}) for attachment in attachments)
|
||||
attachments = ir_attachment_obj.read(cr, SUPERUSER_ID, list(attachment_ids), ['id', 'datas_fname', 'name'], context=context)
|
||||
attachments_tree = dict((attachment['id'], {'id': attachment['id'], 'filename': attachment['datas_fname'], 'name': attachment['name']}) for attachment in attachments)
|
||||
|
||||
# 3. Update message dictionaries
|
||||
for message_dict in messages:
|
||||
|
||||
@@ -773,7 +773,7 @@ class mail_thread(osv.AbstractModel):
|
||||
msg_dict['author_id'] = author_ids[0]
|
||||
else:
|
||||
msg_dict['email_from'] = message.get('from')
|
||||
partner_ids = self._message_find_partners(cr, uid, message, ['From', 'To', 'Cc'], context=context)
|
||||
partner_ids = self._message_find_partners(cr, uid, message, ['To', 'Cc'], context=context)
|
||||
msg_dict['partner_ids'] = [(4, partner_id) for partner_id in partner_ids]
|
||||
|
||||
if 'Date' in message:
|
||||
|
||||
@@ -104,8 +104,8 @@ openerp.mail = function (session) {
|
||||
// returns the file type of a file based on its extension
|
||||
// As it only looks at the extension it is quite approximative.
|
||||
filetype: function(url){
|
||||
url = url.filename || url;
|
||||
var tokens = (url+'').split('.');
|
||||
var url = url && url.filename || url;
|
||||
var tokens = typeof url == 'string' ? url.split('.') : [];
|
||||
if(tokens.length <= 1){
|
||||
return 'unknown';
|
||||
}
|
||||
|
||||
+25
-16
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-01-31 14:00+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-15 16:10+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: marketing
|
||||
#: model:ir.model,name:marketing.model_marketing_config_settings
|
||||
msgid "marketing.config.settings"
|
||||
msgstr ""
|
||||
msgstr "marketing.config.settings"
|
||||
|
||||
#. module: marketing
|
||||
#: help:marketing.config.settings,module_marketing_campaign_crm_demo:0
|
||||
@@ -28,12 +28,15 @@ msgid ""
|
||||
"Campaigns.\n"
|
||||
" This installs the module marketing_campaign_crm_demo."
|
||||
msgstr ""
|
||||
"Demó adatok telepítése mint érdeklődések, kampányok és szakaszok a Marketing "
|
||||
"kampányokhoz.\n"
|
||||
" Ez a marketing_campaign_crm_demo modult telepíti.."
|
||||
|
||||
#. module: marketing
|
||||
#: model:ir.actions.act_window,name:marketing.action_marketing_configuration
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "Configure Marketing"
|
||||
msgstr ""
|
||||
msgstr "Értékesítés beállítás"
|
||||
|
||||
#. module: marketing
|
||||
#: view:crm.lead:0
|
||||
@@ -44,47 +47,47 @@ msgstr "Marketing"
|
||||
#. module: marketing
|
||||
#: field:marketing.config.settings,module_marketing_campaign:0
|
||||
msgid "Marketing campaigns"
|
||||
msgstr ""
|
||||
msgstr "Értékesítési kampány"
|
||||
|
||||
#. module: marketing
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "vagy"
|
||||
|
||||
#. module: marketing
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "Campaigns"
|
||||
msgstr ""
|
||||
msgstr "Kampányok"
|
||||
|
||||
#. module: marketing
|
||||
#: model:res.groups,name:marketing.group_marketing_manager
|
||||
msgid "Manager"
|
||||
msgstr ""
|
||||
msgstr "Igazgató"
|
||||
|
||||
#. module: marketing
|
||||
#: model:res.groups,name:marketing.group_marketing_user
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
msgstr "Felhasználó"
|
||||
|
||||
#. module: marketing
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "Campaigns Settings"
|
||||
msgstr ""
|
||||
msgstr "Kampány beállítások"
|
||||
|
||||
#. module: marketing
|
||||
#: field:marketing.config.settings,module_crm_profiling:0
|
||||
msgid "Track customer profile to focus your campaigns"
|
||||
msgstr ""
|
||||
msgstr "Vevő profil nyomonkövetése a kampányra összpontosítva"
|
||||
|
||||
#. module: marketing
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Mégsem"
|
||||
|
||||
#. module: marketing
|
||||
#: view:marketing.config.settings:0
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
msgstr "Alkalmaz"
|
||||
|
||||
#. module: marketing
|
||||
#: help:marketing.config.settings,module_marketing_campaign:0
|
||||
@@ -94,6 +97,10 @@ msgid ""
|
||||
"CRM leads.\n"
|
||||
" This installs the module marketing_campaign."
|
||||
msgstr ""
|
||||
"Marketing kampányokon keresztüli érdeklődés automatizálást biztosít.\n"
|
||||
" Kampányt meg lehet határozni valójában bármely forrásból, "
|
||||
"nem csak a CMR érdeklődésekből.\n"
|
||||
" Ez a marketing_campaign modult telepíti."
|
||||
|
||||
#. module: marketing
|
||||
#: help:marketing.config.settings,module_crm_profiling:0
|
||||
@@ -101,11 +108,13 @@ msgid ""
|
||||
"Allows users to perform segmentation within partners.\n"
|
||||
" This installs the module crm_profiling."
|
||||
msgstr ""
|
||||
"A felhasználóknak engedélyezi a partnerek kiválogatását.\n"
|
||||
" Ez telepíti a crm_profiling modult."
|
||||
|
||||
#. module: marketing
|
||||
#: field:marketing.config.settings,module_marketing_campaign_crm_demo:0
|
||||
msgid "Demo data for marketing campaigns"
|
||||
msgstr ""
|
||||
msgstr "Demo adatok a merketing kampányhoz"
|
||||
|
||||
#~ msgid "Configure Your Marketing Application"
|
||||
#~ msgstr "Marketing alkalmazásainak beállítása"
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-02-04 14:42+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-15 12:34+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 06:01+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-16 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign:0
|
||||
@@ -31,16 +31,18 @@ msgstr "Előző tevékenység"
|
||||
#, python-format
|
||||
msgid "The current step for this item has no email or report to preview."
|
||||
msgstr ""
|
||||
"Ennek a tételnek az aktuális lépéséhez nincs előnézeti e-mail vagy jelentés."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: constraint:marketing.campaign.transition:0
|
||||
msgid "The To/From Activity of transition must be of the same Campaign "
|
||||
msgstr ""
|
||||
"A tól/hoz átvezetési tevékenységnek ugyanahhoz a kampányhoz kell tartoznia. "
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.transition,trigger:0
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
msgstr "Idő"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.activity,type:0
|
||||
@@ -62,16 +64,19 @@ msgid ""
|
||||
"reached this point has generated a certain revenue. You can get revenue "
|
||||
"statistics in the Reporting section"
|
||||
msgstr ""
|
||||
"Állítson be elvárt jövedelmet, ha figyelembe akarja venni amikor az egyes "
|
||||
"kampány termékek elérik ezt a szintet akkor azok bevételt generálnak. El "
|
||||
"tudja érni a bevétel statisztikát a Jelentések részen."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.transition,trigger:0
|
||||
msgid "Trigger"
|
||||
msgstr ""
|
||||
msgstr "Indítás"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign:0
|
||||
msgid "Follow-Up"
|
||||
msgstr ""
|
||||
msgstr "Fizetési emlékeztető"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:campaign.analysis,count:0
|
||||
@@ -89,7 +94,7 @@ msgstr "Kampányszerkesztő"
|
||||
#: view:marketing.campaign.segment:0
|
||||
#: selection:marketing.campaign.segment,state:0
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
msgstr "Folyamatban lévő"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:email.template,body_html:marketing_campaign.email_template_3
|
||||
@@ -97,6 +102,7 @@ msgid ""
|
||||
"Hi, we are delighted to let you know that you have entered the select circle "
|
||||
"of our Gold Partners"
|
||||
msgstr ""
|
||||
"Helló, mi örömmel tudatjuk, hogy bekerül az arany kiválasztott tagok körébe"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,month:0
|
||||
@@ -112,6 +118,7 @@ msgstr "Tárgy"
|
||||
#: view:marketing.campaign.segment:0
|
||||
msgid "Sync mode: only records created after last sync"
|
||||
msgstr ""
|
||||
"Szinkronizációs mód: csak a legutóbbi szinkronizlás után létrehozott rekordok"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.activity,condition:0
|
||||
@@ -125,6 +132,15 @@ msgid ""
|
||||
" - transitions: list of campaign transitions outgoing from this activity\n"
|
||||
"...- re: Python regular expression module"
|
||||
msgstr ""
|
||||
"Python kifejezés annak eldöntésére, hogy a tevékenység végrehajtható, egyéb "
|
||||
"esetben törölve vagy visszavonva lesz. A kifejezés a használhatja a "
|
||||
"következő [böngészhető] változókat:\n"
|
||||
" - tevékenység: a vállalat tevékenysége\n"
|
||||
" - feladatelemek: a kampány feladatelem\n"
|
||||
" - forrás: ezt a kampányt képviselő forrás termék\n"
|
||||
" - átmeneti időszakok: kampány átmeneti időszak listák amik ebből a "
|
||||
"tevékenységből származnak\n"
|
||||
"...- re: Python általános kifejező modul"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign:0
|
||||
@@ -145,11 +161,13 @@ msgid ""
|
||||
"The campaign cannot be started. It does not have any starting activity. "
|
||||
"Modify campaign's activities to mark one as the starting point."
|
||||
msgstr ""
|
||||
"A kampány nem indítható el. Nincs semmilyen elindítható tevékenysége. "
|
||||
"Módosítsa a kampány tevékenységet, legyen egy induló pontja."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.activity,email_template_id:0
|
||||
msgid "The email to send when this activity is activated"
|
||||
msgstr ""
|
||||
msgstr "A küldendő email a tevékenység aktiválása után"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
@@ -176,12 +194,12 @@ msgstr "Visszaállítás"
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign,object_id:0
|
||||
msgid "Choose the resource on which you want this campaign to be run"
|
||||
msgstr ""
|
||||
msgstr "Válasszon forrást amelyen a kampányt futtatni szeretné"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.actions.client,name:marketing_campaign.action_client_marketing_menu
|
||||
msgid "Open Marketing Menu"
|
||||
msgstr ""
|
||||
msgstr "Merketing menü megnyitása"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.segment,sync_last_date:0
|
||||
@@ -199,6 +217,8 @@ msgid ""
|
||||
"Date on which this segment was synchronized last time (automatically or "
|
||||
"manually)"
|
||||
msgstr ""
|
||||
"Dátum amelyen a szakasz utoljára szinkronizálva lett (automatikusan vagy "
|
||||
"kézzel)"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,state:0
|
||||
@@ -225,16 +245,25 @@ msgid ""
|
||||
"Normal - the campaign runs normally and automatically sends all emails and "
|
||||
"reports (be very careful with this mode, you're live!)"
|
||||
msgstr ""
|
||||
"Teszt - Ez közvetlenül, automatikusan létrehozza és futtatja az összes "
|
||||
"tevékenységet (anélkül, hogy az átmenetek késésére várakozna) de nem küld e-"
|
||||
"maileket és nem készít jelentéseket.\n"
|
||||
"Valós idejű teszt - Ez közvetlenül létrehozza és futtatja tevékenységeket de "
|
||||
"nem küld e-maileket és nem készít jelentéseket.\n"
|
||||
"Kézi visszaigazolással - a kampány normál futása, de a felhasználónak kézzel "
|
||||
"kell érvényesítenie a feladatelemet.\n"
|
||||
"Normál - a kampány normál futása és automatikus email küldések és jelentés "
|
||||
"készítések (legyen nagyon óvatos ezzel a móddal, élőben tesz mindent!)"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.segment,date_run:0
|
||||
msgid "Initial start date of this segment."
|
||||
msgstr ""
|
||||
msgstr "Elsődleges indítási dátuma ennek a szakasznak."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:res.partner:0
|
||||
msgid "False"
|
||||
msgstr ""
|
||||
msgstr "Hamis"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -251,7 +280,7 @@ msgstr "Kampány"
|
||||
#. module: marketing_campaign
|
||||
#: model:email.template,body_html:marketing_campaign.email_template_1
|
||||
msgid "Hello, you will receive your welcome pack via email shortly."
|
||||
msgstr ""
|
||||
msgstr "Helló, nemsokára emailben megkapja az üdvözlő csomagot."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -266,7 +295,7 @@ msgstr "Szakasz"
|
||||
#: code:addons/marketing_campaign/marketing_campaign.py:214
|
||||
#, python-format
|
||||
msgid "You cannot duplicate a campaign, Not supported yet."
|
||||
msgstr ""
|
||||
msgstr "Nem sokszorozhat kampányt, még nem támogatott."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.activity,type:0
|
||||
@@ -279,11 +308,20 @@ msgid ""
|
||||
"of the resource record\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"A művelet típusa melyet elvégez, amikor ehhez a tevékenységhez bevisz egy "
|
||||
"tételt, úgy mint:\n"
|
||||
" - Email: email küldése az előre definiált sablonból\n"
|
||||
" - Jelentés: a erőforrás tételnél meghatározott jelentés nyomtatása és "
|
||||
"elmentése egy konkrét könyvtárba\n"
|
||||
" - Egyedi művelet: előre meghatározott művelet végrehajtása, pl.: "
|
||||
"erőforrás rekord mező módosítása\n"
|
||||
" "
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.segment,date_next_sync:0
|
||||
msgid "Next time the synchronization job is scheduled to run automatically"
|
||||
msgstr ""
|
||||
"Következő időpont a munka szinkronizálására amikor az automatikusan futni fog"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.transition,interval_type:0
|
||||
@@ -301,7 +339,7 @@ msgstr "Partner"
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.filters,name:marketing_campaign.filter0
|
||||
msgid "Partners"
|
||||
msgstr ""
|
||||
msgstr "Partnerek"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -312,7 +350,7 @@ msgstr "Marketing jelentések"
|
||||
#: selection:marketing.campaign,state:0
|
||||
#: selection:marketing.campaign.segment,state:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Új"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: sql_constraint:marketing.campaign.transition:0
|
||||
@@ -322,7 +360,7 @@ msgstr "Az intervallumnak pozitívnak vagy 0-nak kell lennie"
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.activity,type:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
msgstr "E-mail"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign,name:0
|
||||
@@ -335,7 +373,7 @@ msgstr "Név"
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.workitem,res_name:0
|
||||
msgid "Resource Name"
|
||||
msgstr ""
|
||||
msgstr "Erőforrás neve"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.segment,sync_mode:0
|
||||
@@ -346,7 +384,7 @@ msgstr "Szinkronizálási mód"
|
||||
#: view:marketing.campaign:0
|
||||
#: view:marketing.campaign.segment:0
|
||||
msgid "Run"
|
||||
msgstr ""
|
||||
msgstr "Futtatás"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.activity:0
|
||||
@@ -357,12 +395,12 @@ msgstr "Előző tevékenységek"
|
||||
#. module: marketing_campaign
|
||||
#: model:email.template,subject:marketing_campaign.email_template_2
|
||||
msgid "Congratulations! You are now a Silver Partner!"
|
||||
msgstr ""
|
||||
msgstr "Gratulálok! Ön mostmár Ezüst partner!"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.segment,date_done:0
|
||||
msgid "Date this segment was last closed or cancelled."
|
||||
msgstr ""
|
||||
msgstr "Dátum amikor ez a szakasz utoljára le volt zárva vagy visszavonva."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.workitem:0
|
||||
@@ -417,6 +455,9 @@ msgid ""
|
||||
"reached this point has entailed a certain cost. You can get cost statistics "
|
||||
"in the Reporting section"
|
||||
msgstr ""
|
||||
"Változó költség beállítása ha úgy dönt, hogy mindegyik kampány tétel amikor "
|
||||
"eléri ezt a szintet akkor maga után von egy bizonyos költséget. Megkaphatja "
|
||||
"a költség statisztikát a Jelentés résznél"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.transition,interval_type:0
|
||||
@@ -434,6 +475,9 @@ msgid ""
|
||||
"By activating this option, workitems that aren't executed because the "
|
||||
"condition is not met are marked as cancelled instead of being deleted."
|
||||
msgstr ""
|
||||
"Ennek a lehetőségnek a aktiválásával, feladatelemek melyek a körülmények "
|
||||
"miatt nem végrehajthatóak azok visszavontak ahelyett, hogy törölte volna "
|
||||
"azokat."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -444,7 +488,7 @@ msgstr "Kivételek"
|
||||
#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_followup
|
||||
#: field:res.partner,workitem_ids:0
|
||||
msgid "Workitems"
|
||||
msgstr ""
|
||||
msgstr "Feladatelemek"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign,fixed_cost:0
|
||||
@@ -477,6 +521,23 @@ msgid ""
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kattintson marketing kampány létrehozásához.\n"
|
||||
" </p><p>\n"
|
||||
" OpenERP marketing kampánya lehetővé teszi a kiállításaihoz\n"
|
||||
" az automatikus kommunikációt. Szakaszokat tud meghatározni \n"
|
||||
" (körülmények megadásával) az érdeklődőkhöz és a partnerekhez \n"
|
||||
" a kampány elvégzéséhez.\n"
|
||||
" </p><p>\n"
|
||||
" Egy kampánynak több tevékenysége lehet mint: email küldés, "
|
||||
"levél\n"
|
||||
" nyomtatás, csoporthoz fűzés, stb. ezek a tevékenységek "
|
||||
"kapcsolhatóak\n"
|
||||
" egy sajátos helyzethez; kapcsolati űrlap, 10 nappal az első "
|
||||
"kapcsolat\n"
|
||||
" felvételtől, ha az érdeklődés még nincs lezárva, stb.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.transition,interval_nbr:0
|
||||
@@ -507,6 +568,10 @@ msgid ""
|
||||
"for reporting purposes, via the Campaign Analysis or Campaign Follow-up "
|
||||
"views."
|
||||
msgstr ""
|
||||
"A létrehozott feladatelemek a rekordhoz tartozó partnerhez lesznek csatlova. "
|
||||
"Ha a rekord a partnerrel megegyezik akkor a mezőt hagyja üresen. Ez hasznos "
|
||||
"jelentés céljából, a Kampány analízis elemzéshez vagy a Kampány nyomkövetés "
|
||||
"nézetben."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -535,6 +600,7 @@ msgstr "Tesztmód"
|
||||
#: selection:marketing.campaign.segment,sync_mode:0
|
||||
msgid "Only records modified after last sync (no duplicates)"
|
||||
msgstr ""
|
||||
"Csak az utolsó szinkronizálás óta módosult rekordok (nincs többszörözés)"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml
|
||||
@@ -549,7 +615,7 @@ msgstr "Kampánystatisztikák"
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.activity,server_action_id:0
|
||||
msgid "The action to perform when this activity is activated"
|
||||
msgstr ""
|
||||
msgstr "Az elvégzett művelet miután tevékenység aktiválásra került"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign,partner_field_id:0
|
||||
@@ -574,6 +640,13 @@ msgid ""
|
||||
"records which have the same value for the unique field as other records that "
|
||||
"already entered the campaign."
|
||||
msgstr ""
|
||||
"Még egy kritérium meghatározásának hozzáadása a szűrőhöz, amikor egy új "
|
||||
"rekordot választ a kampányba való beillesztéshez \"Nincs többszörözés\" "
|
||||
"megakadályozva olyan rekord választását melyek már előzőleg be lettek "
|
||||
"illesztve a kampányba. Ha a kampányban van \"Egyedi mező\" beállítva, "
|
||||
"\"nincs többszörözés\" akkor is megakadályozza olyan rekord kiválasztását, "
|
||||
"melynek ugyanaz az értéke az egyedi mezőre mint a másik rekordnak, mely már "
|
||||
"be lett írva a kampányba."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign,mode:0
|
||||
@@ -599,7 +672,7 @@ msgstr "Tervezet"
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.workitem:0
|
||||
msgid "Marketing Campaign Activity"
|
||||
msgstr ""
|
||||
msgstr "marketing kampány tevékenység"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.workitem:0
|
||||
@@ -616,7 +689,7 @@ msgstr "Előnézet"
|
||||
#: view:marketing.campaign.workitem:0
|
||||
#: field:marketing.campaign.workitem,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Állapot"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,month:0
|
||||
@@ -639,6 +712,9 @@ msgid ""
|
||||
"An activity with a signal can be called programmatically. Be careful, the "
|
||||
"workitem is always created when a signal is sent"
|
||||
msgstr ""
|
||||
"Egy tevékenység jeladóval ellátva úgy is nevezhető mint programozott "
|
||||
"végrehajtó. Vigyázzon, a feladatelem mindig létre lesz hozva, ha a jelet "
|
||||
"elküldik"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -646,7 +722,7 @@ msgstr ""
|
||||
#: view:marketing.campaign.workitem:0
|
||||
#: selection:marketing.campaign.workitem,state:0
|
||||
msgid "To Do"
|
||||
msgstr ""
|
||||
msgstr "Teendő"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,month:0
|
||||
@@ -656,17 +732,17 @@ msgstr "Június"
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_email_template
|
||||
msgid "Email Templates"
|
||||
msgstr ""
|
||||
msgstr "E-mail sablonok"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
msgid "Sync mode: all records"
|
||||
msgstr ""
|
||||
msgstr "Szinkronizációs mód: minden rekord"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.segment,sync_mode:0
|
||||
msgid "All records (no duplicates)"
|
||||
msgstr ""
|
||||
msgstr "Minden rekord (nincs sokszorozás)"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
@@ -696,7 +772,7 @@ msgstr "Jelentés generálódik, amikor ez a tevékenység aktiválódott"
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign,unique_field_id:0
|
||||
msgid "Unique Field"
|
||||
msgstr ""
|
||||
msgstr "Egyedi mező"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,state:0
|
||||
@@ -729,7 +805,7 @@ msgstr "Kivitelezés dátuma"
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem
|
||||
msgid "Campaign Workitem"
|
||||
msgstr ""
|
||||
msgstr "Kampány feladatelem"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity
|
||||
@@ -739,7 +815,7 @@ msgstr "Kampánytevékenység"
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.activity,report_directory_id:0
|
||||
msgid "This folder is used to store the generated reports"
|
||||
msgstr ""
|
||||
msgstr "Ez a könyvtár a létrehozott jelentések tárolására szolgál"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: code:addons/marketing_campaign/marketing_campaign.py:136
|
||||
@@ -781,12 +857,12 @@ msgstr "Folyamat"
|
||||
#: selection:marketing.campaign.transition,trigger:0
|
||||
#, python-format
|
||||
msgid "Cosmetic"
|
||||
msgstr ""
|
||||
msgstr "Kozmetika"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.transition,trigger:0
|
||||
msgid "How is the destination workitem triggered"
|
||||
msgstr ""
|
||||
msgstr "Ahogy a végső feladatelem kapcsolva lesz"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
@@ -809,7 +885,7 @@ msgstr "Nem támogatott művelet"
|
||||
#: view:marketing.campaign.segment:0
|
||||
#: view:marketing.campaign.workitem:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
@@ -820,6 +896,7 @@ msgstr "Zárás"
|
||||
#: constraint:marketing.campaign.segment:0
|
||||
msgid "Model of filter must be same as resource model of Campaign "
|
||||
msgstr ""
|
||||
"A szűrő modelljének ugyanannak kell lennie mint a kampány erőforrás modellje "
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
@@ -835,12 +912,12 @@ msgstr "Erőforrás ID"
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition
|
||||
msgid "Campaign Transition"
|
||||
msgstr ""
|
||||
msgstr "Kampány átmenet"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
msgid "Marketing Campaign Segment"
|
||||
msgstr ""
|
||||
msgstr "Marketing kampány szakasz"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened
|
||||
@@ -854,7 +931,7 @@ msgstr "Szegmensek"
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.activity,keep_if_condition_not_met:0
|
||||
msgid "Don't Delete Workitems"
|
||||
msgstr ""
|
||||
msgstr "Ne törölje a feladatelemeket"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.activity:0
|
||||
@@ -876,7 +953,7 @@ msgstr "Tevékenységek"
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign,mode:0
|
||||
msgid "With Manual Confirmation"
|
||||
msgstr ""
|
||||
msgstr "Kézi visszaigazolással"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,month:0
|
||||
@@ -891,7 +968,7 @@ msgstr "Típus"
|
||||
#. module: marketing_campaign
|
||||
#: model:email.template,subject:marketing_campaign.email_template_3
|
||||
msgid "Congratulations! You are now one of our Gold Partners!"
|
||||
msgstr ""
|
||||
msgstr "Gratulálunk! Most már Ön is egy Arany tagsággal rendelkezik!"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign,unique_field_id:0
|
||||
@@ -910,7 +987,7 @@ msgstr ""
|
||||
#: code:addons/marketing_campaign/marketing_campaign.py:529
|
||||
#, python-format
|
||||
msgid "After %(interval_nbr)d %(interval_type)s"
|
||||
msgstr ""
|
||||
msgstr "Után %(interval_nbr)d %(interval_type)s"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: model:ir.model,name:marketing_campaign.model_marketing_campaign
|
||||
@@ -937,7 +1014,7 @@ msgstr "Február"
|
||||
#: view:marketing.campaign.workitem:0
|
||||
#: field:marketing.campaign.workitem,object_id:0
|
||||
msgid "Resource"
|
||||
msgstr ""
|
||||
msgstr "Erőforrás"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign,fixed_cost:0
|
||||
@@ -946,11 +1023,15 @@ msgid ""
|
||||
"revenue on each campaign activity. Cost and Revenue statistics are included "
|
||||
"in Campaign Reporting."
|
||||
msgstr ""
|
||||
"fix költség a kampány futtatásához. Lehetősége van megadni változó költséget "
|
||||
"is és bevételt mindegyik kampány tevékenységhez. Költség és bevétel "
|
||||
"statisztikák a Kampány jelentéseknél."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign.segment:0
|
||||
msgid "Sync mode: only records updated after last sync"
|
||||
msgstr ""
|
||||
"Szinkronizálási mód: csak az utolsó szinkronizálás óta frissített rekordok"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: code:addons/marketing_campaign/marketing_campaign.py:793
|
||||
@@ -961,12 +1042,12 @@ msgstr "E-mail előnézet"
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.activity,signal:0
|
||||
msgid "Signal"
|
||||
msgstr ""
|
||||
msgstr "Jel"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: help:marketing.campaign.workitem,date:0
|
||||
msgid "If date is not set, this workitem has to be run manually"
|
||||
msgstr ""
|
||||
msgstr "Ha nincs beállítva a dátum, ezt a feladatelemet kézzel kell futtatni"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: selection:campaign.analysis,month:0
|
||||
@@ -978,6 +1059,7 @@ msgstr "Április"
|
||||
#, python-format
|
||||
msgid "The campaign cannot be marked as done before all segments are closed."
|
||||
msgstr ""
|
||||
"Minden szakasz lezárása előtt a kampányt nem lehet elvégzettnek jelölni."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:marketing.campaign:0
|
||||
@@ -1006,7 +1088,7 @@ msgstr ""
|
||||
#: code:addons/marketing_campaign/marketing_campaign.py:136
|
||||
#, python-format
|
||||
msgid "The campaign cannot be started. There are no activities in it."
|
||||
msgstr ""
|
||||
msgstr "a kampány nem indítható el. Nincs tevékenység benne."
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.segment,date_next_sync:0
|
||||
@@ -1017,7 +1099,7 @@ msgstr "Következő szinkronizáció"
|
||||
#: model:email.template,body_html:marketing_campaign.email_template_2
|
||||
msgid ""
|
||||
"Hi, we are delighted to welcome you among our Silver Partners as of today!"
|
||||
msgstr ""
|
||||
msgstr "Helló, örömmel köszöntjük az Ezüst Partnereink között a mai naptól!"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.segment,ir_filter_id:0
|
||||
@@ -1032,7 +1114,7 @@ msgstr "Összes"
|
||||
#. module: marketing_campaign
|
||||
#: selection:marketing.campaign.segment,sync_mode:0
|
||||
msgid "Only records created after last sync"
|
||||
msgstr ""
|
||||
msgstr "Csak az utolsó szinkronizáció után létrehozott rekordok"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: field:marketing.campaign.activity,variable_cost:0
|
||||
@@ -1042,7 +1124,7 @@ msgstr "Változó költség"
|
||||
#. module: marketing_campaign
|
||||
#: model:email.template,subject:marketing_campaign.email_template_1
|
||||
msgid "Welcome to the OpenERP Partner Channel!"
|
||||
msgstr ""
|
||||
msgstr "Köszöntjük az OpenERP Partnereknél!"
|
||||
|
||||
#. module: marketing_campaign
|
||||
#: view:campaign.analysis:0
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2011-01-21 15:22+0000\n"
|
||||
"Last-Translator: Krisztian Eyssen <krisz@eyssen.hu>\n"
|
||||
"PO-Revision-Date: 2013-02-13 12:33+0000\n"
|
||||
"Last-Translator: krnkris <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-22 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16378)\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-14 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_8
|
||||
@@ -28,6 +28,14 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Köszönjük érdeklődésedet és feliratkozásodat a műszaki "
|
||||
"képzésre.</p>\n"
|
||||
" Egyéb, további felmerülő kérdésekben állunk rendelkezésre. "
|
||||
"Nagyon köszönjük együttműködésedet.</p>\n"
|
||||
" <p>Ha további információra van szükség, küldj választ erre az "
|
||||
"üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapata,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:ir.actions.report.xml,name:marketing_campaign_crm_demo.mc_crm_lead_demo_report
|
||||
@@ -37,7 +45,7 @@ msgstr "Marketingkampány demojelentés"
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_8
|
||||
msgid "Thanks for subscribing to technical training"
|
||||
msgstr ""
|
||||
msgstr "Köszönjük a feliratkozást a műszaki képzésre"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_3
|
||||
@@ -49,6 +57,12 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Köszönjük érdeklődésedet és feliratkozásodat az OpenERP "
|
||||
"felfedező napra.</p>\n"
|
||||
" <p>Ha további információra van szükség, küldj válasz választ "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapat,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: report:crm.lead.demo:0
|
||||
@@ -58,7 +72,7 @@ msgstr "Vállalat :"
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_4
|
||||
msgid "Thanks for buying the OpenERP book"
|
||||
msgstr ""
|
||||
msgstr "Köszönjük, hogy megvásárolta az OpenERP könyvet"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_6
|
||||
@@ -71,16 +85,23 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Van egy nagyon jó ajánlatunk ami megfelelhet Önnek.\n"
|
||||
" Az ezüst tagjainknak, mi fizetjük a műszaki oktatást 2013 "
|
||||
"Júniusában.</p>\n"
|
||||
" <p>Ha további információra van szükség, küldj válasz választ "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapat,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_1
|
||||
msgid "Thanks for showing interest in OpenERP"
|
||||
msgstr ""
|
||||
msgstr "Köszönjük érdeklődését az OpenERP iránt"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:ir.actions.server,name:marketing_campaign_crm_demo.action_dummy
|
||||
msgid "Dummy Action"
|
||||
msgstr ""
|
||||
msgstr "Látszólagos művelet"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: report:crm.lead.demo:0
|
||||
@@ -98,6 +119,13 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>an egy nagyon jó ajánlatunk ami megfelelhet Önnek.\n"
|
||||
" Ajánljuk, hogy iratkozzon fel az OpenERP felfedező napra 2013 "
|
||||
"májusában.</p>\n"
|
||||
" <p>Ha további információra van szükség, küldj válasz választ "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapat,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_5
|
||||
@@ -110,26 +138,33 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>an egy nagyon jó ajánlatunk ami megfelelhet Önnek.\n"
|
||||
" Az arany partnereknek, mi szervezzük az ingyenes oktatást 2013 "
|
||||
"Júniusában.</p>\n"
|
||||
" <p>Ha további információra van szükség, küldj válasz választ "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapat,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_2
|
||||
msgid "Propose to subscribe to the OpenERP Discovery Day on May 2010"
|
||||
msgstr ""
|
||||
msgstr "Javasolja a feliratkozást az OpenERP felfedező napra 2013 Májusában"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_3
|
||||
msgid "Thanks for subscribing to the OpenERP Discovery Day"
|
||||
msgstr ""
|
||||
msgstr "Köszönjük, hogy feliratkozott az OpenERP felfedező napra"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_7
|
||||
msgid "Propose gold partnership to silver partners"
|
||||
msgstr ""
|
||||
msgstr "Javasolja az arany partner tagságot az ezüst tagoknak"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_6
|
||||
msgid "Propose paid training to Silver partners"
|
||||
msgstr ""
|
||||
msgstr "Javasolja a költségtérítéses oktatást az Ezüst partnereknek"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_4
|
||||
@@ -139,6 +174,12 @@ msgid ""
|
||||
" If any further information required kindly revert back.\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Köszönjük az OpenERP könyv utáni érdeklődését és a "
|
||||
"vásárlását.</p>\n"
|
||||
" Ha további információra van szüksége kérjük forduljon hozzánk "
|
||||
"bizalommal.\n"
|
||||
" <p>Tisztelettel,OpenERP csapata,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_7
|
||||
@@ -150,11 +191,17 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Nagyon jó ajánlatunk van ami illeszkedhet az Ön igényeihez.\n"
|
||||
" Az Ezüst partnereinknek, Arany tagságot ajánlunk.</p>\n"
|
||||
" <p>Ha további információra van szükségük, kérjük válaszoljon "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapata,</p>"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,subject:marketing_campaign_crm_demo.email_template_5
|
||||
msgid "Propose a free technical training to Gold partners"
|
||||
msgstr ""
|
||||
msgstr "Ajánljon ingyenes műszaki oktatást az Arany partnereknek"
|
||||
|
||||
#. module: marketing_campaign_crm_demo
|
||||
#: model:email.template,body_html:marketing_campaign_crm_demo.email_template_1
|
||||
@@ -166,3 +213,8 @@ msgid ""
|
||||
"reply to this message.</p>\n"
|
||||
" <p>Regards,OpenERP Team,</p>"
|
||||
msgstr ""
|
||||
"<p>Hello,</p>\n"
|
||||
" <p>Köszönjük az OpenERP iránti őszinte érdeklődését.</p>\n"
|
||||
" <p>Ha további információra van szükségük, kérjük válaszoljon "
|
||||
"erre az üzenetre.</p>\n"
|
||||
" <p>Tisztelettel,OpenERP csapata,</p>"
|
||||
|
||||
@@ -31,19 +31,18 @@
|
||||
I'm Opening that Invoice which is created for "Seagate".
|
||||
-
|
||||
!python {model: res.partner}: |
|
||||
from openerp import netsvc
|
||||
from openerp.tools.translate import _
|
||||
invoice_pool = self.pool.get('account.invoice')
|
||||
partner_pool = self.pool.get('res.partner')
|
||||
membership_line_pool = self.pool.get('membership.membership_line')
|
||||
membership_pool = self.pool.get('product.product')
|
||||
from openerp.tools.translate import _
|
||||
invoice_pool = self.pool.get('account.invoice')
|
||||
partner_pool = self.pool.get('res.partner')
|
||||
membership_line_pool = self.pool.get('membership.membership_line')
|
||||
membership_pool = self.pool.get('product.product')
|
||||
|
||||
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
|
||||
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
|
||||
assert membership_lines, _('Membership is not registrated.')
|
||||
membership_line = membership_lines[0]
|
||||
invoice_pool.signal_invoice_open(cr, uid, [membership_line.account_invoice_id.id])
|
||||
|
||||
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
|
||||
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
|
||||
assert membership_lines, _('Membership is not registrated.')
|
||||
membership_line = membership_lines[0]
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.invoice', membership_line.account_invoice_id.id, 'invoice_open', cr)
|
||||
- |
|
||||
I'm checking "Current membership state" of "Seagate". It is an "Invoiced Member" or not.
|
||||
-
|
||||
|
||||
+3
-7
@@ -27,7 +27,6 @@ from openerp.osv import fields, osv
|
||||
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP
|
||||
from openerp.tools import float_compare
|
||||
from openerp.tools.translate import _
|
||||
from openerp import netsvc
|
||||
from openerp import tools
|
||||
|
||||
#----------------------------------------------------------
|
||||
@@ -775,8 +774,7 @@ class mrp_production(osv.osv):
|
||||
for new_parent_id in new_parent_ids:
|
||||
stock_mov_obj.write(cr, uid, [raw_product.id], {'move_history_ids': [(4,new_parent_id)]})
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production', production_id, 'button_produce_done', cr)
|
||||
self.signal_button_produce_done(cr, uid, [production_id])
|
||||
return True
|
||||
|
||||
def _costs_generate(self, cr, uid, production):
|
||||
@@ -844,7 +842,6 @@ class mrp_production(osv.osv):
|
||||
return True
|
||||
|
||||
def _make_production_line_procurement(self, cr, uid, production_line, shipment_move_id, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
procurement_order = self.pool.get('procurement.order')
|
||||
production = production_line.production_id
|
||||
location_id = production.location_src_id.id
|
||||
@@ -864,7 +861,7 @@ class mrp_production(osv.osv):
|
||||
'move_id': shipment_move_id,
|
||||
'company_id': production.company_id.id,
|
||||
})
|
||||
wf_service.trg_validate(uid, procurement_order._name, procurement_id, 'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [procurement_id])
|
||||
return procurement_id
|
||||
|
||||
def _make_production_internal_shipment_line(self, cr, uid, production_line, shipment_id, parent_move_id, destination_location_id=False, context=None):
|
||||
@@ -977,7 +974,6 @@ class mrp_production(osv.osv):
|
||||
@return: Newly generated Shipment Id.
|
||||
"""
|
||||
shipment_id = False
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
uncompute_ids = filter(lambda x:x, [not x.product_lines and x.id or False for x in self.browse(cr, uid, ids, context=context)])
|
||||
self.action_compute(cr, uid, uncompute_ids, context=context)
|
||||
for production in self.browse(cr, uid, ids, context=context):
|
||||
@@ -995,7 +991,7 @@ class mrp_production(osv.osv):
|
||||
destination_location_id=source_location_id, context=context)
|
||||
self._make_production_line_procurement(cr, uid, line, shipment_move_id, context=context)
|
||||
|
||||
wf_service.trg_validate(uid, 'stock.picking', shipment_id, 'button_confirm', cr)
|
||||
self.pool.get('stock.picking').signal_button_confirm(cr, uid, [shipment_id])
|
||||
production.write({'state':'confirmed'}, context=context)
|
||||
return shipment_id
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ from dateutil.relativedelta import relativedelta
|
||||
from openerp.osv import fields
|
||||
from openerp.osv import osv
|
||||
from openerp.tools.translate import _
|
||||
from openerp import netsvc
|
||||
|
||||
class procurement_order(osv.osv):
|
||||
_inherit = 'procurement.order'
|
||||
@@ -87,7 +86,6 @@ class procurement_order(osv.osv):
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid, context).company_id
|
||||
production_obj = self.pool.get('mrp.production')
|
||||
move_obj = self.pool.get('stock.move')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
procurement_obj = self.pool.get('procurement.order')
|
||||
for procurement in procurement_obj.browse(cr, uid, ids, context=context):
|
||||
res_id = procurement.move_id.id
|
||||
@@ -112,7 +110,7 @@ class procurement_order(osv.osv):
|
||||
self.write(cr, uid, [procurement.id], {'state': 'running', 'production_id': produce_id})
|
||||
bom_result = production_obj.action_compute(cr, uid,
|
||||
[produce_id], properties=[x.id for x in procurement.property_ids])
|
||||
wf_service.trg_validate(uid, 'mrp.production', produce_id, 'button_confirm', cr)
|
||||
production_obj.signal_button_confirm(cr, uid, [produce_id])
|
||||
if res_id:
|
||||
move_obj.write(cr, uid, [res_id],
|
||||
{'location_id': procurement.location_id.id})
|
||||
|
||||
+7
-10
@@ -21,7 +21,6 @@
|
||||
|
||||
from openerp.osv import fields
|
||||
from openerp.osv import osv
|
||||
from openerp import netsvc
|
||||
|
||||
|
||||
class StockMove(osv.osv):
|
||||
@@ -45,7 +44,6 @@ class StockMove(osv.osv):
|
||||
move_obj = self.pool.get('stock.move')
|
||||
procurement_obj = self.pool.get('procurement.order')
|
||||
product_obj = self.pool.get('product.product')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
processed_ids = [move.id]
|
||||
if move.product_id.supply_method == 'produce' and move.product_id.procure_method == 'make_to_order':
|
||||
bis = bom_obj.search(cr, uid, [
|
||||
@@ -90,16 +88,17 @@ class StockMove(osv.osv):
|
||||
'procure_method': prodobj.procure_method,
|
||||
'move_id': mid,
|
||||
})
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
|
||||
procurement_obj.signal_button_confirm(cr, uid, [proc_id])
|
||||
|
||||
move_obj.write(cr, uid, [move.id], {
|
||||
'location_dest_id': move.location_id.id, # dummy move for the kit
|
||||
'auto_validate': True,
|
||||
'picking_id': False,
|
||||
'state': 'confirmed'
|
||||
})
|
||||
for m in procurement_obj.search(cr, uid, [('move_id','=',move.id)], context):
|
||||
wf_service.trg_validate(uid, 'procurement.order', m, 'button_confirm', cr)
|
||||
wf_service.trg_validate(uid, 'procurement.order', m, 'button_wait_done', cr)
|
||||
procurement_ids = procurement_obj.search(cr, uid, [('move_id','=',move.id)], context)
|
||||
procurement_obj.signal_button_confirm(cr, uid, procurement_ids)
|
||||
procurement_obj.signal_button_wait_done(cr, uid, procurement_ids)
|
||||
return processed_ids
|
||||
|
||||
def action_consume(self, cr, uid, ids, product_qty, location_id=False, context=None):
|
||||
@@ -110,7 +109,6 @@ class StockMove(osv.osv):
|
||||
"""
|
||||
res = []
|
||||
production_obj = self.pool.get('mrp.production')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for move in self.browse(cr, uid, ids):
|
||||
move.action_confirm(context)
|
||||
new_moves = super(StockMove, self).action_consume(cr, uid, [move.id], product_qty, location_id, context=context)
|
||||
@@ -118,7 +116,7 @@ class StockMove(osv.osv):
|
||||
for prod in production_obj.browse(cr, uid, production_ids, context=context):
|
||||
if prod.state == 'confirmed':
|
||||
production_obj.force_production(cr, uid, [prod.id])
|
||||
wf_service.trg_validate(uid, 'mrp.production', prod.id, 'button_produce', cr)
|
||||
production_obj.signal_button_produce(cr, uid, production_ids)
|
||||
for new_move in new_moves:
|
||||
if new_move == move.id:
|
||||
#This move is already there in move lines of production order
|
||||
@@ -135,14 +133,13 @@ class StockMove(osv.osv):
|
||||
"""
|
||||
res = []
|
||||
production_obj = self.pool.get('mrp.production')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for move in self.browse(cr, uid, ids, context=context):
|
||||
new_moves = super(StockMove, self).action_scrap(cr, uid, [move.id], product_qty, location_id, context=context)
|
||||
#If we are not scrapping our whole move, tracking and lot references must not be removed
|
||||
#self.write(cr, uid, [move.id], {'prodlot_id': False, 'tracking_id': False})
|
||||
production_ids = production_obj.search(cr, uid, [('move_lines', 'in', [move.id])])
|
||||
for prod_id in production_ids:
|
||||
wf_service.trg_validate(uid, 'mrp.production', prod_id, 'button_produce', cr)
|
||||
production_obj.signal_button_produce(cr, uid, [prod_id])
|
||||
for new_move in new_moves:
|
||||
production_obj.write(cr, uid, production_ids, {'move_lines': [(4, new_move)]})
|
||||
res.append(new_move)
|
||||
|
||||
@@ -118,16 +118,15 @@ class mrp_production_workcenter_line(osv.osv):
|
||||
@param action: Action to perform.
|
||||
@return: Nothing
|
||||
"""
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
prod_obj_pool = self.pool.get('mrp.production')
|
||||
oper_obj = self.browse(cr, uid, ids)[0]
|
||||
prod_obj = oper_obj.production_id
|
||||
if action == 'start':
|
||||
if prod_obj.state =='confirmed':
|
||||
prod_obj_pool.force_production(cr, uid, [prod_obj.id])
|
||||
wf_service.trg_validate(uid, 'mrp.production', prod_obj.id, 'button_produce', cr)
|
||||
prod_obj_pool.signal_button_produce(cr, uid, [prod_obj.id])
|
||||
elif prod_obj.state =='ready':
|
||||
wf_service.trg_validate(uid, 'mrp.production', prod_obj.id, 'button_produce', cr)
|
||||
prod_obj_pool.signal_button_produce(cr, uid, [prod_obj.id])
|
||||
elif prod_obj.state =='in_production':
|
||||
return
|
||||
else:
|
||||
@@ -143,7 +142,7 @@ class mrp_production_workcenter_line(osv.osv):
|
||||
for production in prod_obj_pool.browse(cr, uid, [prod_obj.id], context= None):
|
||||
if production.move_lines or production.move_created_ids:
|
||||
prod_obj_pool.action_produce(cr,uid, production.id, production.product_qty, 'consume_produce', context = None)
|
||||
wf_service.trg_validate(uid, 'mrp.production', oper_obj.production_id.id, 'button_produce_done', cr)
|
||||
prod_obj_pool.signal_button_produce_done(cr, uid, [oper_obj.production_id.id])
|
||||
return
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None, update=True):
|
||||
@@ -228,23 +227,21 @@ class mrp_production(osv.osv):
|
||||
@return: Super method
|
||||
"""
|
||||
obj = self.browse(cr, uid, ids)[0]
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
workcenter_pool = self.pool.get('mrp.production.workcenter.line')
|
||||
for workcenter_line in obj.workcenter_lines:
|
||||
if workcenter_line.state == 'draft':
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', workcenter_line.id, 'button_start_working', cr)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', workcenter_line.id, 'button_done', cr)
|
||||
workcenter_pool.signal_button_start_working(cr, uid, [workcenter_line.id])
|
||||
workcenter_pool.signal_button_done(cr, uid, [workcenter_line.id])
|
||||
return super(mrp_production,self).action_production_end(cr, uid, ids)
|
||||
|
||||
def action_in_production(self, cr, uid, ids):
|
||||
""" Changes state to In Production and writes starting date.
|
||||
@return: True
|
||||
"""
|
||||
obj = self.browse(cr, uid, ids)[0]
|
||||
workcenter_pool = self.pool.get('mrp.production.workcenter.line')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for prod in self.browse(cr, uid, ids):
|
||||
if prod.workcenter_lines:
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', prod.workcenter_lines[0].id, 'button_start_working', cr)
|
||||
workcenter_pool.signal_button_start_working(cr, uid, [prod.workcenter_lines[0].id])
|
||||
return super(mrp_production,self).action_in_production(cr, uid, ids)
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
@@ -252,9 +249,8 @@ class mrp_production(osv.osv):
|
||||
@return: Super method
|
||||
"""
|
||||
obj = self.browse(cr, uid, ids,context=context)[0]
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for workcenter_line in obj.workcenter_lines:
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', workcenter_line.id, 'button_cancel', cr)
|
||||
workcenter_pool.signal_button_cancel(cr, uid, [workcenter_line.id])
|
||||
return super(mrp_production,self).action_cancel(cr,uid,ids,context=context)
|
||||
|
||||
def _compute_planned_workcenter(self, cr, uid, ids, context=None, mini=False):
|
||||
@@ -503,35 +499,34 @@ class mrp_operations_operation(osv.osv):
|
||||
return super(mrp_operations_operation, self).write(cr, uid, ids, vals, context=context)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
workcenter_pool = self.pool.get('mrp.production.workcenter.line')
|
||||
code_ids=self.pool.get('mrp_operations.operation.code').search(cr,uid,[('id','=',vals['code_id'])])
|
||||
code=self.pool.get('mrp_operations.operation.code').browse(cr, uid, code_ids, context=context)[0]
|
||||
wc_op_id=self.pool.get('mrp.production.workcenter.line').search(cr,uid,[('workcenter_id','=',vals['workcenter_id']),('production_id','=',vals['production_id'])])
|
||||
wc_op_id=workcenter_pool.search(cr,uid,[('workcenter_id','=',vals['workcenter_id']),('production_id','=',vals['production_id'])])
|
||||
if code.start_stop in ('start','done','pause','cancel','resume'):
|
||||
if not wc_op_id:
|
||||
production_obj=self.pool.get('mrp.production').browse(cr, uid, vals['production_id'], context=context)
|
||||
wc_op_id.append(self.pool.get('mrp.production.workcenter.line').create(cr,uid,{'production_id':vals['production_id'],'name':production_obj.product_id.name,'workcenter_id':vals['workcenter_id']}))
|
||||
wc_op_id.append(workcenter_pool.create(cr,uid,{'production_id':vals['production_id'],'name':production_obj.product_id.name,'workcenter_id':vals['workcenter_id']}))
|
||||
if code.start_stop=='start':
|
||||
self.pool.get('mrp.production.workcenter.line').action_start_working(cr,uid,wc_op_id)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', wc_op_id[0], 'button_start_working', cr)
|
||||
|
||||
workcenter_pool.action_start_working(cr,uid,wc_op_id)
|
||||
workcenter_pool.signal_button_start_working(cr, uid, [wc_op_id[0]])
|
||||
|
||||
if code.start_stop=='done':
|
||||
self.pool.get('mrp.production.workcenter.line').action_done(cr,uid,wc_op_id)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', wc_op_id[0], 'button_done', cr)
|
||||
workcenter_pool.action_done(cr,uid,wc_op_id)
|
||||
workcenter_pool.signal_button_done(cr, uid, [wc_op_id[0]])
|
||||
self.pool.get('mrp.production').write(cr,uid,vals['production_id'],{'date_finished':datetime.now().strftime('%Y-%m-%d %H:%M:%S')})
|
||||
|
||||
if code.start_stop=='pause':
|
||||
self.pool.get('mrp.production.workcenter.line').action_pause(cr,uid,wc_op_id)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', wc_op_id[0], 'button_pause', cr)
|
||||
workcenter_pool.action_pause(cr,uid,wc_op_id)
|
||||
workcenter_pool.signal_button_pause(cr, uid, [wc_op_id[0]])
|
||||
|
||||
if code.start_stop=='resume':
|
||||
self.pool.get('mrp.production.workcenter.line').action_resume(cr,uid,wc_op_id)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', wc_op_id[0], 'button_resume', cr)
|
||||
workcenter_pool.action_resume(cr,uid,wc_op_id)
|
||||
workcenter_pool.signal_button_resume(cr, uid, [wc_op_id[0]])
|
||||
|
||||
if code.start_stop=='cancel':
|
||||
self.pool.get('mrp.production.workcenter.line').action_cancel(cr,uid,wc_op_id)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', wc_op_id[0], 'button_cancel', cr)
|
||||
workcenter_pool.action_cancel(cr,uid,wc_op_id)
|
||||
workcenter_pool.signal_button_cancel(cr, uid, [wc_op_id[0]])
|
||||
|
||||
if not self.check_operation(cr, uid, vals):
|
||||
return
|
||||
@@ -549,10 +544,9 @@ class mrp_operations_operation(osv.osv):
|
||||
return super(mrp_operations_operation, self).create(cr, uid, vals, context=context)
|
||||
|
||||
def initialize_workflow_instance(self, cr, uid, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
line_ids = self.pool.get('mrp.production.workcenter.line').search(cr, uid, [], context=context)
|
||||
for line_id in line_ids:
|
||||
wf_service.trg_create(uid, 'mrp.production.workcenter.line', line_id, cr)
|
||||
mrp_production_workcenter_line = self.pool.get('mrp.production.workcenter.line')
|
||||
line_ids = mrp_production_workcenter_line.search(cr, uid, [], context=context)
|
||||
mrp_production_workcenter_line.create_workflow(cr, uid, line_ids)
|
||||
return True
|
||||
|
||||
_columns={
|
||||
|
||||
@@ -39,62 +39,48 @@
|
||||
Production start on first work center, so I start work operation on first work center.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_start_working(cr, uid, [order.workcenter_lines[0].id])
|
||||
-
|
||||
Now I pause first work operation due to technical fault of work center.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_pause', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_pause(cr, uid, [order.workcenter_lines[0].id])
|
||||
-
|
||||
I resume first work operation.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_resume', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_resume(cr, uid, [order.workcenter_lines[0].id])
|
||||
|
||||
-
|
||||
I cancel first work operation.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_cancel', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_cancel(cr, uid, [order.workcenter_lines[0].id])
|
||||
-
|
||||
I reset first work operation and start after resolving techninal fault of work center.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_draft', cr)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_start_working', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_draft(cr, uid, [order.workcenter_lines[0].id])
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_start_working(cr, uid, [order.workcenter_lines[0].id])
|
||||
-
|
||||
I close first work operation as this work center completed its process.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', order.workcenter_lines[0].id, 'button_done', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_done(cr, uid, [order.workcenter_lines[0].id])
|
||||
-
|
||||
Now I close other operations one by one which are in start state.
|
||||
-
|
||||
!python {model: mrp.production}: |
|
||||
from openerp import netsvc
|
||||
order = self.browse(cr, uid, ref("mrp.mrp_production_1"), context=context)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for work_line in order.workcenter_lines[1:]:
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', work_line.id, 'button_start_working', cr)
|
||||
wf_service.trg_validate(uid, 'mrp.production.workcenter.line', work_line.id, 'button_done', cr)
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_start_working(cr, uid, [work_line.id])
|
||||
self.pool.get('mrp.production.workcenter.line').signal_button_done(cr, uid, [work_line.id])
|
||||
|
||||
-
|
||||
I check that the production order is now done.
|
||||
@@ -106,8 +92,7 @@
|
||||
I print a Barcode Report of Operation line.
|
||||
-
|
||||
!python {model: mrp_operations.operation.code}: |
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.mrp.code.barcode').create(cr, uid, [ref('mrp_operations.mrp_op_1'),ref('mrp_operations.mrp_op_2'),ref('mrp_operations.mrp_op_3'),ref('mrp_operations.mrp_op_4'),ref('mrp_operations.mrp_op_5')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'mrp_operations-barcode_report.'+format), 'wb+').write(data)
|
||||
@@ -116,8 +101,7 @@
|
||||
I print Workcenter's Barcode Report.
|
||||
-
|
||||
!python {model: mrp.workcenter}: |
|
||||
import os
|
||||
from openerp import netsvc, tools
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.mrp.wc.barcode').create(cr, uid, [ref('mrp.mrp_workcenter_0'),ref('mrp.mrp_workcenter_1')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'mrp_operations-workcenter_barcode_report.'+format), 'wb+').write(data)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields,osv
|
||||
from openerp import netsvc
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from openerp.tools.translate import _
|
||||
@@ -314,9 +313,7 @@ class mrp_repair(osv.osv):
|
||||
for repair in self.browse(cr, uid, ids):
|
||||
mrp_line_obj.write(cr, uid, [l.id for l in repair.operations], {'state': 'draft'})
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
wf_service.trg_create(uid, 'mrp.repair', id, cr)
|
||||
self.create_workflow(cr, uid, ids)
|
||||
return True
|
||||
|
||||
def action_confirm(self, cr, uid, ids, *args):
|
||||
@@ -505,7 +502,6 @@ class mrp_repair(osv.osv):
|
||||
"""
|
||||
res = {}
|
||||
move_obj = self.pool.get('stock.move')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
repair_line_obj = self.pool.get('mrp.repair.line')
|
||||
seq_obj = self.pool.get('ir.sequence')
|
||||
pick_obj = self.pool.get('stock.picking')
|
||||
@@ -548,7 +544,7 @@ class mrp_repair(osv.osv):
|
||||
'tracking_id': False,
|
||||
'state': 'assigned',
|
||||
})
|
||||
wf_service.trg_validate(uid, 'stock.picking', picking, 'button_confirm', cr)
|
||||
pick_obj.signal_button_confirm(cr, uid, [picking])
|
||||
self.write(cr, uid, [repair.id], {'state': 'done', 'picking_id': picking})
|
||||
res[repair.id] = picking
|
||||
else:
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
class make_invoice(osv.osv_memory):
|
||||
@@ -50,9 +49,7 @@ class make_invoice(osv.osv_memory):
|
||||
# We have to trigger the workflow of the given repairs, otherwise they remain 'to be invoiced'.
|
||||
# Note that the signal 'action_invoice_create' will trigger another call to the method 'action_invoice_create',
|
||||
# but that second call will not do anything, since the repairs are already invoiced.
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for repair_id in context['active_ids']:
|
||||
wf_service.trg_validate(uid, 'mrp.repair', repair_id, 'action_invoice_create', cr)
|
||||
order_obj.signal_action_invoice_create(cr, uid, context['active_ids'])
|
||||
|
||||
form_res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')
|
||||
form_id = form_res and form_res[1] or False
|
||||
|
||||
@@ -27,7 +27,7 @@ import pdb
|
||||
import time
|
||||
|
||||
import openerp
|
||||
from openerp import netsvc, tools
|
||||
from openerp import tools
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
@@ -364,7 +364,7 @@ class pos_session(osv.osv):
|
||||
ids = [ids]
|
||||
|
||||
this_record = self.browse(cr, uid, ids[0], context=context)
|
||||
this_record._workflow_signal('open')
|
||||
this_record.signal_workflow('open')
|
||||
|
||||
context.update(active_id=this_record.id)
|
||||
|
||||
@@ -442,14 +442,14 @@ class pos_session(osv.osv):
|
||||
}
|
||||
|
||||
def _confirm_orders(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
pos_order_obj = self.pool.get('pos.order')
|
||||
for session in self.browse(cr, uid, ids, context=context):
|
||||
order_ids = [order.id for order in session.order_ids if order.state == 'paid']
|
||||
|
||||
move_id = self.pool.get('account.move').create(cr, uid, {'ref' : session.name, 'journal_id' : session.config_id.journal_id.id, }, context=context)
|
||||
move_id = account_move_obj.create(cr, uid, {'ref' : session.name, 'journal_id' : session.config_id.journal_id.id, }, context=context)
|
||||
|
||||
self.pool.get('pos.order')._create_account_move_line(cr, uid, order_ids, session, move_id, context=context)
|
||||
pos_order_obj._create_account_move_line(cr, uid, order_ids, session, move_id, context=context)
|
||||
|
||||
for order in session.order_ids:
|
||||
if order.state not in ('paid', 'invoiced'):
|
||||
@@ -457,7 +457,7 @@ class pos_session(osv.osv):
|
||||
_('Error!'),
|
||||
_("You cannot confirm all orders of this session, because they have not the 'paid' status"))
|
||||
else:
|
||||
wf_service.trg_validate(uid, 'pos.order', order.id, 'done', cr)
|
||||
pos_order_obj.signal_done(cr, uid, [order.id])
|
||||
|
||||
return True
|
||||
|
||||
@@ -519,8 +519,7 @@ class pos_order(osv.osv):
|
||||
'journal': cash_journal.id,
|
||||
}, context=context)
|
||||
order_ids.append(order_id)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'pos.order', order_id, 'paid', cr)
|
||||
self.signal_paid(cr, uid, [order_id])
|
||||
return order_ids
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
@@ -695,9 +694,8 @@ class pos_order(osv.osv):
|
||||
}, context=context)
|
||||
if line.qty < 0:
|
||||
location_id, output_id = output_id, location_id
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
||||
|
||||
picking_obj.signal_button_confirm(cr, uid, [picking_id])
|
||||
picking_obj.force_assign(cr, uid, [picking_id], context)
|
||||
return True
|
||||
|
||||
@@ -707,7 +705,7 @@ class pos_order(osv.osv):
|
||||
"""
|
||||
stock_picking_obj = self.pool.get('stock.picking')
|
||||
for order in self.browse(cr, uid, ids, context=context):
|
||||
wf_service.trg_validate(uid, 'stock.picking', order.picking_id.id, 'button_cancel', cr)
|
||||
stock_picking_obj.signal_button_cancel(cr, uid, [order.picking_id.id])
|
||||
if stock_picking_obj.browse(cr, uid, order.picking_id.id, context=context).state <> 'cancel':
|
||||
raise osv.except_osv(_('Error!'), _('Unable to cancel the picking.'))
|
||||
self.write(cr, uid, ids, {'state': 'cancel'}, context=context)
|
||||
@@ -803,7 +801,6 @@ class pos_order(osv.osv):
|
||||
return self.write(cr, uid, ids, {'state':'invoiced'}, context=context)
|
||||
|
||||
def action_invoice(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
inv_ref = self.pool.get('account.invoice')
|
||||
inv_line_ref = self.pool.get('account.invoice.line')
|
||||
product_obj = self.pool.get('product.product')
|
||||
@@ -856,7 +853,7 @@ class pos_order(osv.osv):
|
||||
inv_line['invoice_line_tax_id'] = [(6, 0, [x.id for x in line.product_id.taxes_id] )]
|
||||
inv_line_ref.create(cr, uid, inv_line, context=context)
|
||||
inv_ref.button_reset_taxes(cr, uid, [inv_id], context=context)
|
||||
wf_service.trg_validate(uid, 'pos.order', order.id, 'invoice', cr)
|
||||
self.signal_invoice(cr, uid, [order.id])
|
||||
|
||||
if not inv_ids: return {}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import osv
|
||||
|
||||
|
||||
@@ -28,7 +27,6 @@ class pos_confirm(osv.osv_memory):
|
||||
_description = 'Post POS Journal Entries'
|
||||
|
||||
def action_confirm(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
order_obj = self.pool.get('pos.order')
|
||||
ids = order_obj.search(cr, uid, [('state','=','paid')], context=context)
|
||||
for order in order_obj.browse(cr, uid, ids, context=context):
|
||||
@@ -38,7 +36,7 @@ class pos_confirm(osv.osv_memory):
|
||||
todo = False
|
||||
break
|
||||
if todo:
|
||||
wf_service.trg_validate(uid, 'pos.order', order.id, 'done', cr)
|
||||
order_obj.signal_done(cr, uid, [order.id])
|
||||
|
||||
# Check if there is orders to reconcile their invoices
|
||||
ids = order_obj.search(cr, uid, [('state','=','invoiced'),('invoice_id.state','=','open')], context=context)
|
||||
|
||||
@@ -23,7 +23,6 @@ import time
|
||||
|
||||
import pos_box_entries
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import osv, fields
|
||||
from openerp.tools.translate import _
|
||||
|
||||
@@ -67,8 +66,7 @@ class pos_make_payment(osv.osv_memory):
|
||||
order_obj.add_payment(cr, uid, active_id, data, context=context)
|
||||
|
||||
if order_obj.test_paid(cr, uid, [active_id]):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'pos.order', active_id, 'paid', cr)
|
||||
order_obj.signal_paid(cr, uid, [active_id])
|
||||
return {'type' : 'ir.actions.act_window_close' }
|
||||
##self.print_report(cr, uid, ids, context=context)
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import osv,fields
|
||||
from openerp.tools.translate import _
|
||||
import time
|
||||
@@ -104,7 +103,6 @@ class pos_return(osv.osv_memory):
|
||||
property_obj= self.pool.get("ir.property")
|
||||
uom_obj =self. pool.get('product.uom')
|
||||
statementl_obj = self.pool.get('account.bank.statement.line')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
#Todo :Need to clean the code
|
||||
if active_id:
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
@@ -157,7 +155,7 @@ class pos_return(osv.osv_memory):
|
||||
'amount': -amount,
|
||||
})
|
||||
order_obj.write(cr,uid, [active_id,new_order], {'state': 'done'})
|
||||
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_confirm', cr)
|
||||
picking_obj.signal_button_confirm(cr, uid, [new_picking])
|
||||
picking_obj.force_assign(cr, uid, [new_picking], context)
|
||||
act = {
|
||||
'domain': "[('id', 'in', ["+str(new_order)+"])]",
|
||||
@@ -200,7 +198,6 @@ class add_product(osv.osv_memory):
|
||||
date_cur=time.strftime('%Y-%m-%d')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
prod_obj=self.pool.get('product.product')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
order_obj.add_product(cr, uid, active_id, data['product_id'], data['quantity'], context=context)
|
||||
|
||||
for order_id in order_obj.browse(cr, uid, [active_id], context=context):
|
||||
@@ -232,7 +229,7 @@ class add_product(osv.osv_memory):
|
||||
'date':date_cur
|
||||
})
|
||||
|
||||
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_confirm', cr)
|
||||
picking_obj.signal_button_confirm(cr, uid, [new_picking])
|
||||
picking_obj.force_assign(cr, uid, [new_picking], context)
|
||||
order_obj.write(cr,uid,active_id,{'picking_id':new_picking})
|
||||
|
||||
@@ -265,7 +262,6 @@ class add_product(osv.osv_memory):
|
||||
if return_id:
|
||||
data = return_boj.read(cr,uid,return_id,[])[0]
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
self_data = self.browse(cr, uid, ids, context=context)[0]
|
||||
order_obj.add_product(cr, uid, active_ids[0], self_data.product_id.id, self_data.quantity, context=context)
|
||||
|
||||
@@ -306,7 +302,7 @@ class add_product(osv.osv_memory):
|
||||
'name':'%s (return)' % order_id.name,
|
||||
'date':date_cur,
|
||||
})
|
||||
wf_service.trg_validate(uid, 'stock.picking',new_picking,'button_confirm', cr)
|
||||
picking_obj.signal_button_confirm(cr, uid, [new_picking])
|
||||
picking_obj.force_assign(cr, uid, [new_picking], context)
|
||||
obj=order_obj.browse(cr,uid, active_ids[0])
|
||||
context.update({'return':'return'})
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from openerp import netsvc
|
||||
from openerp.osv import osv, fields
|
||||
from openerp.tools.translate import _
|
||||
|
||||
@@ -37,9 +36,8 @@ class pos_session_opening(osv.osv_memory):
|
||||
}
|
||||
|
||||
def open_existing_session_cb_close(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wizard = self.browse(cr, uid, ids[0], context=context)
|
||||
wf_service.trg_validate(uid, 'pos.session', wizard.pos_session_id.id, 'cashbox_control', cr)
|
||||
self.pool.get('pos.session').signal_cashbox_control(cr, uid, [wizard.pos_session_id.id])
|
||||
return self.open_session_cb(cr, uid, ids, context)
|
||||
|
||||
def open_session_cb(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -0,0 +1,568 @@
|
||||
# Romanian 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-17 16:28+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-02-18 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,type:0
|
||||
msgid "Lead"
|
||||
msgstr "Pista"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,title:0
|
||||
msgid "Title"
|
||||
msgstr "Titlu"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,probability:0
|
||||
msgid "Success Rate (%)"
|
||||
msgstr "Rata de succes (%)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Contact us"
|
||||
msgstr "Contactati-ne"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_action:0
|
||||
msgid "Next Action Date"
|
||||
msgstr "Data Actiunii Urmatoare"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,fax:0
|
||||
msgid "Fax"
|
||||
msgstr "Fax"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,zip:0
|
||||
msgid "Zip"
|
||||
msgstr "Cod postal"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr "Mesaje Necitite"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Companie"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,day_open:0
|
||||
msgid "Days to Open"
|
||||
msgstr "Zile pana la deschidere"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Thank you for your interest, we'll respond to your request shortly."
|
||||
msgstr ""
|
||||
"va multumim pentru interes, vom da raspuns solicitarii dumneavoastra in "
|
||||
"scurt timp."
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,priority:0
|
||||
msgid "Highest"
|
||||
msgstr "Cel mai ridicat (cea mai ridicata)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Mobil"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,description:0
|
||||
msgid "Notes"
|
||||
msgstr "Note"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr "Mesaje"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,color:0
|
||||
msgid "Color Index"
|
||||
msgstr "Index de Culori"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_latitude:0
|
||||
msgid "Geo Latitude"
|
||||
msgstr "Latitudine Geo"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_name:0
|
||||
msgid "Customer Name"
|
||||
msgstr "Numele clientului"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Anulat(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr "Daca este selectat, mesajele noi necesita atentia dumneavoastra."
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,channel_id:0
|
||||
msgid "Communication channel (mail, direct, phone, ...)"
|
||||
msgstr "Canal de comunicare (e-mail, direct, telefon, ...)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,type_id:0
|
||||
msgid "Campaign"
|
||||
msgstr "Campanie"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,ref:0
|
||||
msgid "Reference"
|
||||
msgstr "Referinta"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_action_next:0
|
||||
#: field:portal_crm.crm_contact_us,title_action:0
|
||||
msgid "Next Action"
|
||||
msgstr "Urmatoarea actiune"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,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 ""
|
||||
"Contine rezumatul Chatter (numar de mesaje, ...). Acest rezumat este direct "
|
||||
"in format HTML, cu scopul de a se introduce in vizualizari kanban."
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partener"
|
||||
|
||||
#. module: portal_crm
|
||||
#: model:ir.actions.act_window,name:portal_crm.action_contact_us
|
||||
msgid "Contact Us"
|
||||
msgstr "Contactati-ne"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,name:0
|
||||
msgid "Subject"
|
||||
msgstr "Subiect"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,opt_out:0
|
||||
msgid "Opt-Out"
|
||||
msgstr "Nu participati"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioritate"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,state_id:0
|
||||
msgid "State"
|
||||
msgstr "Stare"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr "Urmari"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,partner_id:0
|
||||
msgid "Linked partner (optional). Usually created when converting the lead."
|
||||
msgstr ""
|
||||
"Partener asociat (optional). Creat de obicei atunci cand pista este "
|
||||
"transformata."
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,payment_mode:0
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modalitatea de plata"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,state:0
|
||||
msgid "New"
|
||||
msgstr "Nou(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,type:0
|
||||
msgid "Type"
|
||||
msgstr "Tip"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,email_from:0
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,channel_id:0
|
||||
msgid "Channel"
|
||||
msgstr "Canal"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Name"
|
||||
msgstr "Nume"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,priority:0
|
||||
msgid "Lowest"
|
||||
msgstr "Cel mai scazut (cea mai scazuta)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Data Crearii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Close"
|
||||
msgstr "Inchide"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,state:0
|
||||
msgid "Pending"
|
||||
msgstr "In asteptare"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,type:0
|
||||
msgid "Type is used to separate Leads and Opportunities"
|
||||
msgstr "Tip folosit pentru a separa Clientii potentiali si Oportunitatile"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,categ_ids:0
|
||||
msgid "Categories"
|
||||
msgstr "Categorii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,stage_id:0
|
||||
msgid "Stage"
|
||||
msgstr "Etapa"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,user_login:0
|
||||
msgid "User Login"
|
||||
msgstr "Autentificare Utilizator"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,opt_out:0
|
||||
msgid ""
|
||||
"If opt-out is checked, this contact has refused to receive emails or "
|
||||
"unsubscribed to a campaign."
|
||||
msgstr ""
|
||||
"Daca este bifata optiunea de neparticipare, acest contact a refuzat sa "
|
||||
"primeasca e-mailuri sau s-a dezabonat de la o campanie."
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,contact_name:0
|
||||
msgid "Contact Name"
|
||||
msgstr "Numele Contactului"
|
||||
|
||||
#. module: portal_crm
|
||||
#: model:ir.ui.menu,name:portal_crm.portal_company_contact
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_address_email:0
|
||||
msgid "Partner Contact Email"
|
||||
msgstr "E-mail Contact Partener"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,planned_revenue:0
|
||||
msgid "Expected Revenue"
|
||||
msgstr "Venituri Estimate"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,task_ids:0
|
||||
msgid "Tasks"
|
||||
msgstr "Sarcini"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Contact form"
|
||||
msgstr "Formular de contact"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,company_currency:0
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr "Data Actualizarii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_deadline:0
|
||||
msgid "Expected Closing"
|
||||
msgstr "Inchidere estimata"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,ref2:0
|
||||
msgid "Reference 2"
|
||||
msgstr "Referinta 2"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,user_email:0
|
||||
msgid "User Email"
|
||||
msgstr "E-mail utilizator"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_open:0
|
||||
msgid "Opened"
|
||||
msgstr "Deschis(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,state:0
|
||||
msgid "In Progress"
|
||||
msgstr "In curs de desfasurare"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,partner_name:0
|
||||
msgid ""
|
||||
"The name of the future partner company that will be created while converting "
|
||||
"the lead into opportunity"
|
||||
msgstr ""
|
||||
"Numele viitorului partener al companiei care va fi creat in timpul "
|
||||
"transformarii pistei in oportunitate"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,planned_cost:0
|
||||
msgid "Planned Costs"
|
||||
msgstr "Costuri planificate"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,date_deadline:0
|
||||
msgid "Estimate of the date on which the opportunity will be won."
|
||||
msgstr "Estimarea datei in care oportunitatea va fi castigata."
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,email_cc:0
|
||||
msgid ""
|
||||
"These email addresses will be added to the CC field of all inbound and "
|
||||
"outbound emails for this record before being sent. Separate multiple email "
|
||||
"addresses with a comma"
|
||||
msgstr ""
|
||||
"Aceste adrese de email vor fi adaugate in campul CC al tuturor email-urilor "
|
||||
"primite si trimise pentru aceasta inregistrare inainte de a fi trimise. "
|
||||
"Despartiti adresele de mail multiple cu o virgula"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,priority:0
|
||||
msgid "Low"
|
||||
msgstr "Scazut(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_closed:0
|
||||
#: selection:portal_crm.crm_contact_us,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Inchis(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_assign:0
|
||||
msgid "Assignation Date"
|
||||
msgstr "Data alocarii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,email_cc:0
|
||||
msgid "Global CC"
|
||||
msgstr "CC global"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,street2:0
|
||||
msgid "Street2"
|
||||
msgstr "Strada2"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Telefon"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr "Este o persoana interesata"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,active:0
|
||||
msgid "Active"
|
||||
msgstr "Activ(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,user_id:0
|
||||
msgid "Salesperson"
|
||||
msgstr "Agent de vanzari"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,day_close:0
|
||||
msgid "Days to Close"
|
||||
msgstr "Zile pana la inchidere"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,company_ids:0
|
||||
msgid "Companies"
|
||||
msgstr "Companii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr "Continut"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,section_id:0
|
||||
msgid ""
|
||||
"When sending mails, the default email address is taken from the sales team."
|
||||
msgstr ""
|
||||
"Atunci cand trimiteti email-uri, adresa implicita este luata de la echipa de "
|
||||
"vanzari."
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_address_name:0
|
||||
msgid "Partner Contact Name"
|
||||
msgstr "Numele de Contact al Partenerului"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_longitude:0
|
||||
msgid "Geo Longitude"
|
||||
msgstr "Geo Longitudine"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,date_assign:0
|
||||
msgid "Last date this case was forwarded/assigned to a partner"
|
||||
msgstr ""
|
||||
"Ultima data cand acest caz a fost redirectionat/atribuit unui partener"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,email_from:0
|
||||
msgid "Email address of the contact"
|
||||
msgstr "Adresa de email a contactului"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,city:0
|
||||
msgid "City"
|
||||
msgstr "Oras"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Submit"
|
||||
msgstr "Trimite"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,function:0
|
||||
msgid "Function"
|
||||
msgstr "Functie"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,referred:0
|
||||
msgid "Referred By"
|
||||
msgstr "Recomandat de"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,partner_assigned_id:0
|
||||
msgid "Assigned Partner"
|
||||
msgstr "Partenerul Alocat"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,type:0
|
||||
msgid "Opportunity"
|
||||
msgstr "Oportunitate"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,partner_assigned_id:0
|
||||
msgid "Partner this case has been forwarded/assigned to."
|
||||
msgstr "Partenerul caruia i-a fost redirectionat/atribuit cazul."
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,country_id:0
|
||||
msgid "Country"
|
||||
msgstr "Tara"
|
||||
|
||||
#. module: portal_crm
|
||||
#: view:portal_crm.crm_contact_us:0
|
||||
msgid "Thank you"
|
||||
msgstr "Va multumim"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,state:0
|
||||
msgid ""
|
||||
"The Status is set to 'Draft', when a case is created. If the case is in "
|
||||
"progress the Status is set to 'Open'. When the case is over, the Status is "
|
||||
"set to 'Done'. If the case needs to be reviewed then the Status is set to "
|
||||
"'Pending'."
|
||||
msgstr ""
|
||||
"Starea este setata pe 'Ciorna' atunci cand este creat un caz. Atunci cand "
|
||||
"cazul este in desfasurare, Starea este setata pe 'Deschis'. Cand cazul este "
|
||||
"finalizat, Starea este setata pe 'Efectuat'. Cand cazul trebuie revazut, "
|
||||
"atunci Starea este setata pe 'In asteptare'."
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr "Istoric mesaje si conversatii"
|
||||
|
||||
#. module: portal_crm
|
||||
#: help:portal_crm.crm_contact_us,type_id:0
|
||||
msgid ""
|
||||
"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
|
||||
"this contact come from?"
|
||||
msgstr ""
|
||||
"Din ce campanie (seminar, campanie de marketing, trimitere de e-mail-uri in "
|
||||
"masa,...) provine acest contact?"
|
||||
|
||||
#. module: portal_crm
|
||||
#: selection:portal_crm.crm_contact_us,priority:0
|
||||
msgid "High"
|
||||
msgstr "Ridicat(a)"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,section_id:0
|
||||
msgid "Sales Team"
|
||||
msgstr "Echipa de vanzari"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,street:0
|
||||
msgid "Street"
|
||||
msgstr "Strada"
|
||||
|
||||
#. module: portal_crm
|
||||
#: field:portal_crm.crm_contact_us,date_action_last:0
|
||||
msgid "Last Action"
|
||||
msgstr "Ultima Actiune"
|
||||
|
||||
#. module: portal_crm
|
||||
#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us
|
||||
msgid "Contact form for the portal"
|
||||
msgstr "Formular de contact pentru portal"
|
||||
@@ -0,0 +1,344 @@
|
||||
# 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:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-18 08:59+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-19 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.model,name:portal_sale.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices
|
||||
msgid "We haven't sent you any invoice."
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,report_name:portal_sale.email_template_edi_sale
|
||||
msgid ""
|
||||
"${(object.name or '').replace('/','_')}_${object.state == 'draft' and "
|
||||
"'draft' or ''}"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:res.groups,name:portal_sale.group_payment_options
|
||||
msgid "View Online Payment Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: field:account.config.settings,group_payment_options:0
|
||||
msgid "Show payment buttons to employees too"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,subject:portal_sale.email_template_edi_sale
|
||||
msgid ""
|
||||
"${object.company_id.name} ${object.state in ('draft', 'sent') and "
|
||||
"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal
|
||||
msgid "We haven't sent you any quotation."
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.ui.menu,name:portal_sale.portal_sales_orders
|
||||
msgid "Sales Orders"
|
||||
msgstr "Борлуулалтын захиалгууд"
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:res.groups,comment:portal_sale.group_payment_options
|
||||
msgid ""
|
||||
"Members of this group see the online payment options\n"
|
||||
"on Sale Orders and Customer Invoices. These options are meant for customers "
|
||||
"who are accessing\n"
|
||||
"their documents through the portal."
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,body_html:portal_sale.email_template_edi_sale
|
||||
msgid ""
|
||||
"\n"
|
||||
"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
|
||||
"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, "
|
||||
"255, 255); \">\n"
|
||||
"\n"
|
||||
" <p>Hello ${object.partner_id.name},</p>\n"
|
||||
" \n"
|
||||
" <p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or "
|
||||
"'order confirmation'} from ${object.company_id.name}: </p>\n"
|
||||
"\n"
|
||||
" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
|
||||
" <strong>REFERENCES</strong><br />\n"
|
||||
" Order number: <strong>${object.name}</strong><br />\n"
|
||||
" Order total: <strong>${object.amount_total} "
|
||||
"${object.pricelist_id.currency_id.name}</strong><br />\n"
|
||||
" Order date: ${object.date_order}<br />\n"
|
||||
" % if object.origin:\n"
|
||||
" Order reference: ${object.origin}<br />\n"
|
||||
" % endif\n"
|
||||
" % if object.client_order_ref:\n"
|
||||
" Your reference: ${object.client_order_ref}<br />\n"
|
||||
" % endif\n"
|
||||
" % if object.user_id:\n"
|
||||
" Your contact: <a href=\"mailto:${object.user_id.email or "
|
||||
"''}?subject=Order%20${object.name}\">${object.user_id.name}</a>\n"
|
||||
" % endif\n"
|
||||
" </p>\n"
|
||||
"\n"
|
||||
" <% set signup_url = object.get_signup_url() %>\n"
|
||||
" % if signup_url:\n"
|
||||
" <p>\n"
|
||||
" You can access this document and pay online via our Customer Portal:\n"
|
||||
" </p>\n"
|
||||
" <a style=\"display:block; width: 150px; height:20px; margin-left: "
|
||||
"120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-"
|
||||
"serif; font-size: 13px; font-weight: bold; text-align: center; text-"
|
||||
"decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; "
|
||||
"background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat "
|
||||
"no-repeat;\"\n"
|
||||
" href=\"${signup_url}\">View ${object.state in ('draft', 'sent') "
|
||||
"and 'Quotation' or 'Order'}</a>\n"
|
||||
" % endif\n"
|
||||
"\n"
|
||||
" % if object.paypal_url:\n"
|
||||
" <br/>\n"
|
||||
" <p>It is also possible to directly pay with Paypal:</p>\n"
|
||||
" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
|
||||
" <img class=\"oe_edi_paypal_button\" "
|
||||
"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
|
||||
" </a>\n"
|
||||
" % endif\n"
|
||||
"\n"
|
||||
" <br/>\n"
|
||||
" <p>If you have any question, do not hesitate to contact us.</p>\n"
|
||||
" <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n"
|
||||
" <br/>\n"
|
||||
" <br/>\n"
|
||||
" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
|
||||
"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
|
||||
"background-repeat: repeat no-repeat;\">\n"
|
||||
" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
|
||||
"#DDD;\">\n"
|
||||
" <strong style=\"text-"
|
||||
"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
|
||||
" </div>\n"
|
||||
" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
|
||||
"16px; background-color: #F2F2F2;\">\n"
|
||||
" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
|
||||
" % if object.company_id.street:\n"
|
||||
" ${object.company_id.street}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.street2:\n"
|
||||
" ${object.company_id.street2}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.city or object.company_id.zip:\n"
|
||||
" ${object.company_id.zip} ${object.company_id.city}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.country_id:\n"
|
||||
" ${object.company_id.state_id and ('%s, ' % "
|
||||
"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
|
||||
"or ''}<br/>\n"
|
||||
" % endif\n"
|
||||
" </span>\n"
|
||||
" % if object.company_id.phone:\n"
|
||||
" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
|
||||
"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
|
||||
"0px; padding-left: 0px; \">\n"
|
||||
" Phone: ${object.company_id.phone}\n"
|
||||
" </div>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.website:\n"
|
||||
" <div>\n"
|
||||
" Web : <a "
|
||||
"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
|
||||
" </div>\n"
|
||||
" % endif\n"
|
||||
" <p></p>\n"
|
||||
" </div>\n"
|
||||
"</div>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,report_name:portal_sale.email_template_edi_invoice
|
||||
msgid ""
|
||||
"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' "
|
||||
"and 'draft' or ''}"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,subject:portal_sale.email_template_edi_invoice
|
||||
msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.model,name:portal_sale.model_mail_mail
|
||||
msgid "Outgoing Mails"
|
||||
msgstr "Гарах мэйлүүд"
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal
|
||||
#: model:ir.ui.menu,name:portal_sale.portal_quotations
|
||||
msgid "Quotations"
|
||||
msgstr "Үнэ ханш"
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.model,name:portal_sale.model_sale_order
|
||||
msgid "Sales Order"
|
||||
msgstr "Борлуулалтын захиалга"
|
||||
|
||||
#. module: portal_sale
|
||||
#: field:account.invoice,portal_payment_options:0
|
||||
#: field:sale.order,portal_payment_options:0
|
||||
msgid "Portal Payment Options"
|
||||
msgstr "Портал Төлбөрийг Тохируулга"
|
||||
|
||||
#. module: portal_sale
|
||||
#: help:account.config.settings,group_payment_options:0
|
||||
msgid ""
|
||||
"Show online payment options on Sale Orders and Customer Invoices to "
|
||||
"employees. If not checked, these options are only visible to portal users."
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices
|
||||
#: model:ir.ui.menu,name:portal_sale.portal_invoices
|
||||
msgid "Invoices"
|
||||
msgstr "Нэхэмжлэлүүд"
|
||||
|
||||
#. module: portal_sale
|
||||
#: view:account.config.settings:0
|
||||
msgid "Configure payment acquiring methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:email.template,body_html:portal_sale.email_template_edi_invoice
|
||||
msgid ""
|
||||
"\n"
|
||||
"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
|
||||
"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, "
|
||||
"255, 255); \">\n"
|
||||
"\n"
|
||||
" <p>Hello ${object.partner_id.name},</p>\n"
|
||||
"\n"
|
||||
" <p>A new invoice is available for you: </p>\n"
|
||||
" \n"
|
||||
" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
|
||||
" <strong>REFERENCES</strong><br />\n"
|
||||
" Invoice number: <strong>${object.number}</strong><br />\n"
|
||||
" Invoice total: <strong>${object.amount_total} "
|
||||
"${object.currency_id.name}</strong><br />\n"
|
||||
" Invoice date: ${object.date_invoice}<br />\n"
|
||||
" % if object.origin:\n"
|
||||
" Order reference: ${object.origin}<br />\n"
|
||||
" % endif\n"
|
||||
" % if object.user_id:\n"
|
||||
" Your contact: <a href=\"mailto:${object.user_id.email or "
|
||||
"''}?subject=Invoice%20${object.number}\">${object.user_id.name}</a>\n"
|
||||
" % endif\n"
|
||||
" </p> \n"
|
||||
"\n"
|
||||
" <% set signup_url = object.get_signup_url() %>\n"
|
||||
" % if signup_url:\n"
|
||||
" <p>\n"
|
||||
" You can access the invoice document and pay online via our Customer "
|
||||
"Portal:\n"
|
||||
" </p>\n"
|
||||
" <a style=\"display:block; width: 150px; height:20px; margin-left: "
|
||||
"120px; color: #DDD; font-family: 'Lucida Grande', Helvetica, Arial, sans-"
|
||||
"serif; font-size: 13px; font-weight: bold; text-align: center; text-"
|
||||
"decoration: none !important; line-height: 1; padding: 5px 0px 0px 0px; "
|
||||
"background-color: #8E0000; border-radius: 5px 5px; background-repeat: repeat "
|
||||
"no-repeat;\"\n"
|
||||
" href=\"${signup_url}\">View Invoice</a>\n"
|
||||
" % endif\n"
|
||||
" \n"
|
||||
" % if object.paypal_url:\n"
|
||||
" <br/>\n"
|
||||
" <p>It is also possible to directly pay with Paypal:</p>\n"
|
||||
" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
|
||||
" <img class=\"oe_edi_paypal_button\" "
|
||||
"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
|
||||
" </a>\n"
|
||||
" % endif\n"
|
||||
" \n"
|
||||
" <br/>\n"
|
||||
" <p>If you have any question, do not hesitate to contact us.</p>\n"
|
||||
" <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n"
|
||||
" <br/>\n"
|
||||
" <br/>\n"
|
||||
" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
|
||||
"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
|
||||
"background-repeat: repeat no-repeat;\">\n"
|
||||
" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
|
||||
"#DDD;\">\n"
|
||||
" <strong style=\"text-"
|
||||
"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
|
||||
" </div>\n"
|
||||
" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
|
||||
"16px; background-color: #F2F2F2;\">\n"
|
||||
" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
|
||||
" % if object.company_id.street:\n"
|
||||
" ${object.company_id.street}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.street2:\n"
|
||||
" ${object.company_id.street2}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.city or object.company_id.zip:\n"
|
||||
" ${object.company_id.zip} ${object.company_id.city}<br/>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.country_id:\n"
|
||||
" ${object.company_id.state_id and ('%s, ' % "
|
||||
"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
|
||||
"or ''}<br/>\n"
|
||||
" % endif\n"
|
||||
" </span>\n"
|
||||
" % if object.company_id.phone:\n"
|
||||
" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
|
||||
"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
|
||||
"0px; padding-left: 0px; \">\n"
|
||||
" Phone: ${object.company_id.phone}\n"
|
||||
" </div>\n"
|
||||
" % endif\n"
|
||||
" % if object.company_id.website:\n"
|
||||
" <div>\n"
|
||||
" Web : <a "
|
||||
"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
|
||||
" </div>\n"
|
||||
" % endif\n"
|
||||
" <p></p>\n"
|
||||
" </div>\n"
|
||||
"</div>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,help:portal_sale.action_orders_portal
|
||||
msgid "We haven't sent you any sales order."
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.model,name:portal_sale.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Нэхэмжлэл"
|
||||
|
||||
#. module: portal_sale
|
||||
#: model:ir.actions.act_window,name:portal_sale.action_orders_portal
|
||||
msgid "Sale Orders"
|
||||
msgstr "Борлуулалтын захиалга"
|
||||
@@ -19,10 +19,12 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from operator import attrgetter
|
||||
import time
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
from openerp import netsvc
|
||||
import time
|
||||
import openerp.addons.decimal_precision as dp
|
||||
|
||||
# Procurement
|
||||
@@ -42,7 +44,6 @@ class mrp_property_group(osv.osv):
|
||||
'name': fields.char('Property Group', size=64, required=True),
|
||||
'description': fields.text('Description'),
|
||||
}
|
||||
mrp_property_group()
|
||||
|
||||
class mrp_property(osv.osv):
|
||||
"""
|
||||
@@ -59,7 +60,6 @@ class mrp_property(osv.osv):
|
||||
_defaults = {
|
||||
'composition': lambda *a: 'min',
|
||||
}
|
||||
mrp_property()
|
||||
|
||||
class StockMove(osv.osv):
|
||||
_inherit = 'stock.move'
|
||||
@@ -72,7 +72,6 @@ class StockMove(osv.osv):
|
||||
default['procurements'] = []
|
||||
return super(StockMove, self).copy(cr, uid, id, default, context=context)
|
||||
|
||||
StockMove()
|
||||
|
||||
class procurement_order(osv.osv):
|
||||
"""
|
||||
@@ -103,7 +102,7 @@ class procurement_order(osv.osv):
|
||||
readonly=True, required=True, help="If you encode manually a Procurement, you probably want to use" \
|
||||
" a make to order method."),
|
||||
'note': fields.text('Note'),
|
||||
'message': fields.char('Latest error', help="Exception occurred while computing procurement orders."),
|
||||
'message': fields.text('Latest error', help="Exception occurred while computing procurement orders."),
|
||||
'state': fields.selection([
|
||||
('draft','Draft'),
|
||||
('cancel','Cancelled'),
|
||||
@@ -374,14 +373,13 @@ class procurement_order(osv.osv):
|
||||
self.message_post(cr, uid, [procurement.id], body=message, context=context)
|
||||
return ok
|
||||
|
||||
def _workflow_trigger(self, cr, uid, ids, trigger, context=None):
|
||||
""" Don't trigger workflow for the element specified in trigger
|
||||
"""
|
||||
wkf_op_key = 'workflow.%s.%s' % (trigger, self._name)
|
||||
def step_workflow(self, cr, uid, ids, context=None):
|
||||
""" Don't trigger workflow for the element specified in trigger """
|
||||
wkf_op_key = 'workflow.trg_write.%s' % self._name
|
||||
if context and not context.get(wkf_op_key, True):
|
||||
# make sure we don't have a trigger loop while processing triggers
|
||||
return
|
||||
return super(procurement_order,self)._workflow_trigger(cr, uid, ids, trigger, context=context)
|
||||
return super(procurement_order, self).step_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def action_produce_assign_service(self, cr, uid, ids, context=None):
|
||||
""" Changes procurement state to Running.
|
||||
@@ -468,15 +466,12 @@ class procurement_order(osv.osv):
|
||||
|
||||
class StockPicking(osv.osv):
|
||||
_inherit = 'stock.picking'
|
||||
def test_finished(self, cursor, user, ids):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
res = super(StockPicking, self).test_finished(cursor, user, ids)
|
||||
for picking in self.browse(cursor, user, ids):
|
||||
def test_finished(self, cr, uid, ids):
|
||||
res = super(StockPicking, self).test_finished(cr, uid, ids)
|
||||
for picking in self.browse(cr, uid, ids):
|
||||
for move in picking.move_lines:
|
||||
if move.state == 'done' and move.procurements:
|
||||
for procurement in move.procurements:
|
||||
wf_service.trg_validate(user, 'procurement.order',
|
||||
procurement.id, 'button_check', cursor)
|
||||
self.pool.get('procurement.order').signal_button_check(cr, uid, map(attrgetter('id'), move.procurements))
|
||||
return res
|
||||
|
||||
class stock_warehouse_orderpoint(osv.osv):
|
||||
|
||||
@@ -57,13 +57,11 @@ class procurement_order(osv.osv):
|
||||
try:
|
||||
if use_new_cursor:
|
||||
cr = pooler.get_db(use_new_cursor).cursor()
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
procurement_obj = self.pool.get('procurement.order')
|
||||
if not ids:
|
||||
ids = procurement_obj.search(cr, uid, [('state', '=', 'exception')], order="date_planned")
|
||||
for id in ids:
|
||||
wf_service.trg_validate(uid, 'procurement.order', id, 'button_restart', cr)
|
||||
self.signal_button_restart(cr, uid, ids)
|
||||
if use_new_cursor:
|
||||
cr.commit()
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
|
||||
@@ -78,7 +76,7 @@ class procurement_order(osv.osv):
|
||||
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_order')], offset=offset, limit=500, order='priority, date_planned', context=context)
|
||||
for proc in procurement_obj.browse(cr, uid, ids, context=context):
|
||||
if maxdate >= proc.date_planned:
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
|
||||
self.signal_button_check(cr, uid, [proc.id])
|
||||
else:
|
||||
offset += 1
|
||||
report_later += 1
|
||||
@@ -100,7 +98,7 @@ class procurement_order(osv.osv):
|
||||
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_stock')], offset=offset)
|
||||
for proc in procurement_obj.browse(cr, uid, ids):
|
||||
if maxdate >= proc.date_planned:
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
|
||||
self.signal_button_check(cr, uid, [proc.id])
|
||||
report_ids.append(proc.id)
|
||||
else:
|
||||
report_later += 1
|
||||
@@ -155,7 +153,6 @@ class procurement_order(osv.osv):
|
||||
product_obj = self.pool.get('product.product')
|
||||
proc_obj = self.pool.get('procurement.order')
|
||||
warehouse_obj = self.pool.get('stock.warehouse')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
warehouse_ids = warehouse_obj.search(cr, uid, [], context=context)
|
||||
products_ids = product_obj.search(cr, uid, [('purchase_ok', '=', True)], order='id', context=context)
|
||||
@@ -178,8 +175,8 @@ class procurement_order(osv.osv):
|
||||
proc_id = proc_obj.create(cr, uid,
|
||||
self._prepare_automatic_op_procurement(cr, uid, product, warehouse, location_id, context=context),
|
||||
context=context)
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)
|
||||
self.signal_button_confirm(cr, uid, [proc_id])
|
||||
self.signal_button_check(cr, uid, [proc_id])
|
||||
return True
|
||||
|
||||
def _get_orderpoint_date_planned(self, cr, uid, orderpoint, start_date, context=None):
|
||||
@@ -225,7 +222,6 @@ class procurement_order(osv.osv):
|
||||
orderpoint_obj = self.pool.get('stock.warehouse.orderpoint')
|
||||
|
||||
procurement_obj = self.pool.get('procurement.order')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
offset = 0
|
||||
ids = [1]
|
||||
if automatic:
|
||||
@@ -254,7 +250,7 @@ class procurement_order(osv.osv):
|
||||
to_generate = qty
|
||||
for proc_data in procure_datas:
|
||||
if to_generate >= proc_data['product_qty']:
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_data['id'], 'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [proc_data['id']])
|
||||
procurement_obj.write(cr, uid, [proc_data['id']], {'origin': op.name}, context=context)
|
||||
to_generate -= proc_data['product_qty']
|
||||
if not to_generate:
|
||||
@@ -265,10 +261,8 @@ class procurement_order(osv.osv):
|
||||
proc_id = procurement_obj.create(cr, uid,
|
||||
self._prepare_orderpoint_procurement(cr, uid, op, qty, context=context),
|
||||
context=context)
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id,
|
||||
'button_confirm', cr)
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id,
|
||||
'button_check', cr)
|
||||
self.signal_button_confirm(cr, uid, [proc_id])
|
||||
self.signal_button_check(cr, uid, [proc_id])
|
||||
orderpoint_obj.write(cr, uid, [op.id],
|
||||
{'procurement_id': proc_id}, context=context)
|
||||
offset += len(ids)
|
||||
@@ -279,6 +273,4 @@ class procurement_order(osv.osv):
|
||||
cr.close()
|
||||
return {}
|
||||
|
||||
procurement_order()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import netsvc
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
@@ -64,7 +63,6 @@ class make_procurement(osv.osv_memory):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context).login
|
||||
wh_obj = self.pool.get('stock.warehouse')
|
||||
procurement_obj = self.pool.get('procurement.order')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
for proc in self.browse(cr, uid, ids, context=context):
|
||||
@@ -78,9 +76,7 @@ class make_procurement(osv.osv_memory):
|
||||
'location_id': wh.lot_stock_id.id,
|
||||
'procure_method':'make_to_order',
|
||||
})
|
||||
|
||||
wf_service.trg_validate(uid, 'procurement.order', procure_id, 'button_confirm', cr)
|
||||
|
||||
procurement_obj.signal_button_confirm(cr, uid, [procure_id])
|
||||
|
||||
id2 = data_obj._get_id(cr, uid, 'procurement', 'procurement_tree_view')
|
||||
id3 = data_obj._get_id(cr, uid, 'procurement', 'procurement_form_view')
|
||||
|
||||
+17
-26
@@ -22,9 +22,9 @@
|
||||
import time
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from operator import attrgetter
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp import netsvc
|
||||
from openerp import pooler
|
||||
from openerp.tools.translate import _
|
||||
import openerp.addons.decimal_precision as dp
|
||||
@@ -260,9 +260,7 @@ class purchase_order(osv.osv):
|
||||
raise osv.except_osv(_('Invalid Action!'), _('In order to delete a purchase order, you must cancel it first.'))
|
||||
|
||||
# automatically sending subflow.delete upon deletion
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in unlink_ids:
|
||||
wf_service.trg_validate(uid, 'purchase.order', id, 'purchase_cancel', cr)
|
||||
self.signal_purchase_cancel(cr, uid, unlink_ids)
|
||||
|
||||
return super(purchase_order, self).unlink(cr, uid, unlink_ids, context=context)
|
||||
|
||||
@@ -439,8 +437,7 @@ class purchase_order(osv.osv):
|
||||
This function prints the request for quotation and mark it as sent, so that we can see more easily the next step of the workflow
|
||||
'''
|
||||
assert len(ids) == 1, 'This option should only be used for a single id at a time'
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', ids[0], 'send_rfq', cr)
|
||||
self.signal_send_rfq(cr, uid, ids)
|
||||
datas = {
|
||||
'model': 'purchase.order',
|
||||
'ids': ids,
|
||||
@@ -486,11 +483,10 @@ class purchase_order(osv.osv):
|
||||
if not len(ids):
|
||||
return False
|
||||
self.write(cr, uid, ids, {'state':'draft','shipped':0})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for p_id in ids:
|
||||
# Deleting the existing instance of workflow for PO
|
||||
wf_service.trg_delete(uid, 'purchase.order', p_id, cr)
|
||||
wf_service.trg_create(uid, 'purchase.order', p_id, cr)
|
||||
self.delete_workflow(cr, uid, [p_id]) # TODO is it necessary to interleave the calls?
|
||||
self.create_workflow(cr, uid, [p_id])
|
||||
return True
|
||||
|
||||
def action_invoice_create(self, cr, uid, ids, context=None):
|
||||
@@ -571,26 +567,24 @@ class purchase_order(osv.osv):
|
||||
return False
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for purchase in self.browse(cr, uid, ids, context=context):
|
||||
for pick in purchase.picking_ids:
|
||||
if pick.state not in ('draft','cancel'):
|
||||
raise osv.except_osv(
|
||||
_('Unable to cancel this purchase order.'),
|
||||
_('First cancel all receptions related to this purchase order.'))
|
||||
for pick in purchase.picking_ids:
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_cancel', cr)
|
||||
self.pool.get('stock.picking') \
|
||||
.signal_button_cancel(cr, uid, map(attrgetter('id'), purchase.picking_ids))
|
||||
for inv in purchase.invoice_ids:
|
||||
if inv and inv.state not in ('cancel','draft'):
|
||||
raise osv.except_osv(
|
||||
_('Unable to cancel this purchase order.'),
|
||||
_('You must first cancel all receptions related to this purchase order.'))
|
||||
if inv:
|
||||
wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr)
|
||||
self.pool.get('account.invoice') \
|
||||
.signal_invoice_cancel(cr, uid, map(attrgetter('id'), purchase.invoice_ids))
|
||||
self.write(cr,uid,ids,{'state':'cancel'})
|
||||
|
||||
for (id, name) in self.name_get(cr, uid, ids):
|
||||
wf_service.trg_validate(uid, 'purchase.order', id, 'purchase_cancel', cr)
|
||||
self.signal_purchase_cancel(cr, uid, ids)
|
||||
return True
|
||||
|
||||
def _prepare_order_picking(self, cr, uid, order, context=None):
|
||||
@@ -648,11 +642,11 @@ class purchase_order(osv.osv):
|
||||
will be added. A new picking will be created if omitted.
|
||||
:return: list of IDs of pickings used/created for the given order lines (usually just one)
|
||||
"""
|
||||
stock_picking = self.pool.get('stock.picking')
|
||||
if not picking_id:
|
||||
picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context))
|
||||
picking_id = stock_picking.create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context))
|
||||
todo_moves = []
|
||||
stock_move = self.pool.get('stock.move')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for order_line in order_lines:
|
||||
if not order_line.product_id:
|
||||
continue
|
||||
@@ -663,7 +657,7 @@ class purchase_order(osv.osv):
|
||||
todo_moves.append(move)
|
||||
stock_move.action_confirm(cr, uid, todo_moves)
|
||||
stock_move.force_assign(cr, uid, todo_moves)
|
||||
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
||||
stock_picking.signal_button_confirm(cr, uid, [picking_id])
|
||||
return [picking_id]
|
||||
|
||||
def action_picking_create(self, cr, uid, ids, context=None):
|
||||
@@ -714,7 +708,6 @@ class purchase_order(osv.osv):
|
||||
|
||||
"""
|
||||
#TOFIX: merged order line should be unlink
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
def make_key(br, fields):
|
||||
list_key = []
|
||||
for field in fields:
|
||||
@@ -801,8 +794,8 @@ class purchase_order(osv.osv):
|
||||
|
||||
# make triggers pointing to the old orders point to the new order
|
||||
for old_id in old_ids:
|
||||
wf_service.trg_redirect(uid, 'purchase.order', old_id, neworder_id, cr)
|
||||
wf_service.trg_validate(uid, 'purchase.order', old_id, 'purchase_cancel', cr)
|
||||
self.redirect_workflow(cr, uid, [(old_id, neworder_id)])
|
||||
self.signal_purchase_cancel(cr, uid, [old_id]) # TODO Is it necessary to interleave the calls?
|
||||
return orders_info
|
||||
|
||||
|
||||
@@ -1169,8 +1162,7 @@ class mail_mail(osv.Model):
|
||||
|
||||
def _postprocess_sent_message(self, cr, uid, mail, context=None):
|
||||
if mail.model == 'purchase.order':
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', mail.res_id, 'send_rfq', cr)
|
||||
self.pool.get('purchase.order').signal_send_rfq(cr, uid, [mail.res_id])
|
||||
return super(mail_mail, self)._postprocess_sent_message(cr, uid, mail=mail, context=context)
|
||||
|
||||
|
||||
@@ -1192,8 +1184,7 @@ class mail_compose_message(osv.Model):
|
||||
context = context or {}
|
||||
if context.get('default_model') == 'purchase.order' and context.get('default_res_id'):
|
||||
context = dict(context, mail_post_autofollow=True)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', context['default_res_id'], 'send_rfq', cr)
|
||||
self.pool.get('purchase.order').signal_send_rfq(cr, uid, [context['default_res_id']])
|
||||
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -59,11 +59,8 @@
|
||||
I Validate Invoice of Purchase Order.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
from openerp import netsvc
|
||||
invoice_ids = [x.id for x in self.browse(cr, uid, ref("purchase_order_1")).invoice_ids]
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for invoice in invoice_ids:
|
||||
wf_service.trg_validate(uid, 'account.invoice', invoice, 'invoice_open', cr)
|
||||
self.pool.get('account.invoice').signal_invoice_open(cr, uid, invoice_ids)
|
||||
-
|
||||
I check that purchase order is invoiced.
|
||||
-
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
from datetime import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
import time
|
||||
from openerp import netsvc
|
||||
|
||||
from openerp.osv import fields,osv
|
||||
from openerp.tools.translate import _
|
||||
@@ -211,8 +210,7 @@ class purchase_order(osv.osv):
|
||||
proc_ids = proc_obj.search(cr, uid, [('purchase_id', '=', order.id)])
|
||||
if proc_ids and po.state=='confirmed':
|
||||
proc_obj.write(cr, uid, proc_ids, {'purchase_id': po.id})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', order.id, 'purchase_cancel', cr)
|
||||
self.signal_purchase_cancel(cr, uid, [order.id])
|
||||
po.requisition_id.tender_done(context=context)
|
||||
return res
|
||||
|
||||
|
||||
@@ -69,10 +69,8 @@
|
||||
I confirmed RFQ which has best price.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
purchase = self.browse(cr, uid, ref('rfq2'), context=context)
|
||||
wf_service.trg_validate(uid, 'purchase.order', purchase.id, 'purchase_confirm', cr)
|
||||
self.signal_purchase_confirm(cr, uid, [purchase.id])
|
||||
|
||||
-
|
||||
I check status of requisition after confirmed best RFQ.
|
||||
|
||||
@@ -0,0 +1,517 @@
|
||||
# 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:06+0000\n"
|
||||
"PO-Revision-Date: 2013-02-18 09: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-19 04:57+0000\n"
|
||||
"X-Generator: Launchpad (build 16491)\n"
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:ir.actions.report.xml:0
|
||||
msgid "Webkit Template (used if Report File is not found)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Tabloid 29 279.4 x 431.8 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Ledger 28 431.8 x 279.4 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:233
|
||||
#, python-format
|
||||
msgid "No header defined for this Webkit report!"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.header_img,type:0
|
||||
msgid "Image type(png,gif,jpeg)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.actions.report.xml,precise_mode:0
|
||||
msgid ""
|
||||
"This mode allow more precise element "
|
||||
" position as each object is printed on a separate HTML. "
|
||||
" but memory and disk "
|
||||
"usage is wider"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Executive 4 7.5 x 10 inches, 190.5 x 254 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_img,company_id:0
|
||||
#: field:ir.header_webkit,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Компани"
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:234
|
||||
#, python-format
|
||||
msgid "Please set a header in company settings."
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "DLE 26 110 x 220 mm"
|
||||
msgstr "DLE 26 110 x 200 mm"
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B7 21 88 x 125 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:res.company:0
|
||||
msgid "Headers"
|
||||
msgstr "Толгой хэсэг"
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.header_img,name:0
|
||||
msgid "Name of Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.actions.act_window,name:report_webkit.action_header_webkit
|
||||
#: model:ir.ui.menu,name:report_webkit.menu_header_webkit
|
||||
msgid "Webkit Headers/Footers"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Legal 3 8.5 x 14 inches, 215.9 x 355.6 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.model,name:report_webkit.model_ir_header_webkit
|
||||
msgid "ir.header_webkit"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A4 0 210 x 297 mm, 8.26 x 11.69 inches"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:176
|
||||
#, python-format
|
||||
msgid "Webkit error"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B2 17 500 x 707 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:260
|
||||
#: code:addons/report_webkit/webkit_report.py:271
|
||||
#: code:addons/report_webkit/webkit_report.py:280
|
||||
#: code:addons/report_webkit/webkit_report.py:293
|
||||
#: code:addons/report_webkit/webkit_report.py:304
|
||||
#, python-format
|
||||
msgid "Webkit render!"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.model,name:report_webkit.model_ir_header_img
|
||||
msgid "ir.header_img"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.actions.report.xml,precise_mode:0
|
||||
msgid "Precise Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please install executable on your system (sudo apt-get install wkhtmltopdf) "
|
||||
"or download it from here: "
|
||||
"http://code.google.com/p/wkhtmltopdf/downloads/list and set the path in the "
|
||||
"ir.config_parameter with the webkit_path key.Minimal version is 0.9.9"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A0 5 841 x 1189 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "C5E 24 163 x 229 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_img,type:0
|
||||
msgid "Type"
|
||||
msgstr "Төрөл"
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/wizard/report_webkit_actions.py:133
|
||||
#, python-format
|
||||
msgid "Client Actions Connections"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:res.company,header_image:0
|
||||
msgid "Available Images"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,html:0
|
||||
msgid "webkit header"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B1 15 707 x 1000 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A1 6 594 x 841 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.actions.report.xml,webkit_header:0
|
||||
msgid "The header linked to the report"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:95
|
||||
#, python-format
|
||||
msgid "Wkhtmltopdf library path is not set"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:ir.actions.report.xml:0
|
||||
#: view:res.company:0
|
||||
msgid "Webkit"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.header_webkit,format:0
|
||||
msgid "Select Proper Paper size"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B5 1 176 x 250 mm, 6.93 x 9.84 inches"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A7 11 74 x 105 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A6 10 105 x 148 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.actions.report.xml,report_webkit_data:0
|
||||
msgid "This template will be used if the main report file is not found"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Folio 27 210 x 330 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,margin_top:0
|
||||
msgid "Top Margin (mm)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:report.webkit.actions:0
|
||||
msgid "_Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:report.webkit.actions,print_button:0
|
||||
msgid ""
|
||||
"Check this to add a Print action for this Report in the sidebar of the "
|
||||
"corresponding document types"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B3 18 353 x 500 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.actions.report.xml,webkit_header:0
|
||||
msgid "Webkit Header"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.actions.report.xml,webkit_debug:0
|
||||
msgid "Enable the webkit engine debugger"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_img,img:0
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:ir.header_img:0
|
||||
msgid "Header Image"
|
||||
msgstr "Толгой зураг"
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:res.company,header_webkit:0
|
||||
msgid "Available html"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:report.webkit.actions,open_action:0
|
||||
msgid ""
|
||||
"Check this to view the newly added internal print action after creating it "
|
||||
"(technical view) "
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:res.company:0
|
||||
msgid "Images"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,orientation:0
|
||||
msgid "Portrait"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:report.webkit.actions:0
|
||||
msgid "or"
|
||||
msgstr "эсвэл"
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,orientation:0
|
||||
msgid "Landscape"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B8 22 62 x 88 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:177
|
||||
#, python-format
|
||||
msgid "The command 'wkhtmltopdf' failed with error code = %s. Message: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A2 7 420 x 594 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:report.webkit.actions,print_button:0
|
||||
msgid "Add print button"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A9 13 37 x 52 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.model,name:report_webkit.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,margin_bottom:0
|
||||
msgid "Bottom Margin (mm)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.model,name:report_webkit.model_report_webkit_actions
|
||||
msgid "Webkit Actions"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:report.webkit.actions,open_action:0
|
||||
msgid "Open added action"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,margin_right:0
|
||||
msgid "Right Margin (mm)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:228
|
||||
#, python-format
|
||||
msgid "Webkit report template not found!"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,orientation:0
|
||||
msgid "Orientation"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B6 20 125 x 176 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.header_webkit,html:0
|
||||
msgid "Set Webkit Report Header"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,format:0
|
||||
msgid "Paper size"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid ":B10 16 31 x 44 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:report.webkit.actions:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,css:0
|
||||
msgid "Header CSS"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B4 19 250 x 353 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.actions.act_window,name:report_webkit.action_header_img
|
||||
#: model:ir.ui.menu,name:report_webkit.menu_header_img
|
||||
msgid "Webkit Logos"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:172
|
||||
#, python-format
|
||||
msgid "No diagnosis message was provided"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A3 8 297 x 420 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.actions.report.xml,report_webkit_data:0
|
||||
msgid "Webkit Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,footer_html:0
|
||||
msgid "webkit footer"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.actions.report.xml,webkit_debug:0
|
||||
msgid "Webkit debug"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Letter 2 8.5 x 11 inches, 215.9 x 279.4 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B0 14 1000 x 1414 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_img,name:0
|
||||
#: field:ir.header_webkit,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A5 9 148 x 210 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "A8 12 52 x 74 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.actions.act_window,name:report_webkit.wizard_ofdo_report_actions
|
||||
#: view:report.webkit.actions:0
|
||||
msgid "Add Print Buttons"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "Comm10E 25 105 x 241 mm, U.S. Common 10 Envelope"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: field:ir.header_webkit,margin_left:0
|
||||
msgid "Left Margin (mm)"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:228
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: help:ir.header_webkit,footer_html:0
|
||||
msgid "Set Webkit Report Footer."
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: selection:ir.header_webkit,format:0
|
||||
msgid "B9 23 33 x 62 mm"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: model:ir.model,name:report_webkit.model_ir_actions_report_xml
|
||||
msgid "ir.actions.report.xml"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: code:addons/report_webkit/webkit_report.py:174
|
||||
#, python-format
|
||||
msgid "The following diagnosis message was provided:\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: report_webkit
|
||||
#: view:ir.header_webkit:0
|
||||
msgid "HTML Header"
|
||||
msgstr ""
|
||||
+8
-14
@@ -418,8 +418,7 @@ class sale_order(osv.osv):
|
||||
This function prints the sales order and mark it as sent, so that we can see more easily the next step of the workflow
|
||||
'''
|
||||
assert len(ids) == 1, 'This option should only be used for a single id at a time'
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'sale.order', ids[0], 'quotation_sent', cr)
|
||||
self.signal_quotation_sent(cr, uid, ids)
|
||||
datas = {
|
||||
'model': 'sale.order',
|
||||
'ids': ids,
|
||||
@@ -432,12 +431,10 @@ class sale_order(osv.osv):
|
||||
view of one of the newly created invoices
|
||||
"""
|
||||
mod_obj = self.pool.get('ir.model.data')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
|
||||
# create invoices through the sales orders' workflow
|
||||
inv_ids0 = set(inv.id for sale in self.browse(cr, uid, ids, context) for inv in sale.invoice_ids)
|
||||
for id in ids:
|
||||
wf_service.trg_validate(uid, 'sale.order', id, 'manual_invoice', cr)
|
||||
self.signal_manual_invoice(cr, uid, ids)
|
||||
inv_ids1 = set(inv.id for sale in self.browse(cr, uid, ids, context) for inv in sale.invoice_ids)
|
||||
# determine newly created invoices
|
||||
new_inv_ids = list(inv_ids1 - inv_ids0)
|
||||
@@ -555,10 +552,10 @@ class sale_order(osv.osv):
|
||||
return True
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
if context is None:
|
||||
context = {}
|
||||
sale_order_line_obj = self.pool.get('sale.order.line')
|
||||
account_invoice_obj = self.pool.get('account.invoice')
|
||||
for sale in self.browse(cr, uid, ids, context=context):
|
||||
for inv in sale.invoice_ids:
|
||||
if inv.state not in ('draft', 'cancel'):
|
||||
@@ -566,8 +563,7 @@ class sale_order(osv.osv):
|
||||
_('Cannot cancel this sales order!'),
|
||||
_('First cancel all invoices attached to this sales order.'))
|
||||
for r in self.read(cr, uid, ids, ['invoice_ids']):
|
||||
for inv in r['invoice_ids']:
|
||||
wf_service.trg_validate(uid, 'account.invoice', inv, 'invoice_cancel', cr)
|
||||
account_invoice_obj.signal_invoice_cancel(cr, uid, r['invoice_ids'])
|
||||
sale_order_line_obj.write(cr, uid, [l.id for l in sale.order_line],
|
||||
{'state': 'cancel'})
|
||||
self.write(cr, uid, ids, {'state': 'cancel'})
|
||||
@@ -575,8 +571,7 @@ class sale_order(osv.osv):
|
||||
|
||||
def action_button_confirm(self, cr, uid, ids, context=None):
|
||||
assert len(ids) == 1, 'This option should only be used for a single id at a time.'
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
wf_service.trg_validate(uid, 'sale.order', ids[0], 'order_confirm', cr)
|
||||
self.signal_order_confirm(cr, uid, ids)
|
||||
|
||||
# redisplay the record as a sales order
|
||||
view_ref = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'sale', 'view_order_form')
|
||||
@@ -880,7 +875,7 @@ class sale_order_line(osv.osv):
|
||||
date_order = time.strftime(DEFAULT_SERVER_DATE_FORMAT)
|
||||
|
||||
result = {}
|
||||
warning_msgs = {}
|
||||
warning_msgs = ''
|
||||
product_obj = product_obj.browse(cr, uid, product, context=context_partner)
|
||||
|
||||
uom2 = False
|
||||
@@ -991,8 +986,7 @@ class mail_compose_message(osv.Model):
|
||||
context = context or {}
|
||||
if context.get('default_model') == 'sale.order' and context.get('default_res_id') and context.get('mark_so_as_sent'):
|
||||
context = dict(context, mail_post_autofollow=True)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'sale.order', context['default_res_id'], 'quotation_sent', cr)
|
||||
self.pool.get('sale.order').signal_quotation_sent(cr, uid, [context['default_res_id']])
|
||||
return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -51,11 +51,10 @@
|
||||
I cancel all the invoices.
|
||||
-
|
||||
!python {model: sale.order}: |
|
||||
from openerp import netsvc
|
||||
invoice_ids = self.browse(cr, uid, ref("sale_order_8")).invoice_ids
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
account_invoice_obj = self.pool.get('account.invoice')
|
||||
for invoice in invoice_ids:
|
||||
wf_service.trg_validate(uid, 'account.invoice', invoice.id, 'invoice_cancel', cr)
|
||||
account_invoice_obj.signal_invoice_cancel(cr, uid, [invoice.id])
|
||||
-
|
||||
I check order status in "Invoice Exception" and related invoice is in cancel state.
|
||||
-
|
||||
|
||||
@@ -41,11 +41,10 @@
|
||||
I open the Invoice.
|
||||
-
|
||||
!python {model: sale.order}: |
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
so = self.browse(cr, uid, ref("sale_order_2"))
|
||||
account_invoice_obj = self.pool.get('account.invoice')
|
||||
for invoice in so.invoice_ids:
|
||||
wf_service.trg_validate(uid, 'account.invoice', invoice.id, 'invoice_open', cr)
|
||||
account_invoice_obj.signal_invoice_open(cr, uid, [invoice.id])
|
||||
-
|
||||
I pay the invoice.
|
||||
-
|
||||
|
||||
@@ -80,7 +80,6 @@ class sale_order_line_make_invoice(osv.osv_memory):
|
||||
|
||||
sales_order_line_obj = self.pool.get('sale.order.line')
|
||||
sales_order_obj = self.pool.get('sale.order')
|
||||
wf_service = netsvc.LocalService('workflow')
|
||||
for line in sales_order_line_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
if (not line.invoiced) and (line.state not in ('draft', 'cancel')):
|
||||
if not line.order_id.id in invoices:
|
||||
@@ -103,7 +102,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
|
||||
flag = False
|
||||
break
|
||||
if flag:
|
||||
wf_service.trg_validate(uid, 'sale.order', line.order_id.id, 'manual_invoice', cr)
|
||||
sales_order_obj.signal_manual_invoice(cr, uid, [line.order_id.id])
|
||||
sales_order_obj.write(cr, uid, [line.order_id.id], {'state': 'progress'})
|
||||
|
||||
if not invoices:
|
||||
|
||||
@@ -52,10 +52,8 @@ class sale_make_invoice(osv.osv_memory):
|
||||
context = {}
|
||||
data = self.read(cr, uid, ids)[0]
|
||||
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_inv = data['invoice_date'])
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in context.get(('active_ids'), []):
|
||||
wf_service.trg_validate(uid, 'sale.order', id, 'manual_invoice', cr)
|
||||
|
||||
order_obj.signal_manual_invoice(cr, uid, context.get(('active_ids'), []))
|
||||
|
||||
for o in order_obj.browse(cr, uid, context.get(('active_ids'), []), context=context):
|
||||
for i in o.invoice_ids:
|
||||
newinv.append(i.id)
|
||||
|
||||
@@ -103,11 +103,8 @@
|
||||
!python {model: procurement.order}: |
|
||||
sale_order_obj = self.pool.get('sale.order')
|
||||
so = sale_order_obj.browse(cr, uid, ref("sale_order_so0"))
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
proc_ids = self.search(cr, uid, [('origin','=',so.name)])
|
||||
for proc in proc_ids:
|
||||
wf_service.trg_validate(uid, 'procurement.order',proc,'button_check', cr)
|
||||
self.signal_button_check(cr, uid, proc_ids)
|
||||
-
|
||||
I verify that a procurement state is "running"
|
||||
-
|
||||
|
||||
@@ -23,7 +23,6 @@ from datetime import datetime, timedelta
|
||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP, float_compare
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from openerp.osv import fields, osv
|
||||
from openerp import netsvc
|
||||
from openerp.tools.translate import _
|
||||
|
||||
class sale_shop(osv.osv):
|
||||
@@ -194,11 +193,11 @@ class sale_order(osv.osv):
|
||||
return res
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
if context is None:
|
||||
context = {}
|
||||
sale_order_line_obj = self.pool.get('sale.order.line')
|
||||
proc_obj = self.pool.get('procurement.order')
|
||||
stock_obj = self.pool.get('stock.picking')
|
||||
for sale in self.browse(cr, uid, ids, context=context):
|
||||
for pick in sale.picking_ids:
|
||||
if pick.state not in ('draft', 'cancel'):
|
||||
@@ -209,11 +208,9 @@ class sale_order(osv.osv):
|
||||
for mov in pick.move_lines:
|
||||
proc_ids = proc_obj.search(cr, uid, [('move_id', '=', mov.id)])
|
||||
if proc_ids:
|
||||
for proc in proc_ids:
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc, 'button_check', cr)
|
||||
proc_obj.signal_button_check(cr, uid, proc_ids)
|
||||
for r in self.read(cr, uid, ids, ['picking_ids']):
|
||||
for pick in r['picking_ids']:
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick, 'button_cancel', cr)
|
||||
stock_obj.signal_button_cancel(cr, uid, r['picking_ids'])
|
||||
return super(sale_order, self).action_cancel(cr, uid, ids, context=context)
|
||||
|
||||
def action_wait(self, cr, uid, ids, context=None):
|
||||
@@ -396,11 +393,9 @@ class sale_order(osv.osv):
|
||||
line.write({'procurement_id': proc_id})
|
||||
self.ship_recreate(cr, uid, order, line, move_id, proc_id)
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
if picking_id:
|
||||
wf_service.trg_validate(uid, 'stock.picking', picking_id, 'button_confirm', cr)
|
||||
for proc_id in proc_ids:
|
||||
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
|
||||
picking_obj.signal_button_confirm(cr, uid, [picking_id])
|
||||
procurement_obj.signal_button_confirm(cr, uid, proc_ids)
|
||||
|
||||
val = {}
|
||||
if order.state == 'shipping_except':
|
||||
|
||||
@@ -17,11 +17,9 @@
|
||||
Now I cancel latest shipment.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
from openerp import netsvc
|
||||
delivery_orders = self.search(cr, uid, [('sale_id','=',ref("sale.sale_order_8"))])
|
||||
last_delivery_order_id = delivery_orders[0]
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'stock.picking', last_delivery_order_id, 'button_cancel', cr)
|
||||
self.pool.get('stock.picking').signal_button_cancel(cr, uid, [last_delivery_order_id])
|
||||
-
|
||||
I run the scheduler.
|
||||
-
|
||||
@@ -50,11 +48,9 @@
|
||||
To cancel the sale order from Invoice Exception, I have to cancel the invoice of sale order.
|
||||
-
|
||||
!python {model: sale.order}: |
|
||||
from openerp import netsvc
|
||||
invoice_ids = self.browse(cr, uid, ref("sale.sale_order_8")).invoice_ids
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
first_invoice_id = invoice_ids[0]
|
||||
wf_service.trg_validate(uid, 'account.invoice', first_invoice_id.id, 'invoice_cancel', cr)
|
||||
self.pool.get('account.invoice').signal_invoice_cancel(cr, uid, [first_invoice_id.id])
|
||||
-
|
||||
I check order status in "Invoice Exception" and related invoice is in cancel state.
|
||||
-
|
||||
|
||||
@@ -132,11 +132,10 @@
|
||||
I open the Invoice.
|
||||
-
|
||||
!python {model: sale.order}: |
|
||||
from openerp import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
so = self.browse(cr, uid, ref("sale.sale_order_6"))
|
||||
account_invoice_obj = self.pool.get('account.invoice')
|
||||
for invoice in so.invoice_ids:
|
||||
wf_service.trg_validate(uid, 'account.invoice', invoice.id, 'invoice_open', cr)
|
||||
account_invoice_obj.signal_invoice_open(cr, uid, [invoice.id])
|
||||
-
|
||||
I pay the invoice
|
||||
-
|
||||
|
||||
+44
-30
@@ -759,10 +759,9 @@ class stock_picking(osv.osv):
|
||||
""" Changes state of picking to available if all moves are confirmed.
|
||||
@return: True
|
||||
"""
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for pick in self.browse(cr, uid, ids):
|
||||
if pick.state == 'draft':
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [pick.id])
|
||||
move_ids = [x.id for x in pick.move_lines if x.state == 'confirmed']
|
||||
if not move_ids:
|
||||
raise osv.except_osv(_('Warning!'),_('Not enough stock, unable to reserve the products.'))
|
||||
@@ -784,12 +783,10 @@ class stock_picking(osv.osv):
|
||||
""" Confirms picking directly from draft state.
|
||||
@return: True
|
||||
"""
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for pick in self.browse(cr, uid, ids):
|
||||
if not pick.move_lines:
|
||||
raise osv.except_osv(_('Error!'),_('You cannot process picking without stock moves.'))
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick.id,
|
||||
'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [pick.id])
|
||||
return True
|
||||
|
||||
def draft_validate(self, cr, uid, ids, context=None):
|
||||
@@ -1345,18 +1342,18 @@ class stock_picking(osv.osv):
|
||||
|
||||
# At first we confirm the new picking (if necessary)
|
||||
if new_picking:
|
||||
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [new_picking])
|
||||
# Then we finish the good picking
|
||||
self.write(cr, uid, [pick.id], {'backorder_id': new_picking})
|
||||
self.action_move(cr, uid, [new_picking], context=context)
|
||||
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_done', cr)
|
||||
self.signal_button_done(cr, uid, [new_picking])
|
||||
wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
|
||||
delivered_pack_id = new_picking
|
||||
back_order_name = self.browse(cr, uid, delivered_pack_id, context=context).name
|
||||
self.message_post(cr, uid, ids, body=_("Back order <em>%s</em> has been <b>created</b>.") % (back_order_name), context=context)
|
||||
else:
|
||||
self.action_move(cr, uid, [pick.id], context=context)
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_done', cr)
|
||||
self.signal_button_done(cr, uid, [pick.id])
|
||||
delivered_pack_id = pick.id
|
||||
|
||||
delivered_pack = self.browse(cr, uid, delivered_pack_id, context=context)
|
||||
@@ -2037,7 +2034,6 @@ class stock_move(osv.osv):
|
||||
res_obj = self.pool.get('res.company')
|
||||
location_obj = self.pool.get('stock.location')
|
||||
move_obj = self.pool.get('stock.move')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
new_moves = []
|
||||
if context is None:
|
||||
context = {}
|
||||
@@ -2073,7 +2069,7 @@ class stock_move(osv.osv):
|
||||
})
|
||||
new_moves.append(self.browse(cr, uid, [new_id])[0])
|
||||
if pickid:
|
||||
wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr)
|
||||
self.signal_button_confirm(cr, uid, [pickid])
|
||||
if new_moves:
|
||||
new_moves += self.create_chained_picking(cr, uid, new_moves, context)
|
||||
return new_moves
|
||||
@@ -2195,6 +2191,7 @@ class stock_move(osv.osv):
|
||||
return True
|
||||
if context is None:
|
||||
context = {}
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
pickings = set()
|
||||
for move in self.browse(cr, uid, ids, context=context):
|
||||
if move.state in ('confirmed', 'waiting', 'assigned', 'draft'):
|
||||
@@ -2203,7 +2200,6 @@ class stock_move(osv.osv):
|
||||
if move.move_dest_id and move.move_dest_id.state == 'waiting':
|
||||
self.write(cr, uid, [move.move_dest_id.id], {'state': 'assigned'})
|
||||
if context.get('call_unlink',False) and move.move_dest_id.picking_id:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
|
||||
self.write(cr, uid, ids, {'state': 'cancel', 'move_dest_id': False})
|
||||
if not context.get('call_unlink',False):
|
||||
@@ -2211,7 +2207,6 @@ class stock_move(osv.osv):
|
||||
if all(move.state == 'cancel' for move in pick.move_lines):
|
||||
self.pool.get('stock.picking').write(cr, uid, [pick.id], {'state': 'cancel'})
|
||||
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
wf_service.trg_trigger(uid, 'stock.move', id, cr)
|
||||
return True
|
||||
@@ -2633,7 +2628,6 @@ class stock_move(osv.osv):
|
||||
product_obj = self.pool.get('product.product')
|
||||
currency_obj = self.pool.get('res.currency')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
@@ -2734,7 +2728,7 @@ class stock_move(osv.osv):
|
||||
res = cr.fetchall()
|
||||
if len(res) == len(move.picking_id.move_lines):
|
||||
picking_obj.action_move(cr, uid, [move.picking_id.id])
|
||||
wf_service.trg_validate(uid, 'stock.picking', move.picking_id.id, 'button_done', cr)
|
||||
picking_obj.signal_button_done(cr, uid, [move.picking_id.id])
|
||||
|
||||
return [move.id for move in complete]
|
||||
|
||||
@@ -2953,15 +2947,25 @@ class stock_picking_in(osv.osv):
|
||||
#override in order to redirect the check of acces rules on the stock.picking object
|
||||
return self.pool.get('stock.picking').check_access_rule(cr, uid, ids, operation, context=context)
|
||||
|
||||
def _workflow_trigger(self, cr, uid, ids, trigger, context=None):
|
||||
#override in order to trigger the workflow of stock.picking at the end of create, write and unlink operation
|
||||
#instead of it's own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking')._workflow_trigger(cr, uid, ids, trigger, context=context)
|
||||
def create_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').create_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def _workflow_signal(self, cr, uid, ids, signal, context=None):
|
||||
#override in order to fire the workflow signal on given stock.picking workflow instance
|
||||
#instead of it's own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking')._workflow_signal(cr, uid, ids, signal, context=context)
|
||||
def delete_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').delete_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def step_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').step_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def signal_workflow(self, cr, uid, ids, signal, context=None):
|
||||
# overridden in order to fire the workflow signal on given stock.picking workflow instance
|
||||
# instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').signal_workflow(cr, uid, ids, signal, context=context)
|
||||
|
||||
_columns = {
|
||||
'backorder_id': fields.many2one('stock.picking.in', 'Back Order of', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
|
||||
@@ -2998,15 +3002,25 @@ class stock_picking_out(osv.osv):
|
||||
#override in order to redirect the check of acces rules on the stock.picking object
|
||||
return self.pool.get('stock.picking').check_access_rule(cr, uid, ids, operation, context=context)
|
||||
|
||||
def _workflow_trigger(self, cr, uid, ids, trigger, context=None):
|
||||
#override in order to trigger the workflow of stock.picking at the end of create, write and unlink operation
|
||||
#instead of it's own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking')._workflow_trigger(cr, uid, ids, trigger, context=context)
|
||||
def create_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').create_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def _workflow_signal(self, cr, uid, ids, signal, context=None):
|
||||
#override in order to fire the workflow signal on given stock.picking workflow instance
|
||||
#instead of it's own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking')._workflow_signal(cr, uid, ids, signal, context=context)
|
||||
def delete_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').delete_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def step_workflow(self, cr, uid, ids, context=None):
|
||||
# overridden in order to trigger the workflow of stock.picking at the end of create,
|
||||
# write and unlink operation instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').step_workflow(cr, uid, ids, context=context)
|
||||
|
||||
def signal_workflow(self, cr, uid, ids, signal, context=None):
|
||||
# overridden in order to fire the workflow signal on given stock.picking workflow instance
|
||||
# instead of its own workflow (which is not existing)
|
||||
return self.pool.get('stock.picking').signal_workflow(cr, uid, ids, signal, context=context)
|
||||
|
||||
_columns = {
|
||||
'backorder_id': fields.many2one('stock.picking.out', 'Back Order of', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
|
||||
|
||||
@@ -151,7 +151,6 @@ class stock_return_picking(osv.osv_memory):
|
||||
data_obj = self.pool.get('stock.return.picking.memory')
|
||||
act_obj = self.pool.get('ir.actions.act_window')
|
||||
model_obj = self.pool.get('ir.model.data')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
pick = pick_obj.browse(cr, uid, record_id, context=context)
|
||||
data = self.read(cr, uid, ids[0], context=context)
|
||||
date_cur = time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
@@ -206,7 +205,7 @@ class stock_return_picking(osv.osv_memory):
|
||||
|
||||
if set_invoice_state_to_none:
|
||||
pick_obj.write(cr, uid, [pick.id], {'invoice_state':'none'}, context=context)
|
||||
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_confirm', cr)
|
||||
pick_obj.signal_button_confirm(cr, uid, [new_picking])
|
||||
pick_obj.force_assign(cr, uid, [new_picking], context)
|
||||
# Update view id in context, lp:702939
|
||||
model_list = {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user