[MERGE]: Merge with branch lp:~openerp-dev/openobject-addons/emails-framework-addons
bzr revid: rha@tinyerp.com-20110429095947-ccy7mtkxya1ssq5f
This commit is contained in:
@@ -2146,8 +2146,8 @@ class account_model_line(osv.osv):
|
||||
_description = "Account Model Entries"
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the resources from lower sequences to higher ones"),
|
||||
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Account'), help="The optional quantity on entries"),
|
||||
'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the resources from lower sequences to higher ones."),
|
||||
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Account'), help="The optional quantity on entries."),
|
||||
'debit': fields.float('Debit', digits_compute=dp.get_precision('Account')),
|
||||
'credit': fields.float('Credit', digits_compute=dp.get_precision('Account')),
|
||||
'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade"),
|
||||
@@ -2156,7 +2156,7 @@ class account_model_line(osv.osv):
|
||||
'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency."),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'date_maturity': fields.selection([('today','Date of the day'), ('partner','Partner Payment Term')], 'Maturity date', help="The maturity date of the generated entries for this model. You can choose between the creation date or the creation date of the entries plus the partner payment terms."),
|
||||
'date_maturity': fields.selection([('today','Date of the day'), ('partner','Partner Payment Term')], 'Maturity Date', help="The maturity date of the generated entries for this model. You can choose between the creation date or the creation date of the entries plus the partner payment terms."),
|
||||
}
|
||||
_order = 'sequence'
|
||||
_sql_constraints = [
|
||||
|
||||
@@ -32,7 +32,7 @@ class account_analytic_line(osv.osv):
|
||||
'product_uom_id': fields.many2one('product.uom', 'UoM'),
|
||||
'product_id': fields.many2one('product.product', 'Product'),
|
||||
'general_account_id': fields.many2one('account.account', 'General Account', required=True, ondelete='restrict'),
|
||||
'move_id': fields.many2one('account.move.line', 'Move Line', ondelete='restrict', select=True),
|
||||
'move_id': fields.many2one('account.move.line', 'Move Line', ondelete='cascade', select=True),
|
||||
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal', required=True, ondelete='restrict', select=True),
|
||||
'code': fields.char('Code', size=8),
|
||||
'ref': fields.char('Ref.', size=64),
|
||||
|
||||
@@ -161,6 +161,7 @@ class account_bank_statement(osv.osv):
|
||||
'balance_start': _default_balance_start,
|
||||
'journal_id': _default_journal_id,
|
||||
'period_id': _get_period,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.bank.statement',context=c),
|
||||
}
|
||||
|
||||
def onchange_date(self, cr, user, ids, date, context=None):
|
||||
|
||||
@@ -320,6 +320,7 @@ class account_cash_statement(osv.osv):
|
||||
""" Changes statement state to Running.
|
||||
@return: True
|
||||
"""
|
||||
obj_seq = self.pool.get('ir.sequence')
|
||||
if context is None:
|
||||
context = {}
|
||||
statement_pool = self.pool.get('account.bank.statement')
|
||||
@@ -329,15 +330,18 @@ class account_cash_statement(osv.osv):
|
||||
raise osv.except_osv(_('Error !'), (_('User %s does not have rights to access %s journal !') % (statement.user_id.name, statement.journal_id.name)))
|
||||
|
||||
if statement.name and statement.name == '/':
|
||||
number = self.pool.get('ir.sequence').get(cr, uid, 'account.cash.statement')
|
||||
if statement.journal_id.sequence_id:
|
||||
c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id}
|
||||
st_number = obj_seq.get_id(cr, uid, statement.journal_id.sequence_id.id, context=c)
|
||||
else:
|
||||
st_number = obj_seq.get(cr, uid, 'account.cash.statement')
|
||||
vals.update({
|
||||
'name': number
|
||||
'name': st_number
|
||||
})
|
||||
|
||||
vals.update({
|
||||
'date': time.strftime("%Y-%m-%d %H:%M:%S"),
|
||||
'state': 'open',
|
||||
|
||||
})
|
||||
self.write(cr, uid, [statement.id], vals, context=context)
|
||||
return True
|
||||
|
||||
@@ -454,7 +454,7 @@
|
||||
</group>
|
||||
<group colspan="2" col="2" groups="base.group_extended">
|
||||
<separator string="Sequence" colspan="4"/>
|
||||
<field name="sequence_id" required="0"/>
|
||||
<field name="sequence_id"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Entry Controls" groups="base.group_extended">
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-03 09:24+0000\n"
|
||||
"PO-Revision-Date: 2011-04-21 05:36+0000\n"
|
||||
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-04 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-22 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -911,7 +911,7 @@ msgstr "Erzeuge 3 Monats Periode"
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
msgid "Due"
|
||||
msgstr "fällig am"
|
||||
msgstr "Fällig"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
@@ -2664,7 +2664,7 @@ msgstr ""
|
||||
#: model:ir.actions.server,name:account.ir_actions_server_action_wizard_multi_chart
|
||||
#: model:ir.ui.menu,name:account.menu_act_ir_actions_bleble
|
||||
msgid "New Company Financial Setting"
|
||||
msgstr "Basiskonfiguration Unternehmen"
|
||||
msgstr "Neue Firma Financial Rahmen"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all
|
||||
@@ -4014,7 +4014,7 @@ msgstr "Fällige Analytische Konten"
|
||||
#: selection:account.invoice,state:0
|
||||
#: report:account.overdue:0
|
||||
msgid "Paid"
|
||||
msgstr "bezahlt am"
|
||||
msgstr "bezahlt"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,tax_line:0
|
||||
@@ -4189,7 +4189,7 @@ msgstr "Storniere Abschreibung"
|
||||
#: field:account.model.line,date_maturity:0
|
||||
#: report:account.overdue:0
|
||||
msgid "Maturity date"
|
||||
msgstr "Fälligkeitstermin"
|
||||
msgstr "Datum Fällig"
|
||||
|
||||
#. module: account
|
||||
#: view:report.account.receivable:0
|
||||
@@ -7355,7 +7355,7 @@ msgstr "Manueller Kontenausgleich"
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
msgid "Total amount due:"
|
||||
msgstr "Gesamtbetrag (fällig):"
|
||||
msgstr "Gesamtbetrag fällig:"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.chart,to_date:0
|
||||
@@ -8741,7 +8741,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: report:account.overdue:0
|
||||
msgid "Best regards."
|
||||
msgstr "Viele Grüsse."
|
||||
msgstr "Beste Grüsse."
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-02-02 10:14+0000\n"
|
||||
"Last-Translator: Alberto Luengo Cabanillas (Pexego) <alberto@pexego.es>\n"
|
||||
"PO-Revision-Date: 2011-04-27 15:37+0000\n"
|
||||
"Last-Translator: Xosé <Unknown>\n"
|
||||
"Language-Team: Galician <gl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-18 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-28 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -2140,7 +2140,7 @@ msgstr ""
|
||||
#: field:analytic.entries.report,name:0
|
||||
#: field:report.invoice.created,name:0
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
msgstr "Descrición"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:2844
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-08 21:39+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-04-21 21:39+0000\n"
|
||||
"Last-Translator: Nédio Batista Marques <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-18 04:56+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-22 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -1843,7 +1843,7 @@ msgstr "Registros por Linha"
|
||||
#. module: account
|
||||
#: report:account.tax.code.entries:0
|
||||
msgid "A/c Code"
|
||||
msgstr ""
|
||||
msgstr "Código A/C"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,move_id:0
|
||||
@@ -2707,6 +2707,8 @@ msgid ""
|
||||
"The statement balance is incorrect !\n"
|
||||
"The expected balance (%.2f) is different than the computed one. (%.2f)"
|
||||
msgstr ""
|
||||
"O saldo final do extrato está incorreto!\n"
|
||||
"O saldo experado (%.2f) é diferente do saldo calculado (%.2f)"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_paymentreconcile0
|
||||
@@ -4150,7 +4152,7 @@ msgstr "Extratos Bancários são lançados no sistema."
|
||||
#: code:addons/account/wizard/account_reconcile.py:133
|
||||
#, python-format
|
||||
msgid "Reconcile Writeoff"
|
||||
msgstr ""
|
||||
msgstr "Reconcílie a amortização"
|
||||
|
||||
#. module: account
|
||||
#: field:account.model.line,date_maturity:0
|
||||
@@ -4956,7 +4958,7 @@ msgstr "Permite cancelar lançamentos"
|
||||
#. module: account
|
||||
#: field:account.tax.code,sign:0
|
||||
msgid "Coefficent for parent"
|
||||
msgstr ""
|
||||
msgstr "Coeficiente para conta principal"
|
||||
|
||||
#. module: account
|
||||
#: report:account.partner.balance:0
|
||||
|
||||
+27
-23
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-20 16:41+0000\n"
|
||||
"PO-Revision-Date: 2011-04-15 19:34+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-21 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-16 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -2890,7 +2890,7 @@ msgstr "Вид"
|
||||
#: code:addons/account/account.py:2951
|
||||
#, python-format
|
||||
msgid "BNK%s"
|
||||
msgstr ""
|
||||
msgstr "БНК%s"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:2906
|
||||
@@ -3751,7 +3751,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.tax.template:0
|
||||
msgid "Search Tax Templates"
|
||||
msgstr ""
|
||||
msgstr "Искать шаблоны налогов"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.periodical_processing_journal_entries_validation
|
||||
@@ -4547,7 +4547,7 @@ msgstr ""
|
||||
#: code:addons/account/account.py:940
|
||||
#, python-format
|
||||
msgid "Start period should be smaller then End period"
|
||||
msgstr ""
|
||||
msgstr "Начало периода должно быть меньше, чем конец периода"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.automatic.reconcile,power:0
|
||||
@@ -5090,7 +5090,7 @@ msgstr "Количество"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Number (Move)"
|
||||
msgstr ""
|
||||
msgstr "Номер (перемещение)"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.refund:0
|
||||
@@ -5164,7 +5164,7 @@ msgstr "Фиксированная величина"
|
||||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
msgid "Valid Up to"
|
||||
msgstr ""
|
||||
msgstr "Действительно до"
|
||||
|
||||
#. module: account
|
||||
#: view:board.board:0
|
||||
@@ -5191,7 +5191,7 @@ msgstr ""
|
||||
#: model:ir.actions.act_window,name:account.action_account_fiscalyear_close
|
||||
#: model:ir.ui.menu,name:account.menu_wizard_fy_close
|
||||
msgid "Generate Opening Entries"
|
||||
msgstr ""
|
||||
msgstr "Генерировать открывающие проводки"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:738
|
||||
@@ -5261,7 +5261,7 @@ msgstr "Поставщик"
|
||||
#: selection:report.account.sales,month:0
|
||||
#: selection:report.account_type.sales,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "Март"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account.template:0
|
||||
@@ -5370,7 +5370,7 @@ msgstr "# строк"
|
||||
#: code:addons/account/wizard/account_change_currency.py:60
|
||||
#, python-format
|
||||
msgid "New currency is not confirured properly !"
|
||||
msgstr ""
|
||||
msgstr "Новая валюта неправильно настроена !"
|
||||
|
||||
#. module: account
|
||||
#: field:account.aged.trial.balance,filter:0
|
||||
@@ -5624,7 +5624,7 @@ msgstr "Настройка отчетов"
|
||||
#. module: account
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be same for its related account and period."
|
||||
msgstr ""
|
||||
msgstr "Для счета и периода должна быть одна компания."
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,type:0
|
||||
@@ -5927,7 +5927,7 @@ msgstr ""
|
||||
#: code:addons/account/wizard/account_report_aged_partner_balance.py:57
|
||||
#, python-format
|
||||
msgid "Enter a Start date !"
|
||||
msgstr ""
|
||||
msgstr "Введите дату начала !"
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
@@ -6141,6 +6141,8 @@ msgid ""
|
||||
"This account will be used instead of the default one as the receivable "
|
||||
"account for the current partner"
|
||||
msgstr ""
|
||||
"Этот счет будет использоваться, вместо счета по умолчанию, для дебиторской "
|
||||
"задолженности по текущему контрагенту."
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,python_applicable:0
|
||||
@@ -6315,13 +6317,13 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.journal.select:0
|
||||
msgid "Journal Select"
|
||||
msgstr ""
|
||||
msgstr "Выбор журнала"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_change_currency.py:65
|
||||
#, python-format
|
||||
msgid "Currnt currency is not confirured properly !"
|
||||
msgstr ""
|
||||
msgstr "Текущая валюта неправильно настроена !"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_reconcile
|
||||
@@ -6468,7 +6470,7 @@ msgstr "Выполнено"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_invoicemanually0
|
||||
msgid "A statement with manual entries becomes a draft statement."
|
||||
msgstr ""
|
||||
msgstr "Документ с проводками вручную становится черновиком."
|
||||
|
||||
#. module: account
|
||||
#: view:account.aged.trial.balance:0
|
||||
@@ -6782,7 +6784,7 @@ msgstr "Отчетность"
|
||||
#. module: account
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The code of the journal must be unique per company !"
|
||||
msgstr ""
|
||||
msgstr "Код журнала должен быть уникальным для компании !"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement,ending_details_ids:0
|
||||
@@ -6822,7 +6824,7 @@ msgstr "Домен"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_use_model
|
||||
msgid "Use model"
|
||||
msgstr ""
|
||||
msgstr "Использовать модель"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_moves_purchase
|
||||
@@ -7417,7 +7419,7 @@ msgstr "Банковские и кассовые счета"
|
||||
#: view:account.invoice.report:0
|
||||
#: field:account.invoice.report,residual:0
|
||||
msgid "Total Residual"
|
||||
msgstr ""
|
||||
msgstr "Общий остаток"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,note:account.process_node_invoiceinvoice0
|
||||
@@ -7798,6 +7800,8 @@ msgstr "Поставщики"
|
||||
msgid ""
|
||||
"You cannot create more than one move per period on centralized journal"
|
||||
msgstr ""
|
||||
"Вы не можете создать больше одного действия за период по централизованному "
|
||||
"журналу."
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
@@ -8488,7 +8492,7 @@ msgstr ""
|
||||
#: model:process.node,note:account.process_node_manually0
|
||||
#: model:process.transition,name:account.process_transition_invoicemanually0
|
||||
msgid "Manual entry"
|
||||
msgstr ""
|
||||
msgstr "Проводка вручную"
|
||||
|
||||
#. module: account
|
||||
#: report:account.general.ledger:0
|
||||
@@ -8697,7 +8701,7 @@ msgstr "Не сверенные"
|
||||
#: code:addons/account/invoice.py:804
|
||||
#, python-format
|
||||
msgid "Bad total !"
|
||||
msgstr ""
|
||||
msgstr "Плохой итог !"
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,sequence_id:0
|
||||
@@ -9200,7 +9204,7 @@ msgstr "Определить повторяющиеся проводки"
|
||||
#. module: account
|
||||
#: field:account.entries.report,date_maturity:0
|
||||
msgid "Date Maturity"
|
||||
msgstr ""
|
||||
msgstr "Дата погашения"
|
||||
|
||||
#. module: account
|
||||
#: help:account.bank.statement,total_entry_encoding:0
|
||||
@@ -9228,7 +9232,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_balance_report
|
||||
msgid "Trial Balance Report"
|
||||
msgstr ""
|
||||
msgstr "Балансовый отчет"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
|
||||
|
||||
+113
-72
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-01-23 22:42+0000\n"
|
||||
"Last-Translator: Ahmet Altınışık <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-04-27 21:47+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-18 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-28 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
@@ -39,8 +39,8 @@ msgid ""
|
||||
"You cannot remove/deactivate an account which is set as a property to any "
|
||||
"Partner."
|
||||
msgstr ""
|
||||
"You cannot remove/deactivate an account which is set as a property to any "
|
||||
"Partner."
|
||||
"Herhangi bir Ortağa bir özellik olarak ayarlanmış bir hesabı "
|
||||
"kaldıramaz/durdurmazsınız."
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.reconcile:0
|
||||
@@ -50,7 +50,7 @@ msgstr "Yevmiye Kaydını Mutabakatla"
|
||||
#. module: account
|
||||
#: field:account.installer.modules,account_voucher:0
|
||||
msgid "Voucher Management"
|
||||
msgstr "Çek Yönetimi"
|
||||
msgstr "Fiş Yönetimi"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
@@ -75,7 +75,7 @@ msgstr "Lütfen fatura dizisi tanımlayınız"
|
||||
#. module: account
|
||||
#: constraint:account.period:0
|
||||
msgid "Error ! The duration of the Period(s) is/are invalid. "
|
||||
msgstr "Hata! Dönem bilgisi hatalı "
|
||||
msgstr "Hata! Dönem(ler)in süresi geçersiz. "
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.line,currency_id:0
|
||||
@@ -95,7 +95,7 @@ msgstr "Bugüne kadarki Yaşlandırılmış Alacak"
|
||||
#. module: account
|
||||
#: field:account.partner.ledger,reconcil:0
|
||||
msgid "Include Reconciled Entries"
|
||||
msgstr "Mutabakatlı girişler dahil"
|
||||
msgstr "Mutabakatlı girişleri içer"
|
||||
|
||||
#. module: account
|
||||
#: view:account.pl.report:0
|
||||
@@ -103,7 +103,7 @@ msgid ""
|
||||
"The Profit and Loss report gives you an overview of your company profit and "
|
||||
"loss in a single document"
|
||||
msgstr ""
|
||||
"Kar / Zarar raporu, tek sayfada şirketinizin kar ve zarar durumu ile ilgili "
|
||||
"Kar ve Zarar raporu, tek sayfada şirketinizin kar ve zarar durumu ile ilgili "
|
||||
"bilgi sunar."
|
||||
|
||||
#. module: account
|
||||
@@ -114,7 +114,7 @@ msgstr "Fatura ya da ödemeden içe aktar"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
|
||||
msgid "wizard.multi.charts.accounts"
|
||||
msgstr "wizard.multi.charts.accounts"
|
||||
msgstr "sihirbaz.çoklu.plan.hesaplar"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move:0
|
||||
@@ -127,8 +127,8 @@ msgid ""
|
||||
"If you unreconciliate transactions, you must also verify all the actions "
|
||||
"that are linked to those transactions because they will not be disabled"
|
||||
msgstr ""
|
||||
"If you unreconciliate transactions, you must also verify all the actions "
|
||||
"that are linked to those transactions because they will not be disabled"
|
||||
"Bir işlemin uzlaşmasını kaldırdığınızda, o işleme bağlı eylemler devre dışı "
|
||||
"bırakılmayacağı için o işleme bağlı bütün eylemleri de kontrol etmelisiniz."
|
||||
|
||||
#. module: account
|
||||
#: report:account.tax.code.entries:0
|
||||
@@ -139,7 +139,7 @@ msgstr "Muhasebe Girdileri-"
|
||||
#: code:addons/account/account.py:1291
|
||||
#, python-format
|
||||
msgid "You can not delete posted movement: \"%s\"!"
|
||||
msgstr "You can not delete posted movement: \"%s\"!"
|
||||
msgstr "İşlenmiş hareketleri sizmezsiniz: \"%s\"!"
|
||||
|
||||
#. module: account
|
||||
#: report:account.invoice:0
|
||||
@@ -155,7 +155,7 @@ msgstr "Menşei"
|
||||
#: view:account.move.line.reconcile:0
|
||||
#: view:account.move.line.reconcile.writeoff:0
|
||||
msgid "Reconcile"
|
||||
msgstr "Reconcile"
|
||||
msgstr "Mutabakat"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement.line,ref:0
|
||||
@@ -177,9 +177,7 @@ msgstr "Mali Yılı Seçin "
|
||||
msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the payment "
|
||||
"term without removing it."
|
||||
msgstr ""
|
||||
"'Aktif' seçeneği işaretli değilse, ödeme bilgilerini silmeden gizlemenize "
|
||||
"izin verir."
|
||||
msgstr "Aktif seçeneği seçili değilse, Ödeme şartları silmeden gizlenir."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/invoice.py:1421
|
||||
@@ -196,12 +194,12 @@ msgstr "Hesap Kaynağı"
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
|
||||
msgid "All Analytic Entries"
|
||||
msgstr "Bütün Analiz girişleri"
|
||||
msgstr "Bütün Analitik hareketler"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
|
||||
msgid "Invoices Created Within Past 15 Days"
|
||||
msgstr "Son 15 günde yaratılmış faturalar"
|
||||
msgstr "Son 15 Günde Oluşturulmuş Faturalar"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,sign:0
|
||||
@@ -221,9 +219,9 @@ msgid ""
|
||||
"invoice) to create analytic entries, OpenERP will look for a matching "
|
||||
"journal of the same type."
|
||||
msgstr ""
|
||||
"Gives the type of the analytic journal. When it needs for a document (eg: an "
|
||||
"invoice) to create analytic entries, OpenERP will look for a matching "
|
||||
"journal of the same type."
|
||||
"Analitik yevmiye defterinin tipini belirtir. Bir belge için (ör: fatura) "
|
||||
"analitik giriş oluşturmak gerektiğinde OpenERP aynı tipe uyan yevmiye "
|
||||
"defteri arayacaktır."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
|
||||
@@ -234,7 +232,7 @@ msgstr "Vergi Şablonu"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax
|
||||
msgid "account.tax"
|
||||
msgstr "account.tax"
|
||||
msgstr "muhasebe.vergi"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:901
|
||||
@@ -243,13 +241,13 @@ msgid ""
|
||||
"No period defined for this date: %s !\n"
|
||||
"Please create a fiscal year."
|
||||
msgstr ""
|
||||
"Bu tarih için dönem tanımlanmadı: ( %s )\n"
|
||||
"Lütfen mali yıl yaratınız."
|
||||
"Bu tarih için dönem belirtilmedi: %s !\n"
|
||||
"Lütfen bir mali yıl oluşturun."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_line_reconcile_select
|
||||
msgid "Move line reconcile select"
|
||||
msgstr "Move line reconcile select"
|
||||
msgstr "Seçilen mutabakat satırını taşı"
|
||||
|
||||
#. module: account
|
||||
#: help:account.model.line,sequence:0
|
||||
@@ -257,8 +255,7 @@ msgid ""
|
||||
"The sequence field is used to order the resources from lower sequences to "
|
||||
"higher ones"
|
||||
msgstr ""
|
||||
"The sequence field is used to order the resources from lower sequences to "
|
||||
"higher ones"
|
||||
"Sıra alanı, kaynakları küçükten büyüğe doğru sıralamak için kullanılır."
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.code,notprintable:0
|
||||
@@ -267,24 +264,24 @@ msgid ""
|
||||
"Check this box if you don't want any VAT related to this Tax Code to appear "
|
||||
"on invoices"
|
||||
msgstr ""
|
||||
"Check this box if you don't want any VAT related to this Tax Code to appear "
|
||||
"on invoices"
|
||||
"Faturalarda bu Vergi Koduyla ilintili KDV görünmesini istemiyorsanız bu "
|
||||
"kutuyu işaretleyin."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/invoice.py:1210
|
||||
#, python-format
|
||||
msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)"
|
||||
msgstr "'%s' faturası parçalı öndendi: (Ödenen %s%s Toplam %s%s Kalan %s%s)"
|
||||
msgstr "'%s' nolu fatura kısmen ödendi: (Ödenen %s%s Toplam %s%s Kalan %s%s)"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_supplierentriesreconcile0
|
||||
msgid "Accounting entries are an input of the reconciliation."
|
||||
msgstr "Accounting entries are an input of the reconciliation."
|
||||
msgstr "Hesap girişleri uzlaşmaya ait girişlerdir."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports
|
||||
msgid "Belgian Reports"
|
||||
msgstr "Belgian Reports"
|
||||
msgstr "Belçika Raporları"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1176
|
||||
@@ -302,7 +299,7 @@ msgstr "Hesaplanan bakiye"
|
||||
#: model:ir.actions.act_window,name:account.action_view_account_use_model
|
||||
#: model:ir.ui.menu,name:account.menu_action_manual_recurring
|
||||
msgid "Manual Recurring"
|
||||
msgstr "Manual Recurring"
|
||||
msgstr "El ile Yineleme"
|
||||
|
||||
#. module: account
|
||||
#: view:account.fiscalyear.close.state:0
|
||||
@@ -312,7 +309,7 @@ msgstr "Mali Yılı Kapat"
|
||||
#. module: account
|
||||
#: field:account.automatic.reconcile,allow_write_off:0
|
||||
msgid "Allow write off"
|
||||
msgstr "Allow write off"
|
||||
msgstr "Borcu silmeye izin ver"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.chart:0
|
||||
@@ -322,7 +319,7 @@ msgstr "Analiz için dönem seçin"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "St."
|
||||
msgstr "St."
|
||||
msgstr "Ara Toplam"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/invoice.py:529
|
||||
@@ -341,8 +338,8 @@ msgid ""
|
||||
"Installs localized accounting charts to match as closely as possible the "
|
||||
"accounting needs of your company based on your country."
|
||||
msgstr ""
|
||||
"Installs localized accounting charts to match as closely as possible the "
|
||||
"accounting needs of your company based on your country."
|
||||
"Ülkenizde kullanılan hesap planına en uygun yerelleştirilmiş hesap planını "
|
||||
"kurar."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_move_journal.py:63
|
||||
@@ -391,16 +388,20 @@ msgid ""
|
||||
"OpenERP. Journal items are created by OpenERP if you use Bank Statements, "
|
||||
"Cash Registers, or Customer/Supplier payments."
|
||||
msgstr ""
|
||||
"Bu görünüm, OpenERP de kayıtların toplu olarak girilmesi için muhasebeciler "
|
||||
"tarafından kullanılır. Banka Hesap Özetleri, Kasa Kayıtları, veya "
|
||||
"Müşteri/Satıcı ödemelerine ait yevmiye girişleri OpenERP tarafından "
|
||||
"oluşturulur."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax_template
|
||||
msgid "account.tax.template"
|
||||
msgstr "account.tax.template"
|
||||
msgstr "muhasebe.vergi.şablonu"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_bank_accounts_wizard
|
||||
msgid "account.bank.accounts.wizard"
|
||||
msgstr "account.bank.accounts.wizard"
|
||||
msgstr "muhasebe.banka.hesap.sihirbazı"
|
||||
|
||||
#. module: account
|
||||
#: field:account.move.line,date_created:0
|
||||
@@ -421,7 +422,7 @@ msgstr "Açma/Kapama Durumu"
|
||||
#. module: account
|
||||
#: help:account.journal,currency:0
|
||||
msgid "The currency used to enter statement"
|
||||
msgstr "The currency used to enter statement"
|
||||
msgstr "hesap özeti girişi için kullanılacak para birimi"
|
||||
|
||||
#. module: account
|
||||
#: field:account.open.closed.fiscalyear,fyear_id:0
|
||||
@@ -434,8 +435,8 @@ msgid ""
|
||||
"This field contains the informatin related to the numbering of the journal "
|
||||
"entries of this journal."
|
||||
msgstr ""
|
||||
"This field contains the informatin related to the numbering of the journal "
|
||||
"entries of this journal."
|
||||
"Bu Alan, bu yevmiyenin yevmiye girişleri numaralandırılmasıyla ilintili "
|
||||
"bilgi içerir."
|
||||
|
||||
#. module: account
|
||||
#: field:account.journal,default_debit_account_id:0
|
||||
@@ -467,7 +468,7 @@ msgstr "Hesap Planı Şablonu"
|
||||
#. module: account
|
||||
#: help:account.model.line,amount_currency:0
|
||||
msgid "The amount expressed in an optional other currency."
|
||||
msgstr "The amount expressed in an optional other currency."
|
||||
msgstr "Tutar, seçmeli olarak başka bir para birimiyle beliritlebilir."
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal.period,state:0
|
||||
@@ -476,9 +477,9 @@ msgid ""
|
||||
"it comes to 'Printed' state. When all transactions are done, it comes in "
|
||||
"'Done' state."
|
||||
msgstr ""
|
||||
"When journal period is created. The state is 'Draft'. If a report is printed "
|
||||
"it comes to 'Printed' state. When all transactions are done, it comes in "
|
||||
"'Done' state."
|
||||
"Yevmiye dönemi oluşturulduğunda, durum 'Taslak' tır. Bir rapor "
|
||||
"yazdırıldığındadurum 'Yazdırılmış' halini alır. Bütün işlemlemler "
|
||||
"tamamalandığında durum 'Tamamlandı' halini alır."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_tax_chart
|
||||
@@ -488,6 +489,10 @@ msgid ""
|
||||
"amount of each area of the tax declaration for your country. It’s presented "
|
||||
"in a hierarchical structure, which can be modified to fit your needs."
|
||||
msgstr ""
|
||||
"Vergi Tablosu, Vergi Durumlarını (veya vergi kodlarını) gösteren bir ağaç "
|
||||
"görünümüdür ve geçerli vergi durumunu belirtir. Vergi Tablosu, ülkenize ait "
|
||||
"vergi tutarlarını gösterir. Gereksinimlerinize göre uyarlayabileceğiniz bir "
|
||||
"sıradüzenli yapıdadır."
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.line:0
|
||||
@@ -531,12 +536,12 @@ msgstr "Seçili faturaları onayla"
|
||||
#. module: account
|
||||
#: field:account.addtmpl.wizard,cparent_id:0
|
||||
msgid "Parent target"
|
||||
msgstr "Hedef Cari"
|
||||
msgstr "Ana Hedef"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement,account_id:0
|
||||
msgid "Account used in this journal"
|
||||
msgstr "Cari bu yevmiyede kullanıldı"
|
||||
msgstr "Bu yevmiyede kullanılan hesap"
|
||||
|
||||
#. module: account
|
||||
#: help:account.aged.trial.balance,chart_account_id:0
|
||||
@@ -575,7 +580,7 @@ msgstr "Li."
|
||||
#. module: account
|
||||
#: field:account.automatic.reconcile,unreconciled:0
|
||||
msgid "Not reconciled transactions"
|
||||
msgstr "Hareketler için mutabakat yapılmadı"
|
||||
msgstr "Mutabakat yapılmayan hareketler"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_cash_statement.py:348
|
||||
@@ -599,7 +604,7 @@ msgstr "Bir Mali Yılı Kapat"
|
||||
#. module: account
|
||||
#: model:process.transition,note:account.process_transition_confirmstatementfromdraft0
|
||||
msgid "The accountant confirms the statement."
|
||||
msgstr "The accountant confirms the statement."
|
||||
msgstr "Muhasebeci hesap özetini onaylar."
|
||||
|
||||
#. module: account
|
||||
#: selection:account.balance.report,display_account:0
|
||||
@@ -1123,6 +1128,10 @@ msgid ""
|
||||
"purchase orders or receipts. This way, you can control the invoice from your "
|
||||
"supplier according to what you purchased or received."
|
||||
msgstr ""
|
||||
"Satıcı Faturaları ile satıcılarınızın kestiği faturaları girip "
|
||||
"işleyebilirsiniz. OpenERP, satınalma siparişlerinden veya satıanalma "
|
||||
"fişlerinden taslak faturalar da oluşturabilir. Bu yolla siz de satıcı "
|
||||
"faturalarını satıalınan ve teslim alınan mala göre kontrol edebilirsainiz."
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.cancel:0
|
||||
@@ -1403,6 +1412,8 @@ msgid ""
|
||||
"entry per accounting document: invoice, refund, supplier payment, bank "
|
||||
"statements, etc."
|
||||
msgstr ""
|
||||
"Borç ya da alacak işlemi olmak üzere bir çok yevmiye kalemi içeren Yevmiye "
|
||||
"Girişidir. Her hesap belgesi için OpenERP bir tek Yevmiye girişi oluşturur."
|
||||
|
||||
#. module: account
|
||||
#: view:account.entries.report:0
|
||||
@@ -1547,6 +1558,11 @@ msgid ""
|
||||
"the Payment column of a line, you can press F1 to open the reconciliation "
|
||||
"form."
|
||||
msgstr ""
|
||||
"Banka hesap özeti, belirli bir tarih aralığında, bir mevduat hesabında, "
|
||||
"kredi kartı hesabında veya herhangi bir finansal hesapta yapılan mali "
|
||||
"işlemlerin özetidir. Açılış bakiyesi otomatik olarak belirir ve özette "
|
||||
"kapanış bakiyesi degörülmelidir. Bir satırda Ödeme kolonunda iken F1 basarak "
|
||||
"Uzlaşm Formunu açabilirsiniz."
|
||||
|
||||
#. module: account
|
||||
#: report:account.analytic.account.cost_ledger:0
|
||||
@@ -1654,6 +1670,9 @@ msgid ""
|
||||
"Have a complete tree view of all journal items per account code by clicking "
|
||||
"on an account."
|
||||
msgstr ""
|
||||
"Şirket Hesap Planı, her mali yıl için ve arama süzgeci dönemsel aramaya "
|
||||
"ayarlı olarak görünür. Bir hesaba tıklayarak o hesaba ait bütün yevmiye "
|
||||
"girişlerinin ağaç görünümü elde edilir."
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.fiscalyear:0
|
||||
@@ -1786,7 +1805,7 @@ msgstr "Reserve And Profit/Loss Account"
|
||||
#. module: account
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr ""
|
||||
msgstr "Hesap girişindeki Alacak / Borç değeri hatalı !"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
@@ -1834,7 +1853,7 @@ msgstr "Sub Total"
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
msgid "Treasury Analysis"
|
||||
msgstr ""
|
||||
msgstr "Maliye İncelemesi"
|
||||
|
||||
#. module: account
|
||||
#: constraint:res.company:0
|
||||
@@ -1953,6 +1972,7 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the tax "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Aktif alan Yanlışa ayarlıysa, vergiyi silmeden gizlemenize izin verir."
|
||||
|
||||
#. module: account
|
||||
#: help:account.bank.statement,name:0
|
||||
@@ -2033,6 +2053,8 @@ msgid ""
|
||||
"Invalid period ! Some periods overlap or the date period is not in the scope "
|
||||
"of the fiscal year. "
|
||||
msgstr ""
|
||||
"Geçersiz dönem ! Bazı dönemler çakışıyor veya mali yıl tarih dönemini "
|
||||
"kapsamıyor. "
|
||||
|
||||
#. module: account
|
||||
#: selection:account.invoice,state:0
|
||||
@@ -2046,7 +2068,7 @@ msgstr "Pro-forma"
|
||||
#: code:addons/account/installer.py:348
|
||||
#, python-format
|
||||
msgid " Journal"
|
||||
msgstr ""
|
||||
msgstr " Yevmiye"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:1319
|
||||
@@ -2055,6 +2077,8 @@ msgid ""
|
||||
"There is no default default debit account defined \n"
|
||||
"on journal \"%s\""
|
||||
msgstr ""
|
||||
"Yevmiyede \"%s\" \n"
|
||||
"Varsayılan borç hesabı tanımlanmamış"
|
||||
|
||||
#. module: account
|
||||
#: help:account.account,type:0
|
||||
@@ -2085,6 +2109,9 @@ msgid ""
|
||||
"certified Chart of Accounts exists for your specified country, a generic one "
|
||||
"can be installed and will be selected by default."
|
||||
msgstr ""
|
||||
"Varsayılan Hesap planı ülke seçiminize uyuyor. Belirlediğiniz ülke için "
|
||||
"onaylı Hesap Planı yoksa, genel bir hesap planı kurulur ve varsayılan "
|
||||
"seçilir."
|
||||
|
||||
#. module: account
|
||||
#: view:account.account.type:0
|
||||
@@ -2282,6 +2309,10 @@ msgid ""
|
||||
"You can create one in the menu: \n"
|
||||
"Configuration\\Financial Accounting\\Accounts\\Journals."
|
||||
msgstr ""
|
||||
"Bu firma için %s tipindehesap yevmiyesi bulunamadı\n"
|
||||
"\n"
|
||||
"Menüde bir tane oluşturabilirsiniz \n"
|
||||
"Konfigürason\\Mali Hesap\\Hesaplar\\evmiyeler."
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,base_code_id:0
|
||||
@@ -2312,6 +2343,11 @@ msgid ""
|
||||
"useful because it enables you to preview at any time the tax that you owe at "
|
||||
"the start and end of the month or quarter."
|
||||
msgstr ""
|
||||
"Bu menü, fatura ve ödemelere göre KDV beyanı yazdırır. Bir ya da birkaç mali "
|
||||
"yıl dönemi seçin. Vergi beyanı için gerekli bilgi OpenERP tarafından "
|
||||
"faturalardan (veya bazı ülkelerde ödemelerden) otomatik olarak çıkartılır. "
|
||||
"Bu bilgi gerçek zamana güncellenir. Bu bilgi, vergiyi ay başlarında ve ay "
|
||||
"sonlarında ya da üçer aylık sürelerde izleminiz açısından yararlıdır."
|
||||
|
||||
#. module: account
|
||||
#: selection:account.move.line,centralisation:0
|
||||
@@ -2397,7 +2433,7 @@ msgstr ""
|
||||
#: view:account.print.journal:0
|
||||
msgid ""
|
||||
"This report gives you an overview of the situation of a specific journal"
|
||||
msgstr ""
|
||||
msgstr "Bu rapor, belirli bir yevmiyenin durumuna gözatmanızı sağlar."
|
||||
|
||||
#. module: account
|
||||
#: constraint:product.category:0
|
||||
@@ -2724,7 +2760,7 @@ msgstr "Base Code Amount"
|
||||
#. module: account
|
||||
#: field:wizard.multi.charts.accounts,sale_tax:0
|
||||
msgid "Default Sale Tax"
|
||||
msgstr ""
|
||||
msgstr "Varsayılan Satış Vergisi"
|
||||
|
||||
#. module: account
|
||||
#: help:account.model.line,date_maturity:0
|
||||
@@ -2908,7 +2944,7 @@ msgstr "Görünüm"
|
||||
#: code:addons/account/account.py:2951
|
||||
#, python-format
|
||||
msgid "BNK%s"
|
||||
msgstr ""
|
||||
msgstr "BNK%s"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:2906
|
||||
@@ -3155,7 +3191,7 @@ msgstr "Faturada Yazılamaz"
|
||||
#: report:account.vat.declaration:0
|
||||
#: field:account.vat.declaration,chart_tax_id:0
|
||||
msgid "Chart of Tax"
|
||||
msgstr ""
|
||||
msgstr "Vergi Tablosu"
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
@@ -3260,7 +3296,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: report:account.general.ledger:0
|
||||
msgid "Counterpart"
|
||||
msgstr ""
|
||||
msgstr "Karşılık"
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
@@ -3514,7 +3550,7 @@ msgstr "Satıcılar Hesabı"
|
||||
#: constraint:account.move:0
|
||||
msgid ""
|
||||
"You cannot create entries on different periods/journals in the same move"
|
||||
msgstr ""
|
||||
msgstr "Aynı işlemde farklı dönemlere/yevmiyelere girişler oluşturamazsınız"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_supplierpaymentorder0
|
||||
@@ -3542,7 +3578,7 @@ msgstr "Unit Price"
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_tree1
|
||||
msgid "Analytic Items"
|
||||
msgstr ""
|
||||
msgstr "Çözümsel Kalemler"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_move_line.py:1128
|
||||
@@ -3560,7 +3596,7 @@ msgstr "#Entries"
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You selected an Unit of Measure which is not compatible with the product."
|
||||
msgstr ""
|
||||
msgstr "ürünle uyumlu olmayan bir Ölçü Birimi seçtiniz."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/invoice.py:473
|
||||
@@ -3695,6 +3731,7 @@ msgstr "Onayla"
|
||||
#: sql_constraint:account.model.line:0
|
||||
msgid "Wrong credit or debit value in model (Credit Or Debit Must Be \"0\")!"
|
||||
msgstr ""
|
||||
"Modelde yanlış alacak veya borç değeri (Alacak veya Borç \"0\" olmalı) !"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_invoice_report_all
|
||||
@@ -3771,7 +3808,7 @@ msgstr "Analytic Balance"
|
||||
#: code:addons/account/report/account_profit_loss.py:124
|
||||
#, python-format
|
||||
msgid "Net Loss"
|
||||
msgstr ""
|
||||
msgstr "Net Zarar"
|
||||
|
||||
#. module: account
|
||||
#: help:account.account,active:0
|
||||
@@ -3779,6 +3816,8 @@ msgid ""
|
||||
"If the active field is set to False, it will allow you to hide the account "
|
||||
"without removing it."
|
||||
msgstr ""
|
||||
"Aktif alan Yanlış olarak ayarlıysa, hesabı silmeden gizlemenize izin "
|
||||
"verecektir."
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax.template:0
|
||||
@@ -3975,7 +4014,7 @@ msgstr "Statement %s is confirmed, journal items are created."
|
||||
#. module: account
|
||||
#: constraint:account.fiscalyear:0
|
||||
msgid "Error! The duration of the Fiscal Year is invalid. "
|
||||
msgstr ""
|
||||
msgstr "Hata! Mali Yıl süresi geçersiz. "
|
||||
|
||||
#. module: account
|
||||
#: field:report.aged.receivable,name:0
|
||||
@@ -3990,7 +4029,7 @@ msgstr "Check if you want to display Accounts with 0 balance too."
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
msgid "Compute Code"
|
||||
msgstr ""
|
||||
msgstr "Kodu Hesapla"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account.template:0
|
||||
@@ -4096,7 +4135,7 @@ msgstr "Account Journal Select"
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Print Invoice"
|
||||
msgstr ""
|
||||
msgstr "Faturayı Yazdır"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax.template:0
|
||||
@@ -4146,6 +4185,8 @@ msgid ""
|
||||
"This will automatically configure your chart of accounts, bank accounts, "
|
||||
"taxes and journals according to the selected template"
|
||||
msgstr ""
|
||||
"Bu Hesap Planınızı, banka hesaplarınızı, vergilerinizi ve yevmiyeleri "
|
||||
"seçilen şablona uygun olarak otomatikmen yapılandıracaktır."
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,price_include:0
|
||||
@@ -4229,7 +4270,7 @@ msgstr "Closing balance based on cashBox"
|
||||
#: constraint:account.account:0
|
||||
#: constraint:account.tax.code:0
|
||||
msgid "Error ! You can not create recursive accounts."
|
||||
msgstr ""
|
||||
msgstr "Hata! Yinelen hesap oluşturamazsınız."
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.account:0
|
||||
@@ -4248,7 +4289,7 @@ msgstr "Generate Entries"
|
||||
#. module: account
|
||||
#: help:account.vat.declaration,chart_tax_id:0
|
||||
msgid "Select Charts of Taxes"
|
||||
msgstr ""
|
||||
msgstr "Vergi Tablosu seçin"
|
||||
|
||||
#. module: account
|
||||
#: view:account.fiscal.position:0
|
||||
@@ -9874,12 +9915,12 @@ msgstr "Maturity"
|
||||
#. module: account
|
||||
#: selection:account.aged.trial.balance,direction_selection:0
|
||||
msgid "Future"
|
||||
msgstr "Future"
|
||||
msgstr "İleri Tarihli İşlemler"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Search Journal Items"
|
||||
msgstr "Search Journal Items"
|
||||
msgstr "Yevmiye Maddelerini Araştır"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax,base_sign:0
|
||||
@@ -9891,7 +9932,7 @@ msgstr "Search Journal Items"
|
||||
#: help:account.tax.template,ref_tax_sign:0
|
||||
#: help:account.tax.template,tax_sign:0
|
||||
msgid "Usually 1 or -1."
|
||||
msgstr "Usually 1 or -1."
|
||||
msgstr "Genelde 1 veya -1"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_fiscal_position_account_template
|
||||
|
||||
@@ -22,8 +22,8 @@ import time
|
||||
|
||||
from osv import osv, fields
|
||||
|
||||
class account_analytic_Journal_report(osv.osv_memory):
|
||||
_name = 'account.analytic.Journal.report'
|
||||
class account_analytic_journal_report(osv.osv_memory):
|
||||
_name = 'account.analytic.journal.report'
|
||||
_description = 'Account Analytic Journal'
|
||||
|
||||
_columns = {
|
||||
@@ -52,5 +52,5 @@ class account_analytic_Journal_report(osv.osv_memory):
|
||||
'datas': datas,
|
||||
}
|
||||
|
||||
account_analytic_Journal_report()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
account_analytic_journal_report()
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<record id="account_analytic_journal_view" model="ir.ui.view">
|
||||
<field name="name">Account Analytic Journal</field>
|
||||
<field name="model">account.analytic.Journal.report</field>
|
||||
<field name="model">account.analytic.journal.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Period">
|
||||
@@ -24,7 +24,7 @@
|
||||
<record id="action_account_analytic_journal" model="ir.actions.act_window">
|
||||
<field name="name">Analytic Journal</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.analytic.Journal.report</field>
|
||||
<field name="res_model">account.analytic.journal.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="account_analytic_journal_view"/>
|
||||
@@ -42,4 +42,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -31,7 +31,7 @@ class account_aged_trial_balance(osv.osv_memory):
|
||||
_description = 'Account Aged Trial balance Report'
|
||||
|
||||
_columns = {
|
||||
'period_length':fields.integer('Period length (days)', required=True),
|
||||
'period_length':fields.integer('Period Length (days)', required=True),
|
||||
'direction_selection': fields.selection([('past','Past'),
|
||||
('future','Future')],
|
||||
'Analysis Direction', required=True),
|
||||
|
||||
@@ -30,11 +30,11 @@ class account_common_report(osv.osv_memory):
|
||||
_description = "Account Common Report"
|
||||
|
||||
_columns = {
|
||||
'chart_account_id': fields.many2one('account.account', 'Chart of account', help='Select Charts of Accounts', required=True, domain = [('parent_id','=',False)]),
|
||||
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal year', help='Keep empty for all open fiscal year'),
|
||||
'chart_account_id': fields.many2one('account.account', 'Chart of Account', help='Select Charts of Accounts', required=True, domain = [('parent_id','=',False)]),
|
||||
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', help='Keep empty for all open fiscal year'),
|
||||
'filter': fields.selection([('filter_no', 'No Filters'), ('filter_date', 'Date'), ('filter_period', 'Periods')], "Filter by", required=True),
|
||||
'period_from': fields.many2one('account.period', 'Start period'),
|
||||
'period_to': fields.many2one('account.period', 'End period'),
|
||||
'period_from': fields.many2one('account.period', 'Start Period'),
|
||||
'period_to': fields.many2one('account.period', 'End Period'),
|
||||
'journal_ids': fields.many2many('account.journal', 'account_common_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
|
||||
'date_from': fields.date("Start Date"),
|
||||
'date_to': fields.date("End Date"),
|
||||
|
||||
@@ -28,7 +28,7 @@ class account_common_account_report(osv.osv_memory):
|
||||
_columns = {
|
||||
'display_account': fields.selection([('bal_all','All'), ('bal_movement','With movements'),
|
||||
('bal_solde','With balance is not equal to 0'),
|
||||
],'Display accounts', required=True),
|
||||
],'Display Accounts', required=True),
|
||||
|
||||
}
|
||||
_defaults = {
|
||||
|
||||
@@ -28,10 +28,10 @@ class account_report_general_ledger(osv.osv_memory):
|
||||
|
||||
_columns = {
|
||||
'landscape': fields.boolean("Landscape Mode"),
|
||||
'initial_balance': fields.boolean("Include initial balances",
|
||||
'initial_balance': fields.boolean("Include Initial Balances",
|
||||
help='It adds initial balance row on report which display previous sum amount of debit/credit/balance'),
|
||||
'amount_currency': fields.boolean("With Currency", help="It adds the currency column if the currency is different then the company currency"),
|
||||
'sortby': fields.selection([('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], 'Sort By', required=True),
|
||||
'sortby': fields.selection([('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], 'Sort by', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'landscape': True,
|
||||
|
||||
@@ -30,10 +30,10 @@ class account_partner_ledger(osv.osv_memory):
|
||||
_description = 'Account Partner Ledger'
|
||||
|
||||
_columns = {
|
||||
'initial_balance': fields.boolean('Include initial balances',
|
||||
'initial_balance': fields.boolean('Include Initial Balances',
|
||||
help='It adds initial balance row on report which display previous sum amount of debit/credit/balance'),
|
||||
'reconcil': fields.boolean('Include Reconciled Entries', help='Consider reconciled entries'),
|
||||
'page_split': fields.boolean('One Partner Per Page', help='Display Ledger Report with One partner per page'),
|
||||
'page_split': fields.boolean('One Partner per Page', help='Display Ledger Report with One partner per page'),
|
||||
'amount_currency': fields.boolean("With Currency", help="It adds the currency column if the currency is different then the company currency"),
|
||||
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class account_print_journal(osv.osv_memory):
|
||||
_columns = {
|
||||
'sort_selection': fields.selection([('date', 'Date'),
|
||||
('ref', 'Reference Number'),],
|
||||
'Entries Sorted By', required=True),
|
||||
'Entries Sorted by', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'sort_selection': 'date',
|
||||
|
||||
@@ -28,7 +28,7 @@ class account_vat_declaration(osv.osv_memory):
|
||||
_columns = {
|
||||
'based_on': fields.selection([('invoices', 'Invoices'),
|
||||
('payments', 'Payments'),],
|
||||
'Based On', required=True),
|
||||
'Based on', required=True),
|
||||
'chart_tax_id': fields.many2one('account.tax.code', 'Chart of Tax', help='Select Charts of Taxes', required=True, domain = [('parent_id','=', False)]),
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Lithuanian translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-25 15:45+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Lithuanian <lt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-26 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account_accountant
|
||||
#: model:ir.module.module,description:account_accountant.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
"This module gives the admin user the access to all the accounting features "
|
||||
"like the journal\n"
|
||||
"items and the chart of accounts.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Šis modulis suteikia priėjimą administratoriui prie visų apskaitos "
|
||||
"galimybių, tokių kaip žurnalų\n"
|
||||
"eilutės ar sąskaitų planas.\n"
|
||||
" "
|
||||
|
||||
#. module: account_accountant
|
||||
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
|
||||
msgid "Accountant"
|
||||
msgstr "Apskaitininkas"
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="res_model">account.analytic.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('invoice_id','=',False),('to_invoice','!=',False)]</field>
|
||||
<field name="domain">[('invoice_id','=',False)]</field>
|
||||
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="menu_invoicing" groups="base.group_extended"/>
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
|
||||
"PO-Revision-Date: 2011-02-19 12:26+0000\n"
|
||||
"PO-Revision-Date: 2011-04-15 19:38+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-02-20 04:34+0000\n"
|
||||
"X-Generator: Launchpad (build 12351)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-16 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:analytic.plan.create.model:0
|
||||
@@ -154,6 +154,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"You can not create move line on receivable/payable account without partner"
|
||||
msgstr ""
|
||||
"Нельзя сделать действие по дебетовому/кредитовому счету без контрагента"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_sale_order_line
|
||||
@@ -361,7 +362,7 @@ msgstr "Счет 1 уровня"
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be same for its related account and period."
|
||||
msgstr ""
|
||||
msgstr "Для счета и периода должна быть одна компания."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,min_required:0
|
||||
|
||||
@@ -67,6 +67,8 @@ class budget_report(report_sxw.rml_parse):
|
||||
|
||||
context = {'wizard_date_from': d_from, 'wizard_date_to': d_to}
|
||||
for i in range(0, len(an_ids)):
|
||||
if not an_ids[i][0]:
|
||||
continue
|
||||
analytic_name = acc_analytic_obj.browse(self.cr, self.uid, [an_ids[i][0]])
|
||||
res={
|
||||
'b_id': '-1',
|
||||
|
||||
@@ -72,6 +72,8 @@ class budget_report(report_sxw.rml_parse):
|
||||
|
||||
context = {'wizard_date_from': d_from, 'wizard_date_to': d_to}
|
||||
for i in range(0, len(an_ids)):
|
||||
if not an_ids[i][0]:
|
||||
continue
|
||||
analytic_name = acc_analytic_obj.browse(self.cr, self.uid, [an_ids[i][0]])
|
||||
res={
|
||||
'b_id': '-1',
|
||||
|
||||
@@ -33,7 +33,9 @@ class payment_mode(osv.osv):
|
||||
required=True,help='Bank Account for the Payment Mode'),
|
||||
'journal': fields.many2one('account.journal', 'Journal', required=True,
|
||||
domain=[('type', 'in', ('bank','cash'))], help='Bank or Cash Journal for the Payment Mode'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'company_id': fields.many2one('res.company', 'Company',required=True),
|
||||
'partner_id':fields.related('company_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True,),
|
||||
|
||||
}
|
||||
_defaults = {
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
|
||||
@@ -49,6 +51,14 @@ class payment_mode(osv.osv):
|
||||
JOIN payment_mode pm ON (pm.bank_id = pb.id)
|
||||
WHERE pm.id = %s """, [payment_code])
|
||||
return [x[0] for x in cr.fetchall()]
|
||||
|
||||
def onchange_company_id (self, cr, uid, ids, company_id=False, context=None):
|
||||
result = {}
|
||||
if company_id:
|
||||
partner_id = self.pool.get('res.company').browse(cr, uid, company_id, context=context).partner_id.id
|
||||
result['partner_id'] = partner_id
|
||||
return {'value': result}
|
||||
|
||||
|
||||
payment_mode()
|
||||
|
||||
@@ -328,7 +338,7 @@ class payment_line(osv.osv):
|
||||
required=True, help='Payment amount in the partner currency'),
|
||||
'currency': fields.many2one('res.currency','Partner Currency', required=True),
|
||||
'company_currency': fields.many2one('res.currency', 'Company Currency', readonly=True),
|
||||
'bank_id': fields.many2one('res.partner.bank', 'Destination Bank account'),
|
||||
'bank_id': fields.many2one('res.partner.bank', 'Destination Bank Account'),
|
||||
'order_id': fields.many2one('payment.order', 'Order', required=True,
|
||||
ondelete='cascade', select=True),
|
||||
'partner_id': fields.many2one('res.partner', string="Partner", required=True, help='The Ordering Customer'),
|
||||
|
||||
@@ -79,8 +79,9 @@
|
||||
<form string="Payment Mode">
|
||||
<field name="name" select="1"/>
|
||||
<field name="journal" select="1"/>
|
||||
<field name="bank_id"/>
|
||||
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company"/>
|
||||
<field name="bank_id" domain="[('partner_id','=',partner_id)]" />
|
||||
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company" on_change="onchange_company_id(company_id)"/>
|
||||
<field name="partner_id" select="1" widget='selection' invisible="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -0,0 +1,714 @@
|
||||
# Norwegian Bokmal translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-19 10:53+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_scheduled:0
|
||||
msgid "Scheduled date if fixed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,currency:0
|
||||
msgid "Partner Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Set to draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,mode:0
|
||||
msgid "Select the Payment Mode to be applied."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.mode:0
|
||||
#: view:payment.order:0
|
||||
msgid "Group By..."
|
||||
msgstr "Grupper etter..."
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.module.module,description:account_payment.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
"This module provides :\n"
|
||||
"* a more efficient way to manage invoice payment.\n"
|
||||
"* a basic mechanism to easily plug various automated payment.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,line_ids:0
|
||||
msgid "Payment lines"
|
||||
msgstr "Betalingslinjer"
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: field:payment.line,info_owner:0
|
||||
#: view:payment.order:0
|
||||
msgid "Owner Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,state:0
|
||||
msgid ""
|
||||
"When an order is placed the state is 'Draft'.\n"
|
||||
" Once the bank is confirmed the state is set to 'Confirmed'.\n"
|
||||
" Then the order is paid the state is 'Done'."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:account.invoice,amount_to_pay:0
|
||||
msgid ""
|
||||
"The amount which should be paid at the current date\n"
|
||||
"minus the amount which is already in payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.mode,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_prefered:0
|
||||
msgid "Preferred date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.line,state:0
|
||||
msgid "Free"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order.create,entries:0
|
||||
msgid "Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Used Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_maturity_date:0
|
||||
#: field:payment.order.create,duedate:0
|
||||
msgid "Due Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create move line on closed account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Account Entry Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "_Add to payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
|
||||
msgid "Payment Populate statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
#: view:payment.order:0
|
||||
msgid "Amount"
|
||||
msgstr "Beløp"
|
||||
|
||||
#. module: account_payment
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Total in Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new
|
||||
msgid "New Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
#: field:payment.order,reference:0
|
||||
msgid "Reference"
|
||||
msgstr "Referanse"
|
||||
|
||||
#. module: account_payment
|
||||
#: sql_constraint:payment.line:0
|
||||
msgid "The payment line name must be unique!"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
|
||||
#: model:ir.ui.menu,name:account_payment.menu_action_payment_order_form
|
||||
msgid "Payment Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Directly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_line_form
|
||||
#: model:ir.model,name:account_payment.model_payment_line
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Amount Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,ml_date_created:0
|
||||
msgid "Invoice Effective Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Execution Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.line,state:0
|
||||
msgid "Structured"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: field:payment.order,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Transaction Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
|
||||
#: model:ir.model,name:account_payment.model_payment_mode
|
||||
#: model:ir.ui.menu,name:account_payment.menu_action_payment_mode_form
|
||||
#: view:payment.mode:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_date_created:0
|
||||
msgid "Effective Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,ml_inv_ref:0
|
||||
msgid "Invoice Ref."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,date_prefered:0
|
||||
msgid ""
|
||||
"Choose an option for the Payment Order:'Fixed' stands for a date specified "
|
||||
"by you.'Directly' stands for the direct execution.'Due date' stands for the "
|
||||
"scheduled date of execution."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Total debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_done:0
|
||||
msgid "Execution date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,journal:0
|
||||
msgid "Bank or Cash Journal for the Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Fixed date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,info_partner:0
|
||||
#: view:payment.order:0
|
||||
msgid "Destination Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Desitination Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Search Payment Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"You can not create move line on receivable/payable account without partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,create_date:0
|
||||
msgid "Created"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Select Invoices to Pay"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
msgid "Currency Amount Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Make Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,state:0
|
||||
msgid "Communication Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.module.module,shortdesc:account_payment.module_meta_information
|
||||
msgid "Payment Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,bank_statement_line_id:0
|
||||
msgid "Bank statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: selection:payment.order,date_prefered:0
|
||||
msgid "Due date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.invoice,amount_to_pay:0
|
||||
msgid "Amount to be paid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,info_owner:0
|
||||
msgid "Address of the Main Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,date:0
|
||||
msgid ""
|
||||
"If no payment date is specified, the bank will treat this payment line "
|
||||
"directly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
|
||||
msgid "Account Payment Populate Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,name:0
|
||||
msgid "Mode of Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Value Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Payment Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,amount_currency:0
|
||||
msgid "Payment amount in the partner currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,communication2:0
|
||||
msgid "The successor message of Communication."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "No partner defined on entry line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,info_partner:0
|
||||
msgid "Address of the Ordering Customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.populate.statement:0
|
||||
msgid "Populate Statement:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
msgid "Total credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.order,date_scheduled:0
|
||||
msgid "Select a date if you have chosen Preferred Date to be fixed."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.payment.populate.statement,lines:0
|
||||
#: model:ir.actions.act_window,name:account_payment.act_account_invoice_2_payment_line
|
||||
msgid "Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be same for its related account and period."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,move_line_id:0
|
||||
msgid ""
|
||||
"This Entry Line will be referred for the information of the ordering "
|
||||
"customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.report.xml,name:account_payment.payment_order1
|
||||
#: model:ir.model,name:account_payment.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,date:0
|
||||
msgid "Payment Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Total:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_created:0
|
||||
msgid "Creation date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.populate.statement:0
|
||||
msgid "ADD"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.bank.statement:0
|
||||
msgid "Import payment lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:account.move.line,amount_to_pay:0
|
||||
msgid "Amount to pay"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,amount:0
|
||||
msgid "Amount in Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,partner_id:0
|
||||
msgid "The Ordering Customer"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_payment_make_payment
|
||||
msgid "Account make payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Invoice Ref"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,name:0
|
||||
msgid "Your Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,mode:0
|
||||
msgid "Payment mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "General Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
#: selection:payment.order,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,communication:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
#: view:account.payment.populate.statement:0
|
||||
#: view:payment.order:0
|
||||
#: view:payment.order.create:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
|
||||
msgid ""
|
||||
"A payment order is a payment request from your company to pay a supplier "
|
||||
"invoice or a customer credit note. Here you can register all payment orders "
|
||||
"that should be done, keep track of all payment orders and mention the "
|
||||
"invoice reference and the partner the payment should be done for."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,amount:0
|
||||
msgid "Payment amount in the company currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order.create:0
|
||||
msgid "Search Payment lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,amount_currency:0
|
||||
msgid "Amount in Partner Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,communication2:0
|
||||
msgid "Communication 2"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,bank_id:0
|
||||
msgid "Destination Bank account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
msgid "Are you sure you want to make payment?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.mode:0
|
||||
#: field:payment.mode,journal:0
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.mode,bank_id:0
|
||||
msgid "Bank account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.order:0
|
||||
msgid "Confirm Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,company_currency:0
|
||||
#: report:payment.order:0
|
||||
msgid "Company Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.ui.menu,name:account_payment.menu_main_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Payment Order / Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,move_line_id:0
|
||||
msgid "Entry line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,communication:0
|
||||
msgid ""
|
||||
"Used as the message between ordering customer and current company. Depicts "
|
||||
"'What do you want to say to the recipient about this order ?'"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.mode,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: report:payment.order:0
|
||||
msgid "Bank Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:payment.line:0
|
||||
#: view:payment.order:0
|
||||
msgid "Entry Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.model,name:account_payment.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,order_id:0
|
||||
msgid "Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,total:0
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.payment.make.payment:0
|
||||
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
|
||||
msgid "Make Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.line,partner_id:0
|
||||
#: report:payment.order:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
|
||||
msgid "Populate Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.mode,bank_id:0
|
||||
msgid "Bank Account for the Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_payment
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create move line on view account."
|
||||
msgstr ""
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-08-02 22:08+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-04-26 18:16+0000\n"
|
||||
"Last-Translator: filsys <office@filsystem.ro>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-01-15 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-27 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account_payment
|
||||
#: field:payment.order,date_scheduled:0
|
||||
@@ -261,7 +261,7 @@ msgstr ""
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
msgstr "Eroare !"
|
||||
|
||||
#. module: account_payment
|
||||
#: view:account.move.line:0
|
||||
@@ -414,7 +414,7 @@ msgstr "Mesajul următor al dialogului"
|
||||
#: code:addons/account_payment/account_move_line.py:110
|
||||
#, python-format
|
||||
msgid "No partner defined on entry line"
|
||||
msgstr ""
|
||||
msgstr "Nu a fost definit nici un partener"
|
||||
|
||||
#. module: account_payment
|
||||
#: help:payment.line,info_partner:0
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
# Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-24 03:28+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-25 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
|
||||
msgid "Account Sequence Application Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move:0
|
||||
msgid ""
|
||||
"You cannot create entries on different periods/journals in the same move"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.move,internal_sequence_number:0
|
||||
#: help:account.move.line,internal_sequence_number:0
|
||||
msgid "Internal Sequence Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,number_next:0
|
||||
msgid "Next number of this sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,number_next:0
|
||||
msgid "Next Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,number_increment:0
|
||||
msgid "Increment Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.module.module,description:account_sequence.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module maintains internal sequence number for accounting entries.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
|
||||
msgid "Entries Sequence Numbering"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,number_increment:0
|
||||
msgid "The next number of the sequence will be incremented by this number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "Configure Your Account Sequence Application"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,progress:0
|
||||
msgid "Configuration Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,suffix:0
|
||||
msgid "Suffix value of the record for the sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.journal,internal_sequence_id:0
|
||||
msgid ""
|
||||
"This sequence will be used to maintain the internal number for the journal "
|
||||
"entries related to this journal."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,padding:0
|
||||
msgid "Number padding"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.model,name:account_sequence.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.move,internal_sequence_number:0
|
||||
#: field:account.move.line,internal_sequence_number:0
|
||||
msgid "Internal Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move.line:0
|
||||
msgid "Company must be same for its related account and period."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,padding:0
|
||||
msgid ""
|
||||
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
|
||||
"get the required padding size."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create move line on closed account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move:0
|
||||
msgid ""
|
||||
"You cannot create more than one move per period on centralized journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: sql_constraint:account.move.line:0
|
||||
msgid "Wrong credit or debit value in accounting entry !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.journal,internal_sequence_id:0
|
||||
msgid "Internal Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.model,name:account_sequence.model_account_sequence_installer
|
||||
msgid "account.sequence.installer"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: help:account.sequence.installer,prefix:0
|
||||
msgid "Prefix value of the record for the sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.model,name:account_sequence.model_account_move
|
||||
msgid "Account Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,suffix:0
|
||||
msgid "Suffix"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,config_logo:0
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The name of the journal must be unique per company !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: field:account.sequence.installer,prefix:0
|
||||
msgid "Prefix"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The code of the journal must be unique per company !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move.line:0
|
||||
msgid ""
|
||||
"You can not create move line on receivable/payable account without partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: model:ir.model,name:account_sequence.model_account_journal
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: view:account.sequence.installer:0
|
||||
msgid "You can enhance the Account Sequence Application by installing ."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_sequence
|
||||
#: constraint:account.move.line:0
|
||||
msgid "You can not create move line on view account."
|
||||
msgstr ""
|
||||
@@ -379,6 +379,8 @@ class account_voucher(osv.osv):
|
||||
account_id = partner.property_account_payable.id
|
||||
tr_type = 'purchase'
|
||||
else:
|
||||
if not journal.default_credit_account_id or not journal.default_debit_account_id:
|
||||
raise osv.except_osv(_('Error !'), _('Please define default credit/debit account on the %s !') % (journal.name))
|
||||
account_id = journal.default_credit_account_id.id or journal.default_debit_account_id.id
|
||||
tr_type = 'receipt'
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ class account_analytic_account(osv.osv):
|
||||
_columns = {
|
||||
'name': fields.char('Account Name', size=128, required=True),
|
||||
'complete_name': fields.function(_complete_name_calc, method=True, type='char', string='Full Account Name'),
|
||||
'code': fields.char('Account Code', size=24),
|
||||
'code': fields.char('Account Code', size=24, select=True),
|
||||
'type': fields.selection([('view','View'), ('normal','Normal')], 'Account Type', help='If you select the View Type, it means you won\'t allow to create journal entries using that account.'),
|
||||
'description': fields.text('Description'),
|
||||
'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2),
|
||||
@@ -245,13 +245,23 @@ class account_analytic_account(osv.osv):
|
||||
cr.execute("select analytic_account_id from project_project")
|
||||
project_ids = [x[0] for x in cr.fetchall()]
|
||||
return self.name_get(cr, uid, project_ids, context=context)
|
||||
account = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context)
|
||||
if not account:
|
||||
account = self.search(cr, uid, [('name', 'ilike', '%%%s%%' % name)] + args, limit=limit, context=context)
|
||||
newacc = account
|
||||
while newacc:
|
||||
newacc = self.search(cr, uid, [('parent_id', 'in', newacc)]+args, limit=limit, context=context)
|
||||
account += newacc
|
||||
if name:
|
||||
account = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context)
|
||||
if not account:
|
||||
names=map(lambda i : i.strip(),name.split('/'))
|
||||
for i in range(len(names)):
|
||||
dom=[('name', operator, names[i])]
|
||||
if i>0:
|
||||
dom+=[('id','child_of',account)]
|
||||
account = self.search(cr, uid, dom, limit=limit, context=context)
|
||||
newacc = account
|
||||
while newacc:
|
||||
newacc = self.search(cr, uid, [('parent_id', 'in', newacc)], limit=limit, context=context)
|
||||
account += newacc
|
||||
if args:
|
||||
account = self.search(cr, uid, [('id', 'in', account)] + args, limit=limit, context=context)
|
||||
else:
|
||||
account = self.search(cr, uid, args, limit=limit, context=context)
|
||||
return self.name_get(cr, uid, account, context=context)
|
||||
|
||||
account_analytic_account()
|
||||
|
||||
@@ -0,0 +1,255 @@
|
||||
# Turkish translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-26 21:49+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-27 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr "Muavin Hesaplar"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr "Hesap Adı"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.module.module,description:analytic.module_meta_information
|
||||
msgid ""
|
||||
"Module for defining analytic accounting object.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,state:0
|
||||
msgid "State"
|
||||
msgstr "Durum"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,user_id:0
|
||||
msgid "Account Manager"
|
||||
msgstr "Hesap Yöneticisi"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Taslak"
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Kapalı"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,debit:0
|
||||
msgid "Debit"
|
||||
msgstr "Borç"
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,state:0
|
||||
msgid ""
|
||||
"* When an account is created its in 'Draft' state. "
|
||||
" \n"
|
||||
"* If any associated partner is there, it can be in 'Open' state. "
|
||||
" \n"
|
||||
"* If any pending balance is there it can be in 'Pending'. "
|
||||
" \n"
|
||||
"* And finally when all the transactions are over, it can be in 'Close' "
|
||||
"state. \n"
|
||||
"* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
" If it is template then we can make projects based on the template projects. "
|
||||
"If its in 'Running' state it is a normal project. "
|
||||
" \n"
|
||||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
msgid "Account Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,description:0
|
||||
#: field:account.analytic.line,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
#: field:account.analytic.line,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity_max:0
|
||||
msgid "Maximum Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
msgid "Parent Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
msgid "Account currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid ""
|
||||
"Calculated by multiplying the quantity and the price given in the Product's "
|
||||
"cost price. Always expressed in the company main currency."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
msgid "Sets the higher limit of quantity of hours."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,credit:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid ""
|
||||
"Error! The currency has to be the same as the currency of the selected "
|
||||
"company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:account.analytic.account:0
|
||||
msgid "Error! You can not create recursive analytic accounts."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,type:0
|
||||
msgid ""
|
||||
"If you select the View Type, it means you won't allow to create journal "
|
||||
"entries using that account."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Account Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
msgid "Full Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,account_id:0
|
||||
#: model:ir.model,name:analytic.model_account_analytic_account
|
||||
#: model:ir.module.module,shortdesc:analytic.module_meta_information
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,line_ids:0
|
||||
msgid "Analytic Entries"
|
||||
msgstr ""
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-01-13 11:58+0000\n"
|
||||
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-04-25 09:02+0000\n"
|
||||
"Last-Translator: simone.sandri <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-01-15 05:55+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-26 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,act_mail_to_user:0
|
||||
@@ -78,7 +78,7 @@ msgstr "Giorni"
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,last_run:0
|
||||
msgid "Last Run"
|
||||
msgstr ""
|
||||
msgstr "Ultima Esecuzione"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: code:addons/base_action_rule/base_action_rule.py:313
|
||||
|
||||
@@ -513,7 +513,7 @@ property or property parameter."),
|
||||
sub,
|
||||
body,
|
||||
model='calendar.attendee',
|
||||
attach=attach and [('invitation.ics', attach)] or None,
|
||||
attach=attach and {'invitation.ics': attach} or None,
|
||||
subtype='html',
|
||||
reply_to=email_from
|
||||
)
|
||||
@@ -1300,7 +1300,7 @@ e.g.: Every other month on the last Sunday of the month for 10 occurrences:\
|
||||
if name == "UNTIL":
|
||||
is_until = True
|
||||
value = parser.parse(value)
|
||||
rrule_until_date = parser.parse(value.strftime("%Y-%m-%d"))
|
||||
rrule_until_date = parser.parse(value.strftime("%Y-%m-%d %H:%M:%S"))
|
||||
if until_date and until_date >= rrule_until_date:
|
||||
until_date = rrule_until_date
|
||||
if until_date:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -140,7 +140,7 @@ send an Email to Invited Person')
|
||||
if not mail_to:
|
||||
name = map(lambda x: x[1], filter(lambda x: type==x[0], \
|
||||
self._columns['type'].selection))
|
||||
raise osv.except_osv(_('Error!'), ("%s must have an email Address to send mail") %(name[0]))
|
||||
raise osv.except_osv(_('Error!'), _("%s must have an email address to send mail") %(name[0]))
|
||||
att_obj._send_mail(cr, uid, attendees, mail_to, \
|
||||
email_from = current_user.user_email or tools.config.get('email_from', False))
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ class report_graph(report.interface.report_int):
|
||||
if id:
|
||||
get_dpend_module(id[0].id)
|
||||
get_dpend_module(module_id)
|
||||
graph = pydot.Dot(graph_type='digraph',fontsize='10', label="\\nProximity Graph. \\n\\nGray Color:Official Modules, Red Color:Extra Addons Modules, Blue Color:Community Modules, Purple Color:Unknow Modules"
|
||||
graph = pydot.Dot(graph_type='digraph',fontsize='10', label="\\nProximity Graph. \\n\\nGray Color-Official Modules, Red Color-Extra Addons Modules, Blue Color-Community Modules, Purple Color-Unknow Modules"
|
||||
, center='1')
|
||||
for node in nodes:
|
||||
if node[1] == "official":
|
||||
|
||||
@@ -8,24 +8,24 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-12-11 22:14+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"PO-Revision-Date: 2011-04-25 08:58+0000\n"
|
||||
"Last-Translator: Viktor Prokopiev <Unknown>\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: 2011-01-15 05:56+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-26 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.actions.act_window,name:base_synchro.action_view_base_synchro
|
||||
msgid "Base Synchronization"
|
||||
msgstr ""
|
||||
msgstr "Базовая синхронизация"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.server,server_db:0
|
||||
msgid "Server Database"
|
||||
msgstr ""
|
||||
msgstr "База данных сервера"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro.server:0
|
||||
@@ -46,7 +46,7 @@ msgstr "Последняя синхронизация"
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro,user_id:0
|
||||
msgid "Send Result To"
|
||||
msgstr ""
|
||||
msgstr "Отправить результат"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.model,name:base_synchro.model_base_synchro_obj_avoid
|
||||
@@ -56,7 +56,7 @@ msgstr "Не синхронизируемые поля"
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
msgid "_Close"
|
||||
msgstr ""
|
||||
msgstr "_Закрыть"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
@@ -66,7 +66,7 @@ msgstr "Передача данных на сервер"
|
||||
#. module: base_synchro
|
||||
#: model:ir.model,name:base_synchro.model_base_synchro_obj
|
||||
msgid "Register Class"
|
||||
msgstr ""
|
||||
msgstr "Класс регистра"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro.obj:0
|
||||
@@ -127,7 +127,7 @@ msgstr "Пароль"
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,avoid_ids:0
|
||||
msgid "Fields Not Sync."
|
||||
msgstr ""
|
||||
msgstr "Поля не синхронизированы"
|
||||
|
||||
#. module: base_synchro
|
||||
#: selection:base.synchro.obj,action:0
|
||||
@@ -147,12 +147,12 @@ msgstr "Поля"
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro.obj.line:0
|
||||
msgid "Transfered Ids Details"
|
||||
msgstr ""
|
||||
msgstr "Сведения о переданных идентификаторах"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,action:0
|
||||
msgid "Synchronisation direction"
|
||||
msgstr ""
|
||||
msgstr "Направление синхронизации"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,server_id:0
|
||||
@@ -164,12 +164,12 @@ msgstr "Сервер"
|
||||
#: model:ir.model,name:base_synchro.model_base_synchro_obj_line
|
||||
#: model:ir.ui.menu,name:base_synchro.menu_action_base_synchro_obj_line_tree
|
||||
msgid "Synchronized instances"
|
||||
msgstr ""
|
||||
msgstr "Синхронизированные экземпляры"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
msgstr "Активно"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro.obj:0
|
||||
@@ -180,7 +180,7 @@ msgstr "Объект для синхронизации"
|
||||
#. module: base_synchro
|
||||
#: model:ir.module.module,shortdesc:base_synchro.module_meta_information
|
||||
msgid "Base Synchro"
|
||||
msgstr ""
|
||||
msgstr "Базовый Синхронизация"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.actions.act_window,name:base_synchro.action_base_synchro_server_tree
|
||||
@@ -191,17 +191,17 @@ msgstr "Сервера для синхронизации"
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro.obj:0
|
||||
msgid "Transfer Details"
|
||||
msgstr ""
|
||||
msgstr "Подробности передачи"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj.line,remote_id:0
|
||||
msgid "Remote Id"
|
||||
msgstr ""
|
||||
msgstr "Удалённый идентификатор"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,line_id:0
|
||||
msgid "Ids Affected"
|
||||
msgstr ""
|
||||
msgstr "Затронутые идентификаторы"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.ui.menu,name:base_synchro.next_id_63
|
||||
@@ -222,7 +222,7 @@ msgstr "Домен"
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
msgid "_Synchronize"
|
||||
msgstr ""
|
||||
msgstr "_Синхронизировать"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
@@ -237,7 +237,7 @@ msgstr "Имя сервера"
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
msgstr "Последовательность"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
@@ -245,48 +245,49 @@ msgid ""
|
||||
"The synchronisation has been started.You will receive a request when it's "
|
||||
"done."
|
||||
msgstr ""
|
||||
"Синхронизация была начата. Вы получите запрос когда все будет сделано."
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.server,server_port:0
|
||||
msgid "Server Port"
|
||||
msgstr ""
|
||||
msgstr "Порт сервера"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.ui.menu,name:base_synchro.menu_action_view_base_synchro
|
||||
msgid "Synchronize objects"
|
||||
msgstr ""
|
||||
msgstr "Синхронизировать объекты"
|
||||
|
||||
#. module: base_synchro
|
||||
#: view:base.synchro:0
|
||||
msgid "Synchronization Complited!"
|
||||
msgstr ""
|
||||
msgstr "Синхронизация выполнена!"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.model,name:base_synchro.model_base_synchro
|
||||
msgid "base.synchro"
|
||||
msgstr ""
|
||||
msgstr "base.synchro"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro.obj.line,local_id:0
|
||||
msgid "Local Id"
|
||||
msgstr ""
|
||||
msgstr "Локальный идентификатор"
|
||||
|
||||
#. module: base_synchro
|
||||
#: model:ir.actions.act_window,name:base_synchro.actions_regclass_tree
|
||||
#: model:ir.actions.act_window,name:base_synchro.actions_transfer_line_form
|
||||
msgid "Filters"
|
||||
msgstr ""
|
||||
msgstr "Фильтры"
|
||||
|
||||
#. module: base_synchro
|
||||
#: selection:base.synchro.obj,action:0
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
msgstr "Загрузить"
|
||||
|
||||
#. module: base_synchro
|
||||
#: field:base.synchro,server_url:0
|
||||
#: field:base.synchro.server,server_url:0
|
||||
msgid "Server URL"
|
||||
msgstr ""
|
||||
msgstr "Адрес сервера"
|
||||
|
||||
#~ msgid "The name of the module must be unique !"
|
||||
#~ msgstr "Название модуля должно быть уникальным !"
|
||||
|
||||
@@ -0,0 +1,393 @@
|
||||
# Lingala translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-15 08:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Lingala <ln@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-16 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Year "
|
||||
msgstr " Mobú "
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_menu_create
|
||||
msgid "Menu Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note.type,name:0
|
||||
#: model:ir.model,name:board.model_board_note_type
|
||||
msgid "Note Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,user_id:0
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.module.module,shortdesc:board.module_meta_information
|
||||
msgid "Dashboard main module"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.users:0
|
||||
msgid "Latest Connections"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: code:addons/board/wizard/board_menu_create.py:45
|
||||
#, python-format
|
||||
msgid "User Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.open_board_administration_form
|
||||
#: model:ir.ui.menu,name:board.menu_board_admin
|
||||
msgid "Administration Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,note:0
|
||||
#: model:ir.model,name:board.model_board_note
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: view:res.log.report:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_board
|
||||
msgid "Board"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.board_weekly_res_log_report_action
|
||||
#: view:res.log.report:0
|
||||
msgid "Weekly Global Activity"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,name:0
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,nbr:0
|
||||
msgid "# of Entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,month:0
|
||||
msgid "Month"
|
||||
msgstr "Sánzá"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.dashboard_open
|
||||
msgid "Open Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.board_monthly_res_log_report_action
|
||||
#: view:res.log.report:0
|
||||
msgid "Monthly Activity per Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Log Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_view_board_list_form
|
||||
#: model:ir.ui.menu,name:board.menu_view_board_form
|
||||
msgid "Dashboard Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "March"
|
||||
msgstr "mársi"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "August"
|
||||
msgstr "augústo"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.action_user_connection_tree
|
||||
msgid "User Connections"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,creation_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_view_board_note_form
|
||||
#: model:ir.ui.menu,name:board.menu_view_board_note_form
|
||||
msgid "Publish a note"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Menu Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "June"
|
||||
msgstr "yúni"
|
||||
|
||||
#. module: board
|
||||
#: field:board.note,type:0
|
||||
msgid "Note type"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board,line_ids:0
|
||||
msgid "Action Views"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_res_log_report
|
||||
msgid "Log Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,date:0
|
||||
msgid "Date"
|
||||
msgstr "Dáte"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "July"
|
||||
msgstr "yúli"
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,day:0
|
||||
msgid "Day"
|
||||
msgstr "Mokɔlɔ"
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Create Menu For Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "February"
|
||||
msgstr "febwáli"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "October"
|
||||
msgstr "ɔkɔtɔ́bɛ"
|
||||
|
||||
#. module: board
|
||||
#: model:ir.model,name:board.model_board_board_line
|
||||
msgid "Board Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.menu.create,menu_parent_id:0
|
||||
msgid "Parent Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Month-1 "
|
||||
msgstr " Sánzá-1 "
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "January"
|
||||
msgstr "yanwáli"
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "November"
|
||||
msgstr "novɛ́mbɛ"
|
||||
|
||||
#. module: board
|
||||
#: help:board.board.line,sequence:0
|
||||
msgid ""
|
||||
"Gives the sequence order when displaying a list of "
|
||||
"board lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "April"
|
||||
msgstr "apríli"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: field:board.board,name:0
|
||||
#: field:board.board.line,board_id:0
|
||||
#: model:ir.ui.menu,name:board.admin_menu_dasboard
|
||||
#: model:ir.ui.menu,name:board.menu_dasboard
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.module.module,description:board.module_meta_information
|
||||
msgid "Base module for all dashboards."
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,action_id:0
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,position:0
|
||||
msgid "Position"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.menu.create,menu_name:0
|
||||
msgid "Menu Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: model:ir.actions.act_window,name:board.action_latest_activities_tree
|
||||
msgid "Latest Activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:board.board.line,position:0
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board,view_id:0
|
||||
msgid "Board View"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:board.board.line,position:0
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,width:0
|
||||
msgid "Width"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
msgid " Month "
|
||||
msgstr " Sánzá "
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "September"
|
||||
msgstr "sɛtɛ́mbɛ"
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "December"
|
||||
msgstr "dɛsɛ́mbɛ"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
#: view:board.menu.create:0
|
||||
msgid "Create Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: field:board.board.line,height:0
|
||||
msgid "Height"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: model:ir.actions.act_window,name:board.action_board_menu_create
|
||||
msgid "Create Board Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: selection:res.log.report,month:0
|
||||
msgid "May"
|
||||
msgstr "máyí"
|
||||
|
||||
#. module: board
|
||||
#: field:res.log.report,res_model:0
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:res.log.report:0
|
||||
#: field:res.log.report,name:0
|
||||
msgid "Year"
|
||||
msgstr "Mobú"
|
||||
|
||||
#. module: board
|
||||
#: view:board.menu.create:0
|
||||
msgid "Cancel"
|
||||
msgstr "Tika"
|
||||
|
||||
#. module: board
|
||||
#: view:board.board:0
|
||||
msgid "Dashboard View"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: code:addons/board/wizard/board_menu_create.py:46
|
||||
#, python-format
|
||||
msgid "Please Insert Dashboard View(s) !"
|
||||
msgstr ""
|
||||
|
||||
#. module: board
|
||||
#: view:board.note:0
|
||||
#: field:board.note,name:0
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,818 @@
|
||||
# Catalan translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-04-15 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan <ca@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-16 04:59+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
msgid "Value Mapping"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:caldav.browse,url:0
|
||||
msgid "Url of the caldav server, use for synchronization"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.alias,name:0
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_calendar_event_export
|
||||
msgid "Event Export"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.subscribe:0
|
||||
msgid "Provide path for Remote Calendar"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.actions.act_window,name:caldav.action_calendar_event_import_values
|
||||
msgid "Import .ics File"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.export:0
|
||||
msgid "_Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar.attributes,type:0
|
||||
#: selection:basic.calendar.lines,name:0
|
||||
msgid "Attendee"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: sql_constraint:basic.calendar.fields:0
|
||||
msgid "Can not map a field more than once"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:772
|
||||
#: code:addons/caldav/calendar.py:861
|
||||
#: code:addons/caldav/wizard/calendar_event_import.py:63
|
||||
#, python-format
|
||||
msgid "Warning !"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.lines,object_id:0
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
msgid "Todo"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_user_preference
|
||||
msgid "User preference Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:user.preference,service:0
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar.fields,fn:0
|
||||
msgid "Expression as constant"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,device:0
|
||||
msgid "Evolution"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
#: view:calendar.event.subscribe:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:861
|
||||
#, python-format
|
||||
msgid "Please provide proper configuration of \"%s\" in Calendar Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:calendar.event.export,name:0
|
||||
msgid "File name"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:caldav.browse,url:0
|
||||
msgid "Caldav Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/calendar_event_subscribe.py:59
|
||||
#, python-format
|
||||
msgid "Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:caldav.browse,caldav_doc_file:0
|
||||
msgid "download full caldav Documentation."
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,device:0
|
||||
msgid "iPhone"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/caldav_browse.py:32
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" * Webdav server that provides remote access to calendar\n"
|
||||
" * Synchronisation of calendar using WebDAV\n"
|
||||
" * Customize calendar event and todo attribute with any of OpenERP model\n"
|
||||
" * Provides iCal Import/Export functionality\n"
|
||||
"\n"
|
||||
" To access Calendars using CalDAV clients, point them to:\n"
|
||||
" "
|
||||
"http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c\n"
|
||||
"\n"
|
||||
" To access OpenERP Calendar using WebCal to remote site use the URL "
|
||||
"like:\n"
|
||||
" "
|
||||
"http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics\n"
|
||||
"\n"
|
||||
" Where,\n"
|
||||
" HOSTNAME: Host on which OpenERP server(With webdav) is running\n"
|
||||
" PORT : Port on which OpenERP server is running (By Default : 8069)\n"
|
||||
" DATABASE_NAME: Name of database on which OpenERP Calendar is "
|
||||
"created\n"
|
||||
" CALENDAR_NAME: Name of calendar to access\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/caldav_browse.py:147
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"Prerequire\n"
|
||||
"----------\n"
|
||||
"If you are using thunderbird, first you need to install the lightning "
|
||||
"module\n"
|
||||
"http://www.mozilla.org/projects/calendar/lightning/\n"
|
||||
"\n"
|
||||
"configuration\n"
|
||||
"-------------\n"
|
||||
"\n"
|
||||
"1. Go to Calendar View\n"
|
||||
"\n"
|
||||
"2. File -> New Calendar\n"
|
||||
"\n"
|
||||
"3. Chosse \"On the Network\"\n"
|
||||
"\n"
|
||||
"4. for format choose CalDav\n"
|
||||
" and as location the url given above (ie : "
|
||||
"http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)\n"
|
||||
" \n"
|
||||
"5. Choose a name and a color for the Calendar, and we advice you to uncheck "
|
||||
"\"alarm\"\n"
|
||||
"\n"
|
||||
"6. Then put your openerp login and password (to give the password only check "
|
||||
"the box \"Use password Manager to remember this password\"\n"
|
||||
"\n"
|
||||
"7. Then Finish, your meetings should appear now in your calendar view\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar,type:0
|
||||
#: selection:basic.calendar.attributes,type:0
|
||||
#: selection:basic.calendar.lines,name:0
|
||||
msgid "TODO"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.export:0
|
||||
msgid "Export ICS"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar.fields,fn:0
|
||||
msgid "Use the field"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:772
|
||||
#, python-format
|
||||
msgid "Can not create line \"%s\" more than once"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: field:basic.calendar,line_ids:0
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_lines
|
||||
msgid "Calendar Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_calendar_event_subscribe
|
||||
msgid "Event subscribe"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
msgid "Import ICS"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
#: view:calendar.event.subscribe:0
|
||||
#: view:user.preference:0
|
||||
msgid "_Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_event
|
||||
msgid "basic.calendar.event"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: selection:basic.calendar,type:0
|
||||
#: selection:basic.calendar.attributes,type:0
|
||||
#: selection:basic.calendar.lines,name:0
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:document.directory,calendar_collection:0
|
||||
#: field:user.preference,collection:0
|
||||
msgid "Calendar Collection"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: constraint:document.directory:0
|
||||
msgid "Error! You can not create recursive Directories."
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:user.preference:0
|
||||
msgid "_Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,type:0
|
||||
#: field:basic.calendar.attributes,type:0
|
||||
#: field:basic.calendar.fields,type_id:0
|
||||
#: field:basic.calendar.lines,name:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:calendar.event.export,name:0
|
||||
msgid "Save in .ics format"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:1275
|
||||
#, python-format
|
||||
msgid "Error !"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/caldav_browse.py:128
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" 1. Go to Calendar View\n"
|
||||
"\n"
|
||||
" 2. File -> New -> Calendar\n"
|
||||
"\n"
|
||||
" 3. Fill the form \n"
|
||||
" - type : CalDav\n"
|
||||
" - name : Whaterver you want (ie : Meeting)\n"
|
||||
" - url : "
|
||||
"http://HOST:PORT/webdav/DB_NAME/calendars/users/USER/c/Meetings (ie : "
|
||||
"http://localhost:8069/webdav/db_1/calendars/users/demo/c/Meetings) the one "
|
||||
"given on the top of this window\n"
|
||||
" - uncheck \"User SSL\"\n"
|
||||
" - Username : Your username (ie : Demo)\n"
|
||||
" - Refresh : everytime you want that evolution synchronize the data "
|
||||
"with the server\n"
|
||||
"\n"
|
||||
" 4. Click ok and give your openerp password\n"
|
||||
"\n"
|
||||
" 5. A new calendar named with the name you gave should appear on the left "
|
||||
"side. \n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_attributes
|
||||
msgid "Calendar attributes"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_caldav_browse
|
||||
msgid "Caldav Browse"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.module.module,description:caldav.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module Contains basic functionality for caldav system like: \n"
|
||||
" - Webdav server that provides remote access to calendar\n"
|
||||
" - Synchronisation of calendar using WebDAV\n"
|
||||
" - Customize calendar event and todo attribute with any of OpenERP model\n"
|
||||
" - Provides iCal Import/Export functionality\n"
|
||||
"\n"
|
||||
" To access Calendars using CalDAV clients, point them to:\n"
|
||||
" "
|
||||
"http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c\n"
|
||||
"\n"
|
||||
" To access OpenERP Calendar using WebCal to remote site use the URL "
|
||||
"like:\n"
|
||||
" "
|
||||
"http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics\n"
|
||||
"\n"
|
||||
" Where,\n"
|
||||
" HOSTNAME: Host on which OpenERP server(With webdav) is running\n"
|
||||
" PORT : Port on which OpenERP server is running (By Default : 8069)\n"
|
||||
" DATABASE_NAME: Name of database on which OpenERP Calendar is "
|
||||
"created\n"
|
||||
" CALENDAR_NAME: Name of calendar to access\n"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,device:0
|
||||
msgid "Android based device"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,create_date:0
|
||||
msgid "Created Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
msgid "Attributes Mapping"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_document_directory
|
||||
msgid "Directory"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:calendar.event.subscribe,url_path:0
|
||||
msgid "Provide path for remote calendar"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:caldav.browse:0
|
||||
msgid "_Ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.lines,domain:0
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.subscribe:0
|
||||
msgid "_Subscribe"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,user_id:0
|
||||
msgid "Owner"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: field:basic.calendar.alias,cal_line_id:0
|
||||
#: field:basic.calendar.lines,calendar_id:0
|
||||
#: model:ir.ui.menu,name:caldav.menu_calendar
|
||||
#: field:user.preference,calendar:0
|
||||
msgid "Calendar"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:41
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please install python-vobject from http://vobject.skyhouseconsulting.com/"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/calendar_event_import.py:63
|
||||
#, python-format
|
||||
msgid "Invalid format of the ics, file can not be imported"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,service:0
|
||||
msgid "CalDAV"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.fields,field_id:0
|
||||
msgid "OpenObject Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.alias,res_id:0
|
||||
msgid "Res. ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.subscribe:0
|
||||
msgid "Message..."
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,device:0
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: field:basic.calendar,has_webcal:0
|
||||
msgid "WebCal"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:document.directory:0
|
||||
#: model:ir.actions.act_window,name:caldav.action_calendar_collection_form
|
||||
#: model:ir.ui.menu,name:caldav.menu_calendar_collection
|
||||
msgid "Calendar Collections"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:798
|
||||
#: sql_constraint:basic.calendar.alias:0
|
||||
#, python-format
|
||||
msgid "The same filename cannot apply to two records!"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: sql_constraint:document.directory:0
|
||||
msgid "Directory cannot be parent of itself!"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: field:document.directory,calendar_ids:0
|
||||
#: model:ir.actions.act_window,name:caldav.action_caldav_form
|
||||
#: model:ir.ui.menu,name:caldav.menu_caldav_directories
|
||||
msgid "Calendars"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,collection_id:0
|
||||
msgid "Collection"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,write_date:0
|
||||
msgid "Write Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/caldav_browse.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"Prerequire\n"
|
||||
"----------\n"
|
||||
"There is no buit-in way to synchronize calendar with caldav.\n"
|
||||
"So you need to install a third part software : Calendar (CalDav) \n"
|
||||
"for now it's the only one\n"
|
||||
"\n"
|
||||
"configuration\n"
|
||||
"-------------\n"
|
||||
"\n"
|
||||
"1. Open Calendar Sync\n"
|
||||
" I'll get an interface with 2 tabs\n"
|
||||
" Stay on the first one\n"
|
||||
" \n"
|
||||
"2. CaDAV Calendar URL : put the URL given above (ie : "
|
||||
"http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)\n"
|
||||
"\n"
|
||||
"3. Put your openerp username and password\n"
|
||||
"\n"
|
||||
"4. If your server don't use SSL, you'll get a warnign, say \"Yes\"\n"
|
||||
"\n"
|
||||
"5. Then you can synchronize manually or custom the settings to synchronize "
|
||||
"every x minutes.\n"
|
||||
" \n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/caldav_browse.py:53
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" For SSL specific configuration see the documentation below\n"
|
||||
"\n"
|
||||
"Now, to setup the calendars, you need to:\n"
|
||||
"\n"
|
||||
"1. Click on the \"Settings\" and go to the \"Mail, Contacts, Calendars\" "
|
||||
"page.\n"
|
||||
"2. Go to \"Add account...\"\n"
|
||||
"3. Click on \"Other\"\n"
|
||||
"4. From the \"Calendars\" group, select \"Add CalDAV Account\"\n"
|
||||
"\n"
|
||||
"5. Enter the host's name \n"
|
||||
" (ie : if the url is http://openerp.com:8069/webdav/db_1/calendars/ , "
|
||||
"openerp.com is the host)\n"
|
||||
"\n"
|
||||
"6. Fill Username and password with your openerp login and password\n"
|
||||
"\n"
|
||||
"7. As a description, you can either leave the server's name or\n"
|
||||
" something like \"OpenERP calendars\".\n"
|
||||
"\n"
|
||||
"9. If you are not using a SSL server, you'll get an error, do not worry and "
|
||||
"push \"Continue\"\n"
|
||||
"\n"
|
||||
"10. Then click to \"Advanced Settings\" to specify the right\n"
|
||||
" ports and paths. \n"
|
||||
" \n"
|
||||
"11. Specify the port for the OpenERP server: 8071 for SSL, 8069 without.\n"
|
||||
"\n"
|
||||
"12. Set the \"Account URL\" to the right path of the OpenERP webdav:\n"
|
||||
" the url given by the wizard (ie : "
|
||||
"http://my.server.ip:8069/webdav/dbname/calendars/ )\n"
|
||||
"\n"
|
||||
"11. Click on Done. The phone will hopefully connect to the OpenERP server\n"
|
||||
" and verify it can use the account.\n"
|
||||
"\n"
|
||||
"12. Go to the main menu of the iPhone and enter the Calendar application.\n"
|
||||
" Your OpenERP calendars will be visible inside the selection of the\n"
|
||||
" \"Calendars\" button.\n"
|
||||
" Note that when creating a new calendar entry, you will have to specify\n"
|
||||
" which calendar it should be saved at.\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"IF you need SSL (and your certificate is not a verified one, as usual),\n"
|
||||
"then you first will need to let the iPhone trust that. Follow these\n"
|
||||
"steps:\n"
|
||||
"\n"
|
||||
" s1. Open Safari and enter the https location of the OpenERP server:\n"
|
||||
" https://my.server.ip:8071/\n"
|
||||
" (assuming you have the server at \"my.server.ip\" and the HTTPS port\n"
|
||||
" is the default 8071)\n"
|
||||
" s2. Safari will try to connect and issue a warning about the "
|
||||
"certificate\n"
|
||||
" used. Inspect the certificate and click \"Accept\" so that iPhone\n"
|
||||
" now trusts it. \n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: sql_constraint:document.directory:0
|
||||
msgid "The directory name must be unique !"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:user.preference:0
|
||||
msgid "User Preference"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/calendar_event_subscribe.py:59
|
||||
#, python-format
|
||||
msgid "Please provide Proper URL !"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_timezone
|
||||
msgid "basic.calendar.timezone"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.fields,expr:0
|
||||
msgid "Expression"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_attendee
|
||||
msgid "basic.calendar.attendee"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_alias
|
||||
msgid "basic.calendar.alias"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
#: field:calendar.event.import,file_path:0
|
||||
msgid "Select ICS file"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:caldav.browse,caldav_doc_file:0
|
||||
msgid "Caldav Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.lines,mapping_ids:0
|
||||
msgid "Fields Mapping"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:caldav.browse:0
|
||||
msgid "Browse caldav"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar
|
||||
msgid "basic.calendar"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
msgid "Other Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:user.preference,device:0
|
||||
msgid "Software/Devices"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:basic.calendar,has_webcal:0
|
||||
msgid ""
|
||||
"Also export a <name>.ics entry next to the calendar folder, with WebCal "
|
||||
"content."
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.fields,fn:0
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
#: field:basic.calendar,description:0
|
||||
#: view:caldav.browse:0
|
||||
#: field:caldav.browse,description:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:basic.calendar.alias,cal_line_id:0
|
||||
msgid "The calendar/line this mapping applies to"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar.fields,mapping:0
|
||||
msgid "Mapping"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/wizard/calendar_event_import.py:86
|
||||
#, python-format
|
||||
msgid "Import Sucessful"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
msgid "_Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_calendar_event_import
|
||||
msgid "Event Import"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar.fields,fn:0
|
||||
msgid "Interval in hours"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.subscribe:0
|
||||
msgid "Subscribe to Remote Calendar"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:basic.calendar,calendar_color:0
|
||||
msgid "For supporting clients, the color of the calendar entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,name:0
|
||||
#: field:basic.calendar.attributes,name:0
|
||||
#: field:basic.calendar.fields,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:basic.calendar.attributes,type:0
|
||||
#: selection:basic.calendar.lines,name:0
|
||||
msgid "Alarm"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_alarm
|
||||
msgid "basic.calendar.alarm"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:1275
|
||||
#, python-format
|
||||
msgid "Attendee must have an Email Id"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.actions.act_window,name:caldav.action_calendar_event_export_values
|
||||
msgid "Export .ics File"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: code:addons/caldav/calendar.py:41
|
||||
#, python-format
|
||||
msgid "vobject Import Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:calendar.event.export,file_path:0
|
||||
msgid "Save ICS file"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: selection:user.preference,device:0
|
||||
msgid "Sunbird/Thunderbird"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,calendar_order:0
|
||||
msgid "Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.module.module,shortdesc:caldav.module_meta_information
|
||||
msgid "Share Calendar using CalDAV"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: field:basic.calendar,calendar_color:0
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:basic.calendar:0
|
||||
msgid "MY"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_fields
|
||||
msgid "Calendar fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: view:calendar.event.import:0
|
||||
msgid "Import Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.actions.act_window,name:caldav.action_calendar_event_subscribe
|
||||
#: model:ir.actions.act_window,name:caldav.action_calendar_event_subscribe_values
|
||||
msgid "Subscribe"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: sql_constraint:document.directory:0
|
||||
msgid "Directory must have a parent or a storage"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: model:ir.model,name:caldav.model_basic_calendar_todo
|
||||
msgid "basic.calendar.todo"
|
||||
msgstr ""
|
||||
|
||||
#. module: caldav
|
||||
#: help:basic.calendar,calendar_order:0
|
||||
msgid "For supporting clients, the order of this folder among the calendars"
|
||||
msgstr ""
|
||||
@@ -15,8 +15,10 @@
|
||||
<separator string="Description" colspan="4"/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<separator colspan="4"/>
|
||||
|
||||
|
||||
<group col="4" colspan="4">
|
||||
<label string="" colspan="2"/>
|
||||
<button special="cancel" string="_Close" icon="gtk-close"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -84,7 +84,6 @@ Creates a dashboard for CRM that includes:
|
||||
'wizard/crm_opportunity_to_phonecall_view.xml',
|
||||
'wizard/crm_partner_to_opportunity_view.xml',
|
||||
|
||||
# 'wizard/crm_send_email_view.xml',
|
||||
'wizard/crm_add_note_view.xml',
|
||||
'wizard/crm_merge_opportunities_view.xml',
|
||||
|
||||
|
||||
+10
-18
@@ -307,14 +307,6 @@ class crm_case(object):
|
||||
else:
|
||||
return {'value': {'phone': address.phone}}
|
||||
|
||||
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None):
|
||||
thread_pool = self.pool.get('email.thread')
|
||||
return thread_pool.history(cr, uid, cases, keyword, history=history,\
|
||||
subject=subject, email=email, \
|
||||
details=details, email_from=email_from,\
|
||||
message_id=message_id, attach=attach, \
|
||||
context=context)
|
||||
|
||||
def case_open(self, cr, uid, ids, *args):
|
||||
"""Opens Case
|
||||
@param self: The object pointer
|
||||
@@ -325,7 +317,7 @@ class crm_case(object):
|
||||
"""
|
||||
|
||||
cases = self.browse(cr, uid, ids)
|
||||
self._history(cr, uid, cases, _('Open'))
|
||||
self.history(cr, uid, cases, _('Open'))
|
||||
for case in cases:
|
||||
data = {'state': 'open', 'active': True}
|
||||
if not case.user_id:
|
||||
@@ -346,7 +338,7 @@ class crm_case(object):
|
||||
"""
|
||||
cases = self.browse(cr, uid, ids)
|
||||
cases[0].state # to fill the browse record cache
|
||||
self._history(cr, uid, cases, _('Close'))
|
||||
self.history(cr, uid, cases, _('Close'))
|
||||
self.write(cr, uid, ids, {'state': 'done',
|
||||
'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
})
|
||||
@@ -377,7 +369,7 @@ class crm_case(object):
|
||||
raise osv.except_osv(_('Error !'), _('You can not escalate, You are already at the top level regarding your sales-team category.'))
|
||||
self.write(cr, uid, [case.id], data)
|
||||
cases = self.browse(cr, uid, ids)
|
||||
self._history(cr, uid, cases, _('Escalate'))
|
||||
self.history(cr, uid, cases, _('Escalate'))
|
||||
self._action(cr, uid, cases, 'escalate')
|
||||
return True
|
||||
|
||||
@@ -391,7 +383,7 @@ class crm_case(object):
|
||||
"""
|
||||
cases = self.browse(cr, uid, ids)
|
||||
cases[0].state # to fill the browse record cache
|
||||
self._history(cr, uid, cases, _('Cancel'))
|
||||
self.history(cr, uid, cases, _('Cancel'))
|
||||
self.write(cr, uid, ids, {'state': 'cancel',
|
||||
'active': True})
|
||||
self._action(cr, uid, cases, 'cancel')
|
||||
@@ -410,7 +402,7 @@ class crm_case(object):
|
||||
"""
|
||||
cases = self.browse(cr, uid, ids)
|
||||
cases[0].state # to fill the browse record cache
|
||||
self._history(cr, uid, cases, _('Pending'))
|
||||
self.history(cr, uid, cases, _('Pending'))
|
||||
self.write(cr, uid, ids, {'state': 'pending', 'active': True})
|
||||
self._action(cr, uid, cases, 'pending')
|
||||
return True
|
||||
@@ -425,7 +417,7 @@ class crm_case(object):
|
||||
"""
|
||||
cases = self.browse(cr, uid, ids)
|
||||
cases[0].state # to fill the browse record cache
|
||||
self._history(cr, uid, cases, _('Draft'))
|
||||
self.history(cr, uid, cases, _('Draft'))
|
||||
self.write(cr, uid, ids, {'state': 'draft', 'active': True})
|
||||
self._action(cr, uid, cases, 'draft')
|
||||
return True
|
||||
@@ -479,12 +471,12 @@ class crm_case(object):
|
||||
|
||||
body = self.format_body(body)
|
||||
|
||||
attach_to_send = None
|
||||
attach_to_send = {}
|
||||
|
||||
if attach:
|
||||
attach_ids = self.pool.get('ir.attachment').search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', case.id)])
|
||||
attach_to_send = self.pool.get('ir.attachment').read(cr, uid, attach_ids, ['datas_fname', 'datas'])
|
||||
attach_to_send = map(lambda x: (x['datas_fname'], base64.decodestring(x['datas'])), attach_to_send)
|
||||
attach_to_send = dict(map(lambda x: (x['datas_fname'], base64.decodestring(x['datas'])), attach_to_send))
|
||||
|
||||
# Send an email
|
||||
subject = "Reminder: [%s] %s" % (str(case.id), case.name, )
|
||||
@@ -498,7 +490,6 @@ class crm_case(object):
|
||||
openobject_id=str(case.id),
|
||||
attach=attach_to_send
|
||||
)
|
||||
self._history(cr, uid, [case], _('Send'), history=True, subject=subject, email=dest, details=body, email_from=src)
|
||||
return True
|
||||
|
||||
def _check(self, cr, uid, ids=False, context=None):
|
||||
@@ -667,7 +658,8 @@ class crm_case_section(osv.osv):
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not isinstance(ids, list) :
|
||||
ids = [ids]
|
||||
res = []
|
||||
if not ids:
|
||||
return res
|
||||
|
||||
@@ -125,7 +125,7 @@ this if you want the rule to send an email to the partner."),
|
||||
|
||||
# Put state change by rule in communication history
|
||||
if hasattr(obj, 'state') and action.act_state:
|
||||
model_obj._history(cr, uid, [obj], _(action.act_state))
|
||||
model_obj.history(cr, uid, [obj], _(action.act_state))
|
||||
|
||||
model_obj.write(cr, uid, [obj.id], write, context)
|
||||
emails = []
|
||||
|
||||
+39
-4
@@ -100,8 +100,8 @@ class crm_lead(crm_case, osv.osv):
|
||||
|
||||
def _history_search(self, cr, uid, obj, name, args, context=None):
|
||||
res = []
|
||||
msg_obj = self.pool.get('mailgate.message')
|
||||
message_ids = msg_obj.search(cr, uid, [('history','=',True), ('name', args[0][1], args[0][2])], context=context)
|
||||
msg_obj = self.pool.get('email.message')
|
||||
message_ids = msg_obj.search(cr, uid, [('history','=',True), ('subject', args[0][1], args[0][2])], context=context)
|
||||
lead_ids = self.search(cr, uid, [('message_ids', 'in', message_ids)], context=context)
|
||||
|
||||
if lead_ids:
|
||||
@@ -115,7 +115,7 @@ class crm_lead(crm_case, osv.osv):
|
||||
res[obj.id] = ''
|
||||
for msg in obj.message_ids:
|
||||
if msg.history:
|
||||
res[obj.id] = msg.name
|
||||
res[obj.id] = msg.subject
|
||||
break
|
||||
return res
|
||||
|
||||
@@ -328,6 +328,13 @@ class crm_lead(crm_case, osv.osv):
|
||||
self.write(cr, uid, ids, data)
|
||||
return stage
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
for lead in self.browse(cr, uid, ids, context):
|
||||
if (not lead.section_id.allow_unlink) and (lead.state <> 'draft'):
|
||||
raise osv.except_osv(_('Warning !'),
|
||||
_('You can not delete this lead. You should better cancel it.'))
|
||||
return super(crm_lead, self).unlink(cr, uid, ids, context)
|
||||
|
||||
def message_new(self, cr, uid, msg, context=None):
|
||||
"""
|
||||
Automatically calls when new email message arrives
|
||||
@@ -358,7 +365,22 @@ class crm_lead(crm_case, osv.osv):
|
||||
if res:
|
||||
vals.update(res)
|
||||
|
||||
return self.create(cr, uid, vals, context)
|
||||
res_id = self.create(cr, uid, vals, context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, [res_id], _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
|
||||
return res_id
|
||||
|
||||
def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
|
||||
"""
|
||||
@@ -395,6 +417,19 @@ class crm_lead(crm_case, osv.osv):
|
||||
if case.state in CRM_LEAD_PENDING_STATES:
|
||||
values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open
|
||||
res = self.write(cr, uid, [case.id], values, context=context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, ids, _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
return res
|
||||
|
||||
def on_change_optin(self, cr, uid, ids, optin):
|
||||
|
||||
@@ -108,7 +108,6 @@
|
||||
<field name="email_from" widget="email"/>
|
||||
<button string="Send Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'crm.lead', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action" colspan="1"/>
|
||||
<newline/>
|
||||
<field name="phone"/>
|
||||
@@ -193,7 +192,8 @@
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
icon="terp-mail-replied" type="action" />
|
||||
</tree>
|
||||
<form string="Communication history">
|
||||
|
||||
<form string="History">
|
||||
<group col="4" colspan="4">
|
||||
<field name="email_from"/>
|
||||
<field name="date"/>
|
||||
@@ -204,6 +204,7 @@
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<field name="body" colspan="4" nolabel="1"/>
|
||||
<group attrs="{'invisible': [('history', '!=', True)]}">
|
||||
<field name="body" colspan="4" nolabel="1" height="250"/>
|
||||
<button colspan="4" string="Reply"
|
||||
@@ -211,14 +212,11 @@
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
icon="terp-mail-replied" type="action"/>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('history', '=', True)]}">
|
||||
<field name="display_text" colspan="4" nolabel="1" height="250"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Attachments">
|
||||
<field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
<button string="Add Internal Note"
|
||||
@@ -227,7 +225,6 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'crm.lead', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
<tree string="Invitation details" editable="top">
|
||||
<field name="sent_by_uid" string="From"/>
|
||||
<field name="user_id" string="To"/>
|
||||
<field name="email" string="Mail TO"/>
|
||||
<field name="email" string="Mail To"/>
|
||||
<field name="role" select="1" />
|
||||
<field name="state" />
|
||||
<button name="do_tentative"
|
||||
@@ -179,7 +179,7 @@
|
||||
<field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }"/>
|
||||
<label string=" " colspan="2" />
|
||||
<newline />
|
||||
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
|
||||
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')], 'required': [('end_type', '=', 'end_date')]}"/>
|
||||
<newline />
|
||||
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
<field name="email_from" string="Email" />
|
||||
<button string="Send Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model': 'crm.lead', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</group>
|
||||
<field name="phone"/>
|
||||
@@ -155,8 +154,9 @@
|
||||
<field name="date"/>
|
||||
<field name="email_to" size="512"/>
|
||||
<field name="email_cc" size="512"/>
|
||||
<field name="subject" colspan="4" attrs="{'invisible': [('history', '=', True)]}"/>
|
||||
<field name="display_text" colspan="4" attrs="{'invisible': [('history', '=', False)]}"/>
|
||||
|
||||
<field name="subject" colspan="4" widget="char" attrs="{'invisible': [('history', '=', False)]}" size="512"/>
|
||||
<field name="display_text" colspan="4" attrs="{'invisible': [('history', '=', True)]}"/>
|
||||
<field name="history" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
@@ -166,7 +166,7 @@
|
||||
<button colspan="4"
|
||||
string="Reply"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
context="{'mail':'reply'}"
|
||||
icon="terp-mail-replied" type="action" />
|
||||
</group>
|
||||
|
||||
@@ -183,7 +183,6 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model': 'crm.lead', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<data>
|
||||
|
||||
<menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="0"
|
||||
groups="base.group_sale_manager,base.group_sale_salesman,base.group_partner_manager"/>
|
||||
groups="base.group_sale_manager,base.group_sale_salesman"/>
|
||||
|
||||
<menuitem id="base.menu_crm_config_lead" name="Leads & Opportunities"
|
||||
parent="base.menu_base_config" sequence="1" groups="base.group_sale_manager"/>
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-01-17 06:57+0000\n"
|
||||
"Last-Translator: Paulius Sladkevičius - inovera.lt <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-04-26 14:24+0000\n"
|
||||
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-18 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-27 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
"Language: lt\n"
|
||||
|
||||
#. module: crm
|
||||
@@ -1613,7 +1613,7 @@ msgstr "Nuorodos"
|
||||
#: view:res.partner:0
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr "Atšaukti"
|
||||
msgstr "Atsisakyti"
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_res_users
|
||||
|
||||
+35
-16
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-31 18:13+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"PO-Revision-Date: 2011-04-25 08:48+0000\n"
|
||||
"Last-Translator: Stanislav Hanzhin <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-01 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-26 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead.report:0
|
||||
@@ -271,6 +271,10 @@ msgid ""
|
||||
"sort out your leads analysis by different groups to get accurate grained "
|
||||
"analysis."
|
||||
msgstr ""
|
||||
"Анализ кандидатов позволяет контролировать различную информацию о "
|
||||
"взаимоотношениях с клиентами. Проверять частоту обращений, количество "
|
||||
"ответов и отосланных писем. Вы можете разбить анализ кандидатов на группы "
|
||||
"для получения более подробного анализа."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -448,6 +452,11 @@ msgid ""
|
||||
"customer. You can also import a .CSV file with a list of calls to be done by "
|
||||
"your sales team."
|
||||
msgstr ""
|
||||
"\"Исходящие звонки\" - список всех звонков, которые предстоит сделать вашему "
|
||||
"отделу продаж. Менеджер продаж может записывать информацию о звонке. Эта "
|
||||
"информация будет привязана к контрагенту для отслеживания каждого контакта с "
|
||||
"ним. Так же вы можете импортировать файл в формате CSV со списком "
|
||||
"необходимых звонков звонков вашего отдела продаж."
|
||||
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_crm_lead2opportunity_action
|
||||
@@ -660,6 +669,8 @@ msgid ""
|
||||
"Default state of mind for period preceeding the 'Max Interval' computation. "
|
||||
"This is the starting state of mind by default if the partner has no event."
|
||||
msgstr ""
|
||||
"Мнение по умолчанию для периода предшествующего вычислению 'Макс. интервал'. "
|
||||
"Это мнение по умолчанию для контрагентов без обращений."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,end_type:0
|
||||
@@ -1317,7 +1328,7 @@ msgstr "Рассылки"
|
||||
#. module: crm
|
||||
#: field:crm.meeting,class:0
|
||||
msgid "Mark as"
|
||||
msgstr "Пометить как"
|
||||
msgstr "Отметить как"
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.meeting,count:0
|
||||
@@ -1327,7 +1338,7 @@ msgstr "Повторить"
|
||||
#. module: crm
|
||||
#: help:crm.meeting,rrule_type:0
|
||||
msgid "Let the event automatically repeat at that interval"
|
||||
msgstr "Пусть события автоматически повторяются с этим интервалом"
|
||||
msgstr "Пусть событие автоматически повторяется с этим интервалом"
|
||||
|
||||
#. module: crm
|
||||
#: view:base.action.rule:0
|
||||
@@ -1434,7 +1445,7 @@ msgstr "crm.lead"
|
||||
#. module: crm
|
||||
#: field:crm.meeting,write_date:0
|
||||
msgid "Write Date"
|
||||
msgstr ""
|
||||
msgstr "Дата записи"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
@@ -1537,7 +1548,7 @@ msgstr "Предложения по категориям"
|
||||
#. module: crm
|
||||
#: view:crm.meeting:0
|
||||
msgid "Choose day in the month where repeat the meeting"
|
||||
msgstr "Выбери день месяца, когда повторить встречу."
|
||||
msgstr "Выберите день месяца, когда повторить встречу."
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
@@ -1622,7 +1633,7 @@ msgstr "Объединить два предложения"
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,end_type:0
|
||||
msgid "Fix amout of times"
|
||||
msgstr ""
|
||||
msgstr "Определенное количество раз"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.lead:0
|
||||
@@ -1785,6 +1796,10 @@ msgid ""
|
||||
"sent/to be sent to your colleagues/partners. You can not only invite OpenERP "
|
||||
"users, but also external parties, such as a customer."
|
||||
msgstr ""
|
||||
"Используя \"Приглашения\" вы можете создавать и управлять приглашениями на "
|
||||
"совещания, которые отправлены или будут отправлены вашим "
|
||||
"коллегам/контрагентам. Вы можете приглашать не только пользователей OpenERP, "
|
||||
"но и внешних адресатов, например заказчиков."
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,week_list:0
|
||||
@@ -1940,6 +1955,10 @@ msgid ""
|
||||
"with a partner. From the phone call form, you can trigger a request for "
|
||||
"another call, a meeting or an opportunity."
|
||||
msgstr ""
|
||||
"Функция \"Входящие звонки\" позволяет вам быстро описывать входящие звонки. "
|
||||
"Каждый звонок будет связан с контрагентом для отслеживания каждого контакта. "
|
||||
"Из формы ввода звонка вы можете запланировать следующий звонок, совещание "
|
||||
"или предложение."
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.meeting,recurrency:0
|
||||
@@ -2472,7 +2491,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: help:crm.installer,crm_fundraising:0
|
||||
msgid "This may help associations in their fundraising process and tracking."
|
||||
msgstr ""
|
||||
msgstr "Это может помочь ассоциациям в сборе средств и их отслеживании."
|
||||
|
||||
#. module: crm
|
||||
#: field:crm.lead2opportunity.partner,action:0
|
||||
@@ -2527,7 +2546,7 @@ msgstr "Другое"
|
||||
#: selection:crm.meeting,state:0
|
||||
#: selection:crm.phonecall,state:0
|
||||
msgid "Done"
|
||||
msgstr "Готово"
|
||||
msgstr "Сделано"
|
||||
|
||||
#. module: crm
|
||||
#: help:crm.meeting,interval:0
|
||||
@@ -2587,7 +2606,7 @@ msgstr "Техподдержка"
|
||||
#. module: crm
|
||||
#: field:crm.meeting,recurrency:0
|
||||
msgid "Recurrent"
|
||||
msgstr "Повторение"
|
||||
msgstr "Повторяющийся"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm.py:397
|
||||
@@ -2742,7 +2761,7 @@ msgstr "Кандидат в Предложение"
|
||||
#. module: crm
|
||||
#: model:ir.model,name:crm.model_calendar_attendee
|
||||
msgid "Attendee information"
|
||||
msgstr "Информация о участнике"
|
||||
msgstr "Информация об участнике"
|
||||
|
||||
#. module: crm
|
||||
#: view:crm.segmentation:0
|
||||
@@ -2940,7 +2959,7 @@ msgstr "Кем предложено"
|
||||
#: view:crm.lead:0
|
||||
#: model:ir.model,name:crm.model_crm_add_note
|
||||
msgid "Add Internal Note"
|
||||
msgstr "Добавить внутреннею запись"
|
||||
msgstr "Добавить внутреннею заметку"
|
||||
|
||||
#. module: crm
|
||||
#: code:addons/crm/crm_lead.py:304
|
||||
@@ -3218,7 +3237,7 @@ msgstr ""
|
||||
#. module: crm
|
||||
#: field:crm.meeting,exdate:0
|
||||
msgid "Exception Date/Times"
|
||||
msgstr ""
|
||||
msgstr "Дата/время исключительной ситуации"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,class:0
|
||||
@@ -3916,7 +3935,7 @@ msgstr "Подтвердить"
|
||||
#. module: crm
|
||||
#: field:crm.segmentation.line,expr_name:0
|
||||
msgid "Control Variable"
|
||||
msgstr ""
|
||||
msgstr "Управляющая переменная"
|
||||
|
||||
#. module: crm
|
||||
#: selection:crm.meeting,byday:0
|
||||
|
||||
@@ -44,9 +44,9 @@ class crm_add_note(osv.osv_memory):
|
||||
case = case_list[0]
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_name = user_obj.browse(cr, uid, [uid], context=context)[0].name
|
||||
attach = [
|
||||
attach = dict(
|
||||
(x.name, base64.decodestring(x.binary)) for x in obj.attachment_ids
|
||||
]
|
||||
)
|
||||
case_pool.history(cr, uid, [case], self.pool.get('email.message').truncate_data(cr, uid, obj.body, context=context), history=False,
|
||||
details=obj.body, email_from=user_name, attach=attach)
|
||||
|
||||
|
||||
@@ -65,8 +65,8 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
||||
ids = lead_obj.search(cr, uid, [('partner_id', '=', partner_id), ('type', '=', 'opportunity'), '!', ('state', 'in', ['done', 'cancel'])])
|
||||
if ids:
|
||||
opportunities.append(ids[0])
|
||||
|
||||
|
||||
|
||||
|
||||
if not partner_id:
|
||||
label = False
|
||||
opp_ids = []
|
||||
@@ -143,15 +143,13 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
||||
def send_mail_to_salesman(self, lead):
|
||||
email_to = lead.user_id and lead.user_id.user_email
|
||||
if not email_to:
|
||||
return
|
||||
return False
|
||||
message_pool = self.pool.get('email.message')
|
||||
email_from = lead.section_id and lead.section_id.user_id and lead.section_id.user_id.user_email or email_to
|
||||
partner = lead.partner_id and lead.partner_id.name or lead.partner_name
|
||||
partner = lead.partner_id and lead.partner_id.name or lead.partner_name
|
||||
subject = "lead %s converted into opportunity" % lead.name
|
||||
body = "Info \n Id : %s \n Subject: %s \n Partner: %s \n Description : %s " % (lead.id, lead.name, lead.partner_id.name, lead.description)
|
||||
try :
|
||||
tools.email_send(email_from, [email_to], subject, body)
|
||||
except:
|
||||
pass
|
||||
body = "Info \n Id : %s \n Subject: %s \n Partner: %s \n Description : %s " % (lead.id, lead.name, lead.partner_id.name, lead.description)
|
||||
return message_pool.schedule_with_attach(cr, uid, email_from, [email_to], subject, body)
|
||||
|
||||
def action_apply(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
|
||||
@@ -171,7 +171,7 @@ class crm_merge_opportunity(osv.osv_memory):
|
||||
subject = subject[0] + ", ".join(subject[1:])
|
||||
details = "\n\n".join(details)
|
||||
|
||||
opp_obj._history(cr, uid, [first_opportunity], subject, details=details)
|
||||
opp_obj.history(cr, uid, [first_opportunity], subject, details=details)
|
||||
#data.update({'message_ids' : [(6, 0 ,self._concat_o2m('message_ids', op_ids))]})
|
||||
opp_obj.write(cr, uid, [first_opportunity.id], data)
|
||||
unlink_ids = map(lambda x: x.id, tail_opportunities)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<newline/>
|
||||
<field name="user_id" />
|
||||
<field name="section_id" widget="selection" />
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
<field name="categ_id" string="Type" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
<separator string="" colspan="4"/>
|
||||
<group colspan="4">
|
||||
<label string ="" colspan="2"/>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="model">crm.partner2opportunity</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Convert To Opportunity">
|
||||
<form string="Create Opportunity">
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<newline/>
|
||||
|
||||
@@ -55,7 +55,7 @@ class crm_phonecall2opportunity(osv.osv_memory):
|
||||
case = phonecall_obj.browse(cr, uid, record_id, context=context)
|
||||
if case.state in ['done', 'cancel']:
|
||||
raise osv.except_osv(_("Warning"), _("Closed/Cancelled Phone \
|
||||
Call Could not convert into Opportunity"))
|
||||
Call can not be converted into Opportunity"))
|
||||
|
||||
|
||||
def action_apply(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<field name="date" string="Planned Date"/>
|
||||
<field name="user_id" />
|
||||
<field name="section_id"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
<field name="categ_id" string="Type" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
<separator string=" " colspan="4"/>
|
||||
<group colspan="4" col="3" >
|
||||
<label string=" " />
|
||||
|
||||
@@ -1,292 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from crm import crm
|
||||
from osv import osv, fields
|
||||
from tools.translate import _
|
||||
import base64
|
||||
import itertools
|
||||
import tools
|
||||
import re
|
||||
|
||||
|
||||
AVAILABLE_STATES = crm.AVAILABLE_STATES + [('unchanged', 'Unchanged')]
|
||||
|
||||
class crm_send_new_email(osv.osv_memory):
|
||||
""" Sends new email for the case"""
|
||||
_name = "crm.send.mail"
|
||||
_description = "Send new email"
|
||||
|
||||
_columns = {
|
||||
'email_to' : fields.char('To', size=512, required=True),
|
||||
'email_from' : fields.char('From', size=128, required=True),
|
||||
'reply_to' : fields.char('Reply To', size=128, required=True, help="Reply-to of the Sales team defined on this case"),
|
||||
'email_cc' : fields.char('CC', size=512, help="These addresses will receive a copy of this email. To modify the permanent CC list, edit the global CC field of this case"),
|
||||
'subject': fields.char('Subject', size=512, required=True),
|
||||
'body': fields.text('Message Body', required=True),
|
||||
'state': fields.selection(AVAILABLE_STATES, string='Set New State To', required=True),
|
||||
'attachment_ids' : fields.one2many('crm.send.mail.attachment', 'wizard_id', 'Attachment'),
|
||||
'html': fields.boolean('HTML formatting?', help="Select this if you want to send email with HTML formatting."),
|
||||
}
|
||||
|
||||
def action_mass_send(self, cr, uid, ids, context=None):
|
||||
|
||||
if not context:
|
||||
context = {}
|
||||
|
||||
context.update({'mail' : 'new'})
|
||||
actives_ids = context.get('active_ids')
|
||||
print "mass_mail", context.get('mass_mail')
|
||||
model = context.get('active_model')
|
||||
case_pool = self.pool.get(model)
|
||||
for id in actives_ids:
|
||||
context.update({'active_id' : id})
|
||||
self.action_send(cr, uid, ids, context=context)
|
||||
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def action_send(self, cr, uid, ids, context=None):
|
||||
""" This sends an email to ALL the addresses of the selected partners.
|
||||
"""
|
||||
email_message_obj = self.pool.get('email.message')
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not context.get('active_model'):
|
||||
raise osv.except_osv(_('Error'), _('Can not send mail!'))
|
||||
|
||||
model = context.get('active_model')
|
||||
case_pool = self.pool.get(model)
|
||||
res_id = context and context.get('active_id', False) or False
|
||||
|
||||
|
||||
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
attach = [
|
||||
(x.name, base64.decodestring(x.binary)) for x in obj.attachment_ids
|
||||
]
|
||||
|
||||
subtype = 'plain'
|
||||
message_id = None
|
||||
ref_id = None
|
||||
|
||||
case = case_pool.browse(cr, uid, res_id, context=context)
|
||||
if context.get('mail', 'new') == 'new':
|
||||
if case.message_ids:
|
||||
message_id = case.message_ids[0].message_id
|
||||
elif context.get('mail') == 'forward':
|
||||
# extract attachements from case and emails according to mode
|
||||
attachments = []
|
||||
attach_pool = self.pool.get('ir.attachment')
|
||||
direct_attachments = attach_pool.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', res_id)], context=context)
|
||||
attachments += attach_pool.browse(cr, uid, direct_attachments, context=context)
|
||||
if obj.history in ['latest', 'whole'] and case.message_ids:
|
||||
msgs = case.message_ids
|
||||
if obj.history == 'latest':
|
||||
msgs = msgs[:1]
|
||||
attachments.extend(itertools.chain(*[m.attachment_ids for m in msgs]))
|
||||
attach_all = [(a.datas_fname or a.name, base64.decodestring(a.datas)) for a in attachments if a.datas]
|
||||
attach += attach_all
|
||||
|
||||
else:
|
||||
hist = email_message_obj.browse(cr, uid, res_id, context=context)
|
||||
message_id = hist.message_id
|
||||
model = hist.model
|
||||
case_pool = self.pool.get(model)
|
||||
res_id = hist.res_id
|
||||
ref_id = hist.ref_id
|
||||
case = case_pool.browse(cr, uid, res_id, context=context)
|
||||
|
||||
if context.get('mass_mail'):
|
||||
email_temp = case.email_from and tools.ustr(case.email_from) or ''
|
||||
emails = re.findall(r'([^ ,<@]+@[^> ,]+)', email_temp)
|
||||
else:
|
||||
emails = re.findall(r'([^ ,<@]+@[^> ,]+)', obj.email_to or '')
|
||||
|
||||
email_cc = re.findall(r'([^ ,<@]+@[^> ,]+)', obj.email_cc or '')
|
||||
|
||||
emails = filter(None, emails)
|
||||
body = obj.body
|
||||
|
||||
body = body and tools.ustr(body) or ''
|
||||
email_from = getattr(obj, 'email_from', False)
|
||||
x_headers = {}
|
||||
if message_id:
|
||||
x_headers['References'] = "%s" % (message_id)
|
||||
|
||||
if obj.html:
|
||||
subtype = 'html'
|
||||
|
||||
flag = email_message_obj.schedule_with_attach(cr, uid,
|
||||
email_from,
|
||||
emails,
|
||||
obj.subject,
|
||||
body,
|
||||
model='crm.send.mail',
|
||||
email_cc=email_cc,
|
||||
attach=attach,
|
||||
subtype=subtype,
|
||||
reply_to=obj.reply_to,
|
||||
openobject_id=str(case.id),
|
||||
x_headers=x_headers
|
||||
)
|
||||
|
||||
if not flag:
|
||||
raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))
|
||||
|
||||
msg_dict = {'new': 'Send', 'reply': 'Reply', 'forward': 'Forward'}
|
||||
case_pool.history(cr, uid, [case], _(msg_dict[context.get('mail', 'new')]), history=True, \
|
||||
email=obj.email_to, details=body, \
|
||||
subject=obj.subject, email_from=email_from, \
|
||||
email_cc=', '.join(email_cc), message_id=message_id, \
|
||||
references=ref_id or message_id, attach=attach)
|
||||
if obj.state == 'unchanged':
|
||||
pass
|
||||
elif obj.state == 'done':
|
||||
case_pool.case_close(cr, uid, [case.id])
|
||||
elif obj.state == 'draft':
|
||||
case_pool.case_reset(cr, uid, [case.id])
|
||||
elif obj.state in ['cancel', 'open', 'pending']:
|
||||
act = 'case_' + obj.state
|
||||
getattr(case_pool, act)(cr, uid, [case.id])
|
||||
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
This function gets default values
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not context.get('active_model'):
|
||||
raise osv.except_osv(_('Error'), _('Can not send mail!'))
|
||||
|
||||
res = super(crm_send_new_email, self).default_get(cr, uid, fields, context=context)
|
||||
|
||||
if context.get('mail') == 'reply':
|
||||
res.update(self.get_reply_defaults(cr, uid, fields, context=context))
|
||||
return res
|
||||
|
||||
model = context.get('active_model')
|
||||
mod_obj = self.pool.get(model)
|
||||
res_id = context and context.get('active_ids', []) or []
|
||||
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_mail_from = user_obj._get_email_from(cr, uid, [uid], context=context)[uid]
|
||||
for case in mod_obj.browse(cr, uid, res_id, context=context):
|
||||
if 'email_to' in fields:
|
||||
res.update({'email_to': case.email_from and tools.ustr(case.email_from) or ''})
|
||||
if context.get('mass_mail'):
|
||||
res.update({'email_to': ''})
|
||||
if 'email_from' in fields:
|
||||
res.update({'email_from': user_mail_from and tools.ustr(user_mail_from) or ''})
|
||||
if 'reply_to' in fields:
|
||||
if hasattr(case, 'section_id'):
|
||||
res.update({'reply_to': case.section_id and case.section_id.reply_to or False})
|
||||
if 'subject' in fields:
|
||||
res.update({'subject': tools.ustr(context.get('subject', case.name) or '')})
|
||||
if context.get('mass_mail'):
|
||||
res.update({'subject': ''})
|
||||
if 'email_cc' in fields:
|
||||
res.update({'email_cc': tools.ustr(case.email_cc or '')})
|
||||
if context.get('mass_mail'):
|
||||
res.update({'email_cc': ''})
|
||||
if 'body' in fields:
|
||||
res.update({'body': u'\n'+(tools.ustr(case.user_id.signature or ''))})
|
||||
if 'state' in fields:
|
||||
res.update({'state': u'pending'})
|
||||
|
||||
return res
|
||||
|
||||
def get_reply_defaults(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
This function gets default values for reply mail
|
||||
"""
|
||||
hist_obj = self.pool.get('email.message')
|
||||
res_ids = context and context.get('active_ids', []) or []
|
||||
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_mail_from = user_obj._get_email_from(cr, uid, [uid], context=context)[uid]
|
||||
|
||||
include_original = context and context.get('include_original', False) or False
|
||||
res = {}
|
||||
for hist in hist_obj.browse(cr, uid, res_ids, context=context):
|
||||
model = hist.model
|
||||
|
||||
# In the case where the crm.case does not exist in the database
|
||||
if not model:
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
model_pool = self.pool.get(model)
|
||||
res_id = hist.res_id
|
||||
case = model_pool.browse(cr, uid, res_id)
|
||||
if 'email_to' in fields:
|
||||
res.update({'email_to': case.email_from and tools.ustr(case.email_from) or False})
|
||||
if 'email_from' in fields:
|
||||
res.update({'email_from': user_mail_from and tools.ustr(user_mail_from) or False})
|
||||
|
||||
signature = u'\n' + (tools.ustr(case.user_id.signature or '')) + u'\n'
|
||||
original = [signature]
|
||||
|
||||
if include_original == True and 'body' in fields:
|
||||
header = u'-------- Original Message --------'
|
||||
sender = u'From: %s' %(tools.ustr(hist.email_from or ''))
|
||||
to = u'To: %s' % (tools.ustr(hist.email_to or ''))
|
||||
sentdate = u'Date: %s' % (tools.ustr(hist.date))
|
||||
desc = u'\n%s'%(tools.ustr(hist.description))
|
||||
|
||||
original = [signature, header, sender, to, sentdate, desc]
|
||||
|
||||
res['body']= u'\n' + u'\n'.join(original)
|
||||
|
||||
if 'subject' in fields:
|
||||
res.update({u'subject': u'Re: %s' %(tools.ustr(hist.name or ''))})
|
||||
if 'email_cc' in fields:
|
||||
email_cc = (case.email_cc and tools.ustr(case.email_cc) + ', ' or '') + (hist.email_cc or '')
|
||||
res.update({'email_cc': email_cc})
|
||||
if 'reply_to' in fields:
|
||||
if hasattr(case, 'section_id'):
|
||||
res.update({'reply_to': case.section_id.reply_to or ''})
|
||||
if 'state' in fields:
|
||||
res['state'] = u'pending'
|
||||
return res
|
||||
|
||||
def view_init(self, cr, uid, fields_list, context=None):
|
||||
"""
|
||||
This function checks for precondition before wizard executes
|
||||
@param self: The object pointer
|
||||
@param cr: the current row, from the database cursor,
|
||||
@param uid: the current user’s ID for security checks,
|
||||
@param fields: List of fields for default value
|
||||
@param context: A standard dictionary for contextual values
|
||||
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not context.get('active_model'):
|
||||
raise osv.except_osv(_('Error'), _('Can not send mail!'))
|
||||
return True
|
||||
|
||||
crm_send_new_email()
|
||||
|
||||
@@ -1,154 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Send New Mail view -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_send_new_mail_view">
|
||||
<field name="name">crm.new.send.mail.form</field>
|
||||
<field name="model">crm.send.mail</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send Mail" col="4">
|
||||
<group colspan="4" col="2">
|
||||
<field name="email_from"/>
|
||||
<field name="reply_to"/>
|
||||
<field name="email_to" />
|
||||
<field name="email_cc"/>
|
||||
<field name="subject"/>
|
||||
<field name="html"/>
|
||||
</group>
|
||||
<notebook colspan="6">
|
||||
<page string="Message">
|
||||
<field name="body" nolabel="1" colspan="4" default_focus="1"/>
|
||||
</page>
|
||||
<page string="Attachments">
|
||||
<field name="attachment_ids" colspan="4" nolabel="1">
|
||||
<form string="Attachment">
|
||||
<field name="binary" filename="name" />
|
||||
<field name="name" />
|
||||
</form>
|
||||
<tree string="Attachments">
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<separator string="" colspan="6"/>
|
||||
<group colspan="6" col="4" >
|
||||
<field name="state" />
|
||||
<button string="_Cancel" icon="gtk-close" special="cancel" />
|
||||
<button name="action_send" type="object" string="_Send" icon="gtk-go-forward" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="crm_send_new_mass_mail_view">
|
||||
<field name="name">crm.new.send.mass.mail.form</field>
|
||||
<field name="model">crm.send.mail</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send Mail" col="4">
|
||||
<group colspan="4" col="2">
|
||||
<field name="email_from"/>
|
||||
<field name="reply_to"/>
|
||||
<field name="email_cc"/>
|
||||
<field name="subject" />
|
||||
<field name="html"/>
|
||||
</group>
|
||||
<notebook colspan="6">
|
||||
<page string="Message">
|
||||
<field name="body" nolabel="1" colspan="4" default_focus="1"/>
|
||||
</page>
|
||||
<page string="Attachments">
|
||||
<field name="attachment_ids" colspan="4" nolabel="1">
|
||||
<form string="Attachment">
|
||||
<field name="binary" filename="name" />
|
||||
<field name="name" />
|
||||
</form>
|
||||
<tree string="Attachments">
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<separator string="" colspan="6"/>
|
||||
<group colspan="6" col="4" >
|
||||
<field name="state" />
|
||||
<button string="_Cancel" icon="gtk-cancel" special="cancel" />
|
||||
<button name="action_mass_send" type="object" string="_Send to All" icon="gtk-go-forward" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Send New Mail action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_crm_send_mail">
|
||||
<field name="name">Send Mail</field>
|
||||
<field name="res_model">crm.send.mail</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="crm_send_new_mail_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
<act_window id="action_crm_send_mass_mail"
|
||||
multi="True"
|
||||
key2="client_action_multi" name="Send emails"
|
||||
res_model="crm.send.mail" src_model="crm.lead"
|
||||
view_mode="form" target="new" view_type="form"
|
||||
context="{'mass_mail' : True}"
|
||||
view_id="crm_send_new_mass_mail_view"/>
|
||||
|
||||
<!-- Reply to Mail view -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_reply_mail_view">
|
||||
<field name="name">crm.mail.reply.form</field>
|
||||
<field name="model">crm.send.mail</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Reply to last Mail" col="2">
|
||||
<field name="email_from" />
|
||||
<field name="email_to" />
|
||||
<field name="email_cc" />
|
||||
<field name="subject" />
|
||||
<field name="attachment_ids" colspan="4" nolabel="1">
|
||||
<form string="Attachment">
|
||||
<field name="binary" filename="name" />
|
||||
<field name="name" />
|
||||
</form>
|
||||
<tree string="Attachments">
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
<separator string="" colspan="4"/>
|
||||
<field name="body" nolabel="1" colspan="4"/>
|
||||
<separator string=" " colspan="4"/>
|
||||
<group colspan="4" col="3" >
|
||||
<label string=" " />
|
||||
<button string="_Cancel" icon="gtk-close" special="cancel" />
|
||||
<button name="action_send" type="object" string="_Send Reply" icon="gtk-go-forward" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Reply to Mail action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_crm_reply_mail">
|
||||
<field name="name">Reply to last Mail</field>
|
||||
<field name="res_model">crm.send.mail</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="crm_reply_mail_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -31,6 +31,13 @@ class email_compose_message(osv.osv_memory):
|
||||
_inherit = 'email.compose.message'
|
||||
|
||||
def get_value(self, cr, uid, model, resource_id, context=None):
|
||||
'''
|
||||
To get values of the resource_id for the model
|
||||
@param model: Object
|
||||
@param resource_id: id of a record for which values to be read
|
||||
|
||||
@return: Returns a dictionary
|
||||
'''
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(email_compose_message, self).get_value(cr, uid, model, resource_id, context=context)
|
||||
@@ -38,13 +45,13 @@ class email_compose_message(osv.osv_memory):
|
||||
model_obj = self.pool.get(model)
|
||||
data = model_obj.browse(cr, uid , resource_id, context)
|
||||
result.update({
|
||||
'name' : data.name or False,
|
||||
'subject' : data.name or False,
|
||||
'email_to' : data.email_from or False,
|
||||
'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or False,
|
||||
'description' : '\n' + (tools.ustr(data.user_id.signature or '')),
|
||||
'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or tools.config.get('email_from', False),
|
||||
'body' : '\n' + (tools.ustr(data.user_id.signature or '')),
|
||||
'email_cc' : tools.ustr(data.email_cc or ''),
|
||||
'model': model or False,
|
||||
'res_id': resource_id or False,
|
||||
'model': model,
|
||||
'res_id': resource_id,
|
||||
})
|
||||
if hasattr(data, 'section_id'):
|
||||
result.update({'reply_to' : data.section_id and data.section_id.reply_to or False})
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Synchronyze this calendar"
|
||||
name="Synchronize This Calendar"
|
||||
action="action_caldav_browse"
|
||||
id="menu_caldav_browse"
|
||||
icon="STOCK_EXECUTE"
|
||||
|
||||
@@ -202,7 +202,22 @@ class crm_claim(crm.crm_case, osv.osv):
|
||||
if res:
|
||||
vals.update(res)
|
||||
|
||||
return self.create(cr, uid, vals, context)
|
||||
res_id = self.create(cr, uid, vals, context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, [res_id], _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
|
||||
return res_id
|
||||
|
||||
def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
|
||||
"""
|
||||
@@ -239,6 +254,19 @@ class crm_claim(crm.crm_case, osv.osv):
|
||||
if case.state in CRM_CLAIM_PENDING_STATES:
|
||||
values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open
|
||||
res = self.write(cr, uid, [case.id], values, context=context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, ids, _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
return res
|
||||
|
||||
crm_claim()
|
||||
|
||||
@@ -172,13 +172,14 @@
|
||||
<group colspan="4">
|
||||
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
|
||||
</group>
|
||||
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
|
||||
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
|
||||
<tree string="History">
|
||||
<field name="display_text" string="History Information"/>
|
||||
<field name="history" invisible="1"/>
|
||||
<button
|
||||
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
context="{'mail':'reply'}"
|
||||
icon="terp-mail-replied" type="action" />
|
||||
</tree>
|
||||
<form string="Communication & History">
|
||||
@@ -187,13 +188,13 @@
|
||||
<field name="date"/>
|
||||
<field name="email_to" widget="char" size="512"/>
|
||||
<field name="email_cc" widget="char" size="512"/>
|
||||
<field name="name" colspan="4" widget="char" size="512"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
<field name="history" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<group attrs="{'invisible': [('history', '!=', True)]}">
|
||||
<field name="description" colspan="4" nolabel="1" height="250"/>
|
||||
<field name="body" colspan="4" nolabel="1" height="250"/>
|
||||
<button colspan="4" string="Reply"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
@@ -215,7 +216,6 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'crm.claim', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
@@ -178,13 +178,13 @@
|
||||
<field name="date"/>
|
||||
<field name="email_to" widget="char" size="512"/>
|
||||
<field name="email_cc" widget="char" size="512"/>
|
||||
<field name="name" colspan="4" widget="char" size="512"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
<field name="history" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<group attrs="{'invisible': [('history', '!=', True)]}">
|
||||
<field name="description" colspan="4" nolabel="1" height="250"/>
|
||||
<field name="body" colspan="4" nolabel="1" height="250"/>
|
||||
<button colspan="4" string="Reply"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
@@ -206,7 +206,6 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'crm.fundraising', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
|
||||
@@ -0,0 +1,785 @@
|
||||
# Galician translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-04-14 16:37+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Galician <gl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-15 05:06+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,planned_revenue:0
|
||||
msgid "Planned Revenue"
|
||||
msgstr "Ingresos previstos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,nbr:0
|
||||
msgid "# of Cases"
|
||||
msgstr "Nº de casos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Group By..."
|
||||
msgstr "Agrupar por..."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,probability:0
|
||||
msgid "Avg. Probability"
|
||||
msgstr "Probabilidade media"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "March"
|
||||
msgstr "Marzo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,delay_close:0
|
||||
msgid "Delay to close"
|
||||
msgstr "Demora peche"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,company_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Compañía"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_fund_categ_action
|
||||
msgid "Fundraising Categories"
|
||||
msgstr "Categorías de recadación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,email_cc:0
|
||||
msgid "Watchers Emails"
|
||||
msgstr "Destinatarios de correos electrónicos (CC)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Cases"
|
||||
msgstr "Casos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Highest"
|
||||
msgstr "A máis alta"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,day:0
|
||||
msgid "Day"
|
||||
msgstr "Día"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Add Internal Note"
|
||||
msgstr "Engadir nota interna"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr "Móbil"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr "Mensaxes"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Amount"
|
||||
msgstr "Importe"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund4
|
||||
msgid "Arts And Culture"
|
||||
msgstr "Arte e cultura"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,amount_revenue:0
|
||||
msgid "Est.Revenue"
|
||||
msgstr "Beneficio est."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_address_id:0
|
||||
msgid "Partner Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid " Month "
|
||||
msgstr " Mes "
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,type_id:0
|
||||
msgid "Campaign"
|
||||
msgstr "Campaña"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_action_next:0
|
||||
msgid "Next Action"
|
||||
msgstr "Seguinte acción"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Reset to Draft"
|
||||
msgstr "Cambiar a modo Borrador"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Extra Info"
|
||||
msgstr "Información adicional"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.model,name:crm_fundraising.model_crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_config_fundrising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fund_raise
|
||||
msgid "Fund Raising"
|
||||
msgstr "Recadación de fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,partner_id:0
|
||||
#: field:crm.fundraising.report,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Socio"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_report_crm_fundraising_tree
|
||||
msgid "Fundraising Analysis"
|
||||
msgstr "Análise da recadación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.module.module,shortdesc:crm_fundraising.module_meta_information
|
||||
msgid "CRM Fundraising"
|
||||
msgstr "Recadación CRM"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Misc"
|
||||
msgstr "Varios"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,section_id:0
|
||||
msgid "Section"
|
||||
msgstr "Sección"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioridade"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Send New Email"
|
||||
msgstr "Enviar novo email"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund1
|
||||
msgid "Social Rehabilitation And Rural Upliftment"
|
||||
msgstr "Rehabilitación social e desenvolvemento rural"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modo de pagamento"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Reply"
|
||||
msgstr "Resposta"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,email_from:0
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,canal_id:0
|
||||
msgid "Channel"
|
||||
msgstr "Canle"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Lowest"
|
||||
msgstr "A máis baixa"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr "Data de creación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr "Data límite"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "July"
|
||||
msgstr "Xullo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_case_fundraising-act
|
||||
msgid "Categories"
|
||||
msgstr "Categorías"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,stage_id:0
|
||||
msgid "Stage"
|
||||
msgstr "Fase"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "History Information"
|
||||
msgstr "Información histórica"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Dates"
|
||||
msgstr "Datas"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_name2:0
|
||||
msgid "Employee Email"
|
||||
msgstr "E-mail do empregado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid " Month-1 "
|
||||
msgstr " Mes-1 "
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr "Anulado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund2
|
||||
msgid "Learning And Education"
|
||||
msgstr "Aprendizaxe e educación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Contact"
|
||||
msgstr "Contacto"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds Form"
|
||||
msgstr "Formulario fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Fund Description"
|
||||
msgstr "Descrición do fondo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising.report,delay_close:0
|
||||
msgid "Number of Days to close the case"
|
||||
msgstr "Número de días para pechar o caso"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "References"
|
||||
msgstr "Referencias"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.action_report_crm_fundraising
|
||||
#: model:ir.module.module,description:crm_fundraising.module_meta_information
|
||||
msgid "Fundraising"
|
||||
msgstr "Recadación de fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.action_report_crm_fundraising
|
||||
msgid ""
|
||||
"Have a general overview of all fund raising activities by sorting them with "
|
||||
"specific criteria such as the estimated revenue, average success probability "
|
||||
"and delay to close."
|
||||
msgstr ""
|
||||
"Obteña unha vista xeral de tódalas actividades de recadación ordenándoas por "
|
||||
"criterios específicos como beneficio estimado, probabilidade de éxito media "
|
||||
"e demora de peche."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "September"
|
||||
msgstr "Setembro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Communication"
|
||||
msgstr "Comunicación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds Tree"
|
||||
msgstr "Árbore de fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,month:0
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Escalate"
|
||||
msgstr "Escalado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr "Data de actualización"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund3
|
||||
msgid "Credit Card"
|
||||
msgstr "Tarxeta de crédito"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_fundraising_stage_act
|
||||
msgid "Fundraising Stages"
|
||||
msgstr "Etapas de recadación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Salesman"
|
||||
msgstr "Vendedor"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,ref:0
|
||||
msgid "Reference"
|
||||
msgstr "Referencia"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,ref2:0
|
||||
msgid "Reference 2"
|
||||
msgstr "Referencia 2"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,categ_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,categ_id:0
|
||||
msgid "Category"
|
||||
msgstr "Categoría"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid " Year "
|
||||
msgstr " Ano "
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,planned_cost:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,planned_cost:0
|
||||
msgid "Planned Costs"
|
||||
msgstr "Custos planeados"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,email_cc:0
|
||||
msgid ""
|
||||
"These email addresses will be added to the CC field of all inbound and "
|
||||
"outbound emails for this record before being sent. Separate multiple email "
|
||||
"addresses with a comma"
|
||||
msgstr ""
|
||||
"Estes enderezos de correo engadiranse ó campo CC para tódolos correos "
|
||||
"entrantes e saíntes deste rexistro antes de ser enviados. Separe os "
|
||||
"diferentes enderezos de correo cunha coma."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr "Borrador"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Low"
|
||||
msgstr "Baixo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_closed:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Closed"
|
||||
msgstr "Pechado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Pending"
|
||||
msgstr "Pendente"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Communication & History"
|
||||
msgstr "Comunicación e historial"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.ui.menu,name:crm_fundraising.menu_crm_fundraising_stage_act
|
||||
msgid "Stages"
|
||||
msgstr "Etapas"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "August"
|
||||
msgstr "Agosto"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Global CC"
|
||||
msgstr "CC global"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: model:ir.actions.act_window,name:crm_fundraising.crm_case_category_act_fund_all1
|
||||
msgid "Funds"
|
||||
msgstr "Fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "June"
|
||||
msgstr "Xuño"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_phone:0
|
||||
msgid "Phone"
|
||||
msgstr "Teléfono"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "#Fundraising"
|
||||
msgstr "Nº obtención fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,active:0
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "November"
|
||||
msgstr "Novembro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr "Filtros extendidos..."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "October"
|
||||
msgstr "Outubro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "January"
|
||||
msgstr "Xaneiro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund2
|
||||
msgid "Cheque"
|
||||
msgstr "Cheque"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_fund_categ_action
|
||||
msgid ""
|
||||
"Manage and define the fund raising categories you want to be maintained in "
|
||||
"the system."
|
||||
msgstr ""
|
||||
"Xestione e defina as categorías de recadación que desexe manter no sistema."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr "Estas persoas recibirán un e-mail."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date:0
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund3
|
||||
msgid "Healthcare"
|
||||
msgstr "Servizos de Saúde"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "History"
|
||||
msgstr "Historia"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Attachments"
|
||||
msgstr "Anexos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.model,name:crm_fundraising.model_crm_case_stage
|
||||
msgid "Stage of case"
|
||||
msgstr "Fase do caso"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Estimates"
|
||||
msgstr "Estimacións"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,state:0
|
||||
msgid "State"
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Done"
|
||||
msgstr "Feito"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "December"
|
||||
msgstr "Decembro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Cancel"
|
||||
msgstr "Anular"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: selection:crm.fundraising,state:0
|
||||
#: view:crm.fundraising.report:0
|
||||
#: selection:crm.fundraising.report,state:0
|
||||
msgid "Open"
|
||||
msgstr "Aberto"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_case_category_act_fund_all1
|
||||
msgid ""
|
||||
"If you need to collect money for your organization or a campaign, Fund "
|
||||
"Raising allows you to track all your fund raising activities. In the search "
|
||||
"list, filter by funds description, email, history and probability of success."
|
||||
msgstr ""
|
||||
"Se precisa reunir cartos para a súa organización ou para unha campaña, "
|
||||
"Recadación de Fondos permítelle rexistrar tódalas súas actividades de "
|
||||
"recadación. Na lista de busca, filtre os fondos por descrición, correo "
|
||||
"electrónico, historial e probabilidade de éxito."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr "Responsable"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Current"
|
||||
msgstr "Actual"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,section_id:0
|
||||
msgid ""
|
||||
"Sales team to which Case belongs to. Define Responsible user and Email "
|
||||
"account for mail gateway."
|
||||
msgstr ""
|
||||
"Equipo de vendas ó que pertence o caso. Defina o usuario responsable e a "
|
||||
"conta de email para a pasarela de correo."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Details"
|
||||
msgstr "Detalles"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.model,name:crm_fundraising.model_crm_fundraising_report
|
||||
msgid "CRM Fundraising Report"
|
||||
msgstr "CRM Informe de recadacións"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,type_id:0
|
||||
msgid "Fundraising Type"
|
||||
msgstr "Tipo de recadación"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,amount_revenue_prob:0
|
||||
msgid "Est. Rev*Prob."
|
||||
msgstr "Beneficio*Prob. estim."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:ir.actions.act_window,help:crm_fundraising.crm_fundraising_stage_act
|
||||
msgid ""
|
||||
"Create and manage fund raising activity categories you want to be maintained "
|
||||
"in the system."
|
||||
msgstr ""
|
||||
"Cree e xestione as categorías de actividades de recadación que desexe manter "
|
||||
"no sistema."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,description:0
|
||||
msgid "Description"
|
||||
msgstr "Descrición"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "May"
|
||||
msgstr "Maio"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,probability:0
|
||||
msgid "Probability (%)"
|
||||
msgstr "Probabilidade (%)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,partner_name:0
|
||||
msgid "Employee's Name"
|
||||
msgstr "Nome do empregado"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,canal_id:0
|
||||
msgid ""
|
||||
"The channels represent the different communication modes available with the "
|
||||
"customer."
|
||||
msgstr ""
|
||||
"As canles representan os diferentes modos de comunicación dispoñibles co "
|
||||
"cliente"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: help:crm.fundraising,state:0
|
||||
msgid ""
|
||||
"The state is set to 'Draft', when a case is created. "
|
||||
" \n"
|
||||
"If the case is in progress the state is set to 'Open'. "
|
||||
" \n"
|
||||
"When the case is over, the state is set to 'Done'. "
|
||||
" \n"
|
||||
"If the case needs to be reviewed then the state is set to 'Pending'."
|
||||
msgstr ""
|
||||
"O estado configúrase como \"Borrador\", cando se crea un caso. Se o caso "
|
||||
"está en curso, o estado configúrase como \"Aberto\". Cando se pecha o caso, "
|
||||
"o estado configúrase como \"Realizado\". Se cómpre revisar o caso, o estado "
|
||||
"configúrase como \"Pendente\"."
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "February"
|
||||
msgstr "Febreiro"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund1
|
||||
msgid "Cash"
|
||||
msgstr "Efectivo"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Funds by Categories"
|
||||
msgstr "Fondos por categorías"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising.report,month:0
|
||||
msgid "April"
|
||||
msgstr "Abril"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "My Case(s)"
|
||||
msgstr "O(s) meu(s) caso(s)"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.resource.type,name:crm_fundraising.type_fund4
|
||||
msgid "Demand Draft"
|
||||
msgstr "Solicitar borrador"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
msgid "Search Funds"
|
||||
msgstr "Buscar fondos"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: selection:crm.fundraising,priority:0
|
||||
msgid "High"
|
||||
msgstr "Alto"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising:0
|
||||
#: field:crm.fundraising,section_id:0
|
||||
#: view:crm.fundraising.report:0
|
||||
msgid "Sales Team"
|
||||
msgstr "Equipo de vendas"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising.report,create_date:0
|
||||
msgid "Create Date"
|
||||
msgstr "Crear data"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,date_action_last:0
|
||||
msgid "Last Action"
|
||||
msgstr "Última acción"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
#: field:crm.fundraising.report,name:0
|
||||
msgid "Year"
|
||||
msgstr "Ano"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,duration:0
|
||||
msgid "Duration"
|
||||
msgstr "Duración"
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-02-01 01:58+0000\n"
|
||||
"Last-Translator: Adriano Prado <adrianojprado@hotmail.com>\n"
|
||||
"PO-Revision-Date: 2011-04-16 20:51+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-02-02 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-17 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: field:crm.fundraising,planned_revenue:0
|
||||
@@ -109,7 +109,7 @@ msgstr "Valor"
|
||||
#. module: crm_fundraising
|
||||
#: model:crm.case.categ,name:crm_fundraising.categ_fund4
|
||||
msgid "Arts And Culture"
|
||||
msgstr ""
|
||||
msgstr "Artes E Cultura"
|
||||
|
||||
#. module: crm_fundraising
|
||||
#: view:crm.fundraising.report:0
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
import crm_helpdesk
|
||||
import report
|
||||
import wizard
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ from crm import wizard
|
||||
import binascii
|
||||
import tools
|
||||
|
||||
wizard.email_compose_message.email_model.append('crm.helpdesk')
|
||||
CRM_HELPDESK_STATES = (
|
||||
crm.AVAILABLE_STATES[2][0], # Cancelled
|
||||
crm.AVAILABLE_STATES[3][0], # Done
|
||||
@@ -126,7 +125,22 @@ class crm_helpdesk(crm.crm_case, osv.osv):
|
||||
if res:
|
||||
vals.update(res)
|
||||
|
||||
return self.create(cr, uid, vals, context)
|
||||
res_id = self.create(cr, uid, vals, context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, [res_id], _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
|
||||
return res_id
|
||||
|
||||
def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
|
||||
"""
|
||||
@@ -163,6 +177,19 @@ class crm_helpdesk(crm.crm_case, osv.osv):
|
||||
if case.state in CRM_HELPDESK_STATES:
|
||||
values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open
|
||||
res = self.write(cr, uid, [case.id], values, context=context)
|
||||
|
||||
attachments = msg.get('attachments', {})
|
||||
self.history(cr, uid, ids, _('receive'), history=True,
|
||||
subject = msg.get('subject'),
|
||||
email = msg.get('to'),
|
||||
details = msg.get('body'),
|
||||
email_from = msg.get('from'),
|
||||
email_cc = msg.get('cc'),
|
||||
message_id = msg.get('message-id'),
|
||||
references = msg.get('references', False) or msg.get('in-reply-to', False),
|
||||
attach = attachments,
|
||||
email_date = msg.get('date'),
|
||||
context = context)
|
||||
return res
|
||||
|
||||
crm_helpdesk()
|
||||
|
||||
@@ -112,13 +112,13 @@
|
||||
<field name="date"/>
|
||||
<field name="email_to" widget="char" size="512"/>
|
||||
<field name="email_cc" widget="char" size="512"/>
|
||||
<field name="name" colspan="4" widget="char" size="512"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
<field name="history" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<group attrs="{'invisible': [('history', '!=', True)]}">
|
||||
<field name="description" colspan="4" nolabel="1" height="250"/>
|
||||
<field name="body" colspan="4" nolabel="1" height="250"/>
|
||||
<button colspan="4" string="Reply"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
@@ -140,13 +140,13 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'crm.helpdesk', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
<page string="Extra Info" groups="base.group_extended">
|
||||
<group colspan="2" col="2">
|
||||
<separator colspan="4" string="Dates"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_date"/>
|
||||
<field name="date_closed"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
@@ -253,6 +253,10 @@
|
||||
help="My Sales Team(s)" />
|
||||
</field>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended Filters..." groups="base.group_extended">
|
||||
<field name="write_date" string="Updated Date"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Partner" icon="terp-partner"
|
||||
domain="[]" help="Partner"
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import email_compose_message
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2010-Today OpenERP SA (<http://www.openerp.com>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv
|
||||
from osv import fields
|
||||
import tools
|
||||
|
||||
class email_compose_message(osv.osv_memory):
|
||||
_inherit = 'email.compose.message'
|
||||
|
||||
def get_value(self, cr, uid, model, resource_id, context=None):
|
||||
'''
|
||||
To get values of the resource_id for the model
|
||||
@param model: Object
|
||||
@param resource_id: id of a record for which values to be read
|
||||
|
||||
@return: Returns a dictionary
|
||||
'''
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(email_compose_message, self).get_value(cr, uid, model, resource_id, context=context)
|
||||
if model == 'crm.helpdesk' and resource_id:
|
||||
model_obj = self.pool.get(model)
|
||||
data = model_obj.browse(cr, uid , resource_id, context)
|
||||
result.update({
|
||||
'subject' : data.name or False,
|
||||
'email_to' : data.email_from or False,
|
||||
'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or False,
|
||||
'body' : '\n' + (tools.ustr(data.user_id.signature or '')),
|
||||
'email_cc' : tools.ustr(data.email_cc or ''),
|
||||
'model': model,
|
||||
'res_id': resource_id,
|
||||
})
|
||||
return result
|
||||
|
||||
email_compose_message()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -76,7 +76,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
||||
sender = 'From: %s' %(hist.email_from or '')
|
||||
to = 'To: %s' % (hist.email_to or '')
|
||||
sentdate = 'Date: %s' % (hist.date or '')
|
||||
desc = '\n%s'%(hist.description)
|
||||
desc = '\n%s'%(hist.body)
|
||||
original = [header, sender, to, sentdate, desc]
|
||||
original = '\n'.join(original)
|
||||
return original
|
||||
@@ -172,13 +172,6 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
||||
email = self.pool.get('res.partner.address').browse(cr, uid, address_id).email
|
||||
return {'value': {'email_to' : email}}
|
||||
|
||||
def save_to_drafts(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
super(crm_lead_forward_to_partner, self).save_to_drafts(cr, uid, ids, context=context)
|
||||
self.action_forward(cr, uid, ids, context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def send_mail(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
@@ -248,7 +241,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
|
||||
body.append("%s: %s" % (field_definition.string, value or ''))
|
||||
elif lead.type == 'opportunity':
|
||||
pa = lead.partner_address_id
|
||||
body = [
|
||||
body += [
|
||||
"Partner: %s" % (lead.partner_id and lead.partner_id.name_get()[0][1]),
|
||||
"Contact: %s" % (pa.name or ''),
|
||||
"Title: %s" % (pa.title or ''),
|
||||
|
||||
@@ -31,12 +31,12 @@
|
||||
<field name="email_cc" colspan="4"/>
|
||||
<field name="email_bcc" colspan="4"/>
|
||||
<field name="reply_to" colspan="4"/>
|
||||
<field name="name" colspan="4" widget="char" size="512"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Body">
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<field name="body" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Attachments">
|
||||
<label string="Add here all attachments of the current document you want to include in the Email." colspan="4"/>
|
||||
@@ -46,8 +46,7 @@
|
||||
<group col="4" colspan="4">
|
||||
<label string="" colspan="1"/>
|
||||
<button icon="gtk-close" special="cancel" string="Close"/>
|
||||
<button icon="gtk-apply" name="save_to_drafts" string="Save in Drafts" type="object"/>
|
||||
<button icon="gtk-ok" name="send_mail" string="Send now" type="object"/>
|
||||
<button icon="gtk-ok" name="send_mail" string="Send" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_crm_profiling_answer_user","crm_profiling.answer user","model_crm_profiling_answer","base.group_sale_salesman",1,1,1,0
|
||||
"access_crm_profiling_answer_manager","crm_profiling.answer manager","model_crm_profiling_answer","base.group_sale_manager",1,0,0,0
|
||||
"access_crm_profiling_question_manager","crm_profiling.question manager","model_crm_profiling_question","base.group_sale_salesman",1,1,1,0
|
||||
"access_crm_profiling_question_user","crm_profiling.question user","model_crm_profiling_question","base.group_sale_manager",1,0,0,0
|
||||
"access_crm_profiling_questionnarie_user","crm_profiling.questionnarie user","model_crm_profiling_questionnaire","base.group_sale_salesman",1,0,0,0
|
||||
"access_crm_profiling_questionnarie_manager","crm_profiling.questionnarie manager","model_crm_profiling_questionnaire","base.group_sale_manager",1,1,1,1
|
||||
"access_crm_profiling_answer_salesman","crm_profiling.answer.salesman","model_crm_profiling_answer","base.group_sale_salesman",1,1,1,0
|
||||
"access_crm_profiling_answer_manager","crm_profiling.answer.manager","model_crm_profiling_answer","base.group_sale_manager",1,1,1,1
|
||||
"access_crm_profiling_question_salesman","crm_profiling.question.salesman","model_crm_profiling_question","base.group_sale_salesman",1,1,1,0
|
||||
"access_crm_profiling_question_manager","crm_profiling.question.manager","model_crm_profiling_question","base.group_sale_manager",1,1,1,1
|
||||
"access_crm_profiling_questionnarie_salesman","crm_profiling.questionnarie.salesman","model_crm_profiling_questionnaire","base.group_sale_salesman",1,1,1,0
|
||||
"access_crm_profiling_questionnarie_manager","crm_profiling.questionnarie.manager","model_crm_profiling_questionnaire","base.group_sale_manager",1,1,1,1
|
||||
|
||||
|
@@ -41,7 +41,7 @@ class decimal_precision(osv.osv):
|
||||
def precision_get(self, cr, uid, application):
|
||||
cr.execute('select digits from decimal_precision where name=%s', (application,))
|
||||
res = cr.fetchone()
|
||||
return res and res[0] or 2
|
||||
return res[0] if res else 2
|
||||
|
||||
def write(self, cr, uid, ids, data, *args, **argv):
|
||||
res = super(decimal_precision, self).write(cr, uid, ids, data, *args, **argv)
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# Turkish translation for openobject-addons
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-04-27 17:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-28 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: field:decimal.precision,digits:0
|
||||
msgid "Digits"
|
||||
msgstr "Basamaklar"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: view:decimal.precision:0
|
||||
msgid "Decimal Precision"
|
||||
msgstr "Ondalık Hassasiyet"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form
|
||||
#: model:ir.ui.menu,name:decimal_precision.menu_decimal_precision_form
|
||||
msgid "Decimal Accuracy Definitions"
|
||||
msgstr "Ondalık Hassasiyet Tanımları"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.module.module,description:decimal_precision.module_meta_information
|
||||
msgid ""
|
||||
"\n"
|
||||
"This module allows to configure the price accuracy you need for different "
|
||||
"kind\n"
|
||||
"of usage: accounting, sales, purchases, ...\n"
|
||||
"\n"
|
||||
"The decimal precision is configured per company.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Bu modül farklı kullanım yerlerinde fiyat hassasiyetlerini yönetmenize "
|
||||
"olanak verir.\n"
|
||||
"mesela: muhasebe, satış, satınalma, ...\n"
|
||||
"\n"
|
||||
"Ondalık hassasiyet şirket bazlı olarak ayarlanır.\n"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: field:decimal.precision,name:0
|
||||
msgid "Usage"
|
||||
msgstr "Kullanım"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: sql_constraint:decimal.precision:0
|
||||
msgid "Only one value can be defined for each given usage!"
|
||||
msgstr "Her kullanım için sadece bir değer tanımlanabilir !"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.module.module,shortdesc:decimal_precision.module_meta_information
|
||||
msgid "Decimal Precision Configuration"
|
||||
msgstr "Ondalık Hassasiyet Ayarları"
|
||||
|
||||
#. module: decimal_precision
|
||||
#: model:ir.model,name:decimal_precision.model_decimal_precision
|
||||
msgid "decimal.precision"
|
||||
msgstr "Ondalık.hassasiyet"
|
||||
@@ -274,7 +274,7 @@
|
||||
<field name="write_date" readonly="1"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Indexed Content" groups="base.group_extended">
|
||||
<page string="Indexed Content - experimental" groups="base.group_extended">
|
||||
<field name="index_content" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
|
||||
@@ -42,7 +42,6 @@ for leads, the action will be added to the right side panel of the Lead form.
|
||||
"update_xml": [
|
||||
'wizard/email_template_preview_view.xml',
|
||||
'email_template_view.xml',
|
||||
'wizard/email_template_send_wizard_view.xml',
|
||||
'wizard/email_compose_message_view.xml',
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
|
||||
@@ -45,8 +45,7 @@ class email_template(osv.osv):
|
||||
"Return Template Object"
|
||||
if context is None:
|
||||
context = {}
|
||||
if not template_id:
|
||||
template_id = context.get('template_id', False)
|
||||
|
||||
if not template_id:
|
||||
return False
|
||||
|
||||
@@ -65,19 +64,17 @@ class email_template(osv.osv):
|
||||
mod_name = self.pool.get('ir.model').browse(cr, uid, model_id, context).model
|
||||
return {'value':{'model':mod_name}}
|
||||
|
||||
def _lang_get(self, cr, uid, context={}):
|
||||
obj = self.pool.get('res.lang')
|
||||
ids = obj.search(cr, uid, [], context=context)
|
||||
res = obj.read(cr, uid, ids, ['code', 'name'], context)
|
||||
return [(r['code'], r['name']) for r in res] + [('','')]
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=250),
|
||||
'model_id':fields.many2one('ir.model', 'Resource'),
|
||||
'model': fields.related('model_id', 'model', string='Model', type="char", size=128, store=True, readonly=True),
|
||||
'track_campaign_item':fields.boolean('Resource Tracking',
|
||||
help="Enable this is you wish to include a special \
|
||||
tracking marker in outgoing emails so you can identify replies and link \
|
||||
them back to the corresponding resource record. \
|
||||
This is useful for CRM leads for example"),
|
||||
'lang':fields.char(
|
||||
'Language',
|
||||
size=250,
|
||||
help="The default language for the email."
|
||||
'lang': fields.selection(_lang_get, 'Language', size=5, help="The default language for the email."
|
||||
" Placeholders can be used here. "
|
||||
"eg. ${object.partner_id.lang}"),
|
||||
'subject':fields.char(
|
||||
@@ -86,14 +83,6 @@ This is useful for CRM leads for example"),
|
||||
help="The subject of email."
|
||||
" Placeholders can be used here.",
|
||||
translate=True),
|
||||
# 'description':fields.text(
|
||||
# 'Standard Body (Text)',
|
||||
# help="The text version of the mail",
|
||||
# translate=True),
|
||||
# 'body_html':fields.text(
|
||||
# 'Body (Text-Web Client Only)',
|
||||
# help="The text version of the mail",
|
||||
# translate=True),
|
||||
'user_signature':fields.boolean(
|
||||
'Signature',
|
||||
help="the signature from the User details"
|
||||
@@ -157,16 +146,11 @@ This is useful for CRM leads for example"),
|
||||
'email_to': fields.char('To', size=256, help="Email Recipients. Placeholders can be used here."),
|
||||
'email_cc': fields.char('Cc', size=256, help="Carbon Copy Email Recipients. Placeholders can be used here."),
|
||||
'email_bcc': fields.char('Bcc', size=256, help="Blind Carbon Copy Email Recipients. Placeholders can be used here."),
|
||||
'message_id': fields.char('Message Id', size=1024, select=1, help="Message Id on Email. Placeholders can be used here."),
|
||||
'reply_to':fields.char('Reply-To', size=250, help="Placeholders can be used here."),
|
||||
'body': fields.text('Description', translate=True, help="Placeholders can be used here."),
|
||||
'body_html': fields.text('HTML', help="Contains HTML version of email. Placeholders can be used here."),
|
||||
}
|
||||
|
||||
_sql_constraints = [
|
||||
('name', 'unique (name)','The template name must be unique !')
|
||||
]
|
||||
|
||||
def create_action(self, cr, uid, ids, context=None):
|
||||
vals = {}
|
||||
if context is None:
|
||||
@@ -183,7 +167,7 @@ This is useful for CRM leads for example"),
|
||||
'res_model': 'email.compose.message',
|
||||
'src_model': src_obj,
|
||||
'view_type': 'form',
|
||||
'context': "{'email_model':'%s', 'email_res_id': active_id,'template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, template.id),
|
||||
'context': "{'mass_mail':True}",
|
||||
'view_mode':'form,tree',
|
||||
'view_id': res_id,
|
||||
'target': 'new',
|
||||
@@ -217,15 +201,11 @@ This is useful for CRM leads for example"),
|
||||
return super(email_template, self).unlink(cr, uid, ids, context=context)
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
template = self.browse(cr, uid, id, context=context)
|
||||
if default is None:
|
||||
default = {}
|
||||
default = default.copy()
|
||||
old = self.read(cr, uid, id, ['name'], context=context)
|
||||
new_name = _("Copy of template %s") % old.get('name', 'No Name')
|
||||
check = self.search(cr, uid, [('name', '=', new_name)], context=context)
|
||||
if check:
|
||||
new_name = new_name + '_' + random.choice('abcdefghij') + random.choice('lmnopqrs') + random.choice('tuvwzyz')
|
||||
default.update({'name':new_name})
|
||||
default['name'] = template.name or '' + '(copy)'
|
||||
return super(email_template, self).copy(cr, uid, id, default, context)
|
||||
|
||||
def build_expression(self, field_name, sub_field_name, null_value):
|
||||
@@ -355,57 +335,53 @@ This is useful for CRM leads for example"),
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
smtp_pool = self.pool.get('ir.mail_server')
|
||||
email_message_pool = self.pool.get('email.message')
|
||||
values = {
|
||||
'subject': False,
|
||||
'body': False,
|
||||
'email_to': False,
|
||||
'email_cc': False,
|
||||
'email_bcc': False,
|
||||
'reply_to': False,
|
||||
'auto_delete': False,
|
||||
'model': False,
|
||||
'res_id': False,
|
||||
'smtp_server_id': False,
|
||||
'attachment': False,
|
||||
'attachment_ids': False,
|
||||
}
|
||||
if not template_id:
|
||||
return values
|
||||
|
||||
report_xml_pool = self.pool.get('ir.actions.report.xml')
|
||||
template = self.get_email_template(cr, uid, template_id, record_id, context)
|
||||
smtp_server_id = context.get('smtp_server_id', False)
|
||||
if not smtp_server_id and template.smtp_server_id:
|
||||
smtp_server_id = template.smtp_server_id.id
|
||||
else:
|
||||
smtp_ids = smtp_pool.search(cr, uid, [])
|
||||
smtp_server_id = smtp_ids and smtp_ids[0]
|
||||
smtp_server = smtp_pool.browse(cr, uid, smtp_server_id, context=context)
|
||||
# determine name of sender, either it is specified in email_id
|
||||
def _get_template_value(field):
|
||||
if context.get('mass_mail',False): # Mass Mail: Gets original template values for multiple email change
|
||||
return getattr(template, field)
|
||||
else:
|
||||
return self.get_template_value(cr, uid, getattr(template, field), template.model, record_id, context=context)
|
||||
|
||||
email_id = smtp_server.email_id.strip()
|
||||
email_from = re.findall(r'([^ ,<@]+@[^> ,]+)', email_id)[0]
|
||||
if email_from != email_id:
|
||||
email_from = smtp_server.email_id
|
||||
else:
|
||||
email_from = tools.ustr(smtp_server.name) + "<" + tools.ustr(email_id) + ">"
|
||||
|
||||
model = template.model_id.model
|
||||
values = {
|
||||
'email_from': email_from,
|
||||
'email_to': self.get_template_value(cr, uid, template.email_to, model, record_id, context),
|
||||
'email_cc': self.get_template_value(cr, uid, template.email_cc, model, record_id, context),
|
||||
'email_bcc': self.get_template_value(cr, uid, template.email_bcc, model, record_id, context),
|
||||
'reply_to': self.get_template_value(cr, uid, template.reply_to, model, record_id, context),
|
||||
'subject': self.get_template_value(cr, uid, template.subject, model, record_id, context),
|
||||
'body': self.get_template_value(cr, uid, template.description, model, record_id, context),
|
||||
'auto_delete': self.get_template_value(cr, uid, template.auto_delete, model, record_id, context),
|
||||
#'body_html': self.get_template_value(cr, uid, template.body_html, model, record_id, context),
|
||||
}
|
||||
|
||||
if template.message_id:
|
||||
# use provided message_id with placeholders
|
||||
values.update({'message_id': self.get_template_value(cr, uid, template.message_id, model, record_id, context)})
|
||||
|
||||
elif template['track_campaign_item']:
|
||||
# get appropriate message-id
|
||||
values.update({'message_id': tools.generate_tracking_message_id(record_id)})
|
||||
body = _get_template_value('body')
|
||||
|
||||
#Use signatures if allowed
|
||||
if template.user_signature:
|
||||
sign = self.pool.get('res.users').read(cr, uid, uid, ['signature'], context)['signature']
|
||||
if values['description']:
|
||||
values['description'] += '\n\n' + sign
|
||||
#if values['body_html']:
|
||||
# values['body_html'] += sign
|
||||
signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature
|
||||
body += '\n' + signature
|
||||
|
||||
attachment = []
|
||||
values = {
|
||||
'smtp_server_id' : template.smtp_server_id.id,
|
||||
'body' : body,
|
||||
'email_to' : _get_template_value('email_to') or False,
|
||||
'email_cc' : _get_template_value('email_cc') or False,
|
||||
'email_bcc' : _get_template_value('email_bcc') or False,
|
||||
'reply_to' : _get_template_value('reply_to') or False,
|
||||
'subject' : _get_template_value('subject') or False,
|
||||
'auto_delete': template.auto_delete,
|
||||
'model' : template.model or False,
|
||||
'res_id' : record_id or False,
|
||||
#'body_html': self.get_template_value(cr, uid, template.body_html, model, record_id, context),
|
||||
}
|
||||
|
||||
attachment = {}
|
||||
# Add report as a Document
|
||||
if template.report_template:
|
||||
report_name = template.report_name
|
||||
@@ -423,22 +399,14 @@ This is useful for CRM leads for example"),
|
||||
if not report_name:
|
||||
report_name = reportname
|
||||
report_name = report_name + "." + format
|
||||
attachment.append((report_name, result))
|
||||
|
||||
attachment[report_name] = result
|
||||
|
||||
# Add document attachments
|
||||
for attach in template.attachment_ids:
|
||||
#attach = attahcment_obj.browse(cr, uid, attachment_id, context)
|
||||
attachment.append((attach.datas_fname, attach.datas))
|
||||
|
||||
#Send emails
|
||||
context.update({'notemplate':True})
|
||||
email_id = email_message_pool.schedule_with_attach(cr, uid, values.get('email_from'), values.get('email_to'), values.get('name'),
|
||||
values.get('description'), model=model, email_cc=values.get('email_cc'), email_bcc=values.get('email_bcc'),
|
||||
reply_to=values.get('reply_to'), attach=attachment, message_id=values.get('message_id'), openobject_id=record_id,
|
||||
debug=True, subtype='plain', x_headers={}, priority='3', smtp_server_id=smtp_server.id, auto_delete=values.get('auto_delete'), context=context)
|
||||
email_message_pool.write(cr, uid, email_id, {'template_id': context.get('template_id',template.id)})
|
||||
return email_id
|
||||
attachment[attach.datas_fname] = attach.datas
|
||||
values['attachment'] = attachment
|
||||
return values
|
||||
|
||||
email_template()
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<separator string="Options" colspan="2"/>
|
||||
<field name="lang" colspan="4" />
|
||||
<field name="user_signature" colspan="4" />
|
||||
<field name="track_campaign_item" colspan="4"/>
|
||||
<field name="auto_delete"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator colspan="2" string="Email Content"/>
|
||||
@@ -72,11 +72,6 @@
|
||||
<field name="ref_ir_value"/>
|
||||
<button name="unlink_action" string="Delete Action" type="object" icon="gtk-delete" colspan="2" attrs="{'invisible':[('ref_ir_act_window','=',False), ('ref_ir_value','=',False)]}"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Advanced Options" colspan="2"/>
|
||||
<field name="message_id"/>
|
||||
<field name="auto_delete"/>
|
||||
</group>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Attachments" colspan="2"/>
|
||||
@@ -152,8 +147,9 @@
|
||||
<field name="search_view_id" ref="view_email_template_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Templates" id="menu_email_template_all_tools"
|
||||
<menuitem name="Email Templates" id="menu_email_template_all_tools"
|
||||
parent="mail.menu_email_message_tools" action="action_email_template_tree_all" />
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-03-26 15:24+0000\n"
|
||||
"PO-Revision-Date: 2011-04-16 20:56+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-27 04:53+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-17 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 12735)\n"
|
||||
|
||||
#. module: email_template
|
||||
#: help:email_template.account,auto_delete:0
|
||||
@@ -142,7 +142,7 @@ msgstr ""
|
||||
#. module: email_template
|
||||
#: field:email_template.mailbox,server_ref:0
|
||||
msgid "Server Reference of mail"
|
||||
msgstr ""
|
||||
msgstr "Referência do Servidor de email"
|
||||
|
||||
#. module: email_template
|
||||
#: view:email_template.account:0
|
||||
@@ -237,7 +237,7 @@ msgstr "Responder-Para"
|
||||
#. module: email_template
|
||||
#: view:email.template:0
|
||||
msgid "Delete Action"
|
||||
msgstr ""
|
||||
msgstr "Excluir Ação"
|
||||
|
||||
#. module: email_template
|
||||
#: view:email_template.account:0
|
||||
@@ -375,6 +375,8 @@ msgid ""
|
||||
"Mail from Account %s failed. Probable Reason: Server Send Error\n"
|
||||
" Description: %s"
|
||||
msgstr ""
|
||||
"O email da conta %s falhou. Razão Provável: Erro Enviado pelo Servidor\n"
|
||||
" Descrição: %s"
|
||||
|
||||
#. module: email_template
|
||||
#: view:email.template:0
|
||||
@@ -727,7 +729,7 @@ msgstr "Rascunho"
|
||||
#. module: email_template
|
||||
#: field:email.template,model_int_name:0
|
||||
msgid "Model Internal Name"
|
||||
msgstr ""
|
||||
msgstr "Nome Interno do Modelo"
|
||||
|
||||
#. module: email_template
|
||||
#: field:email.template,message_id:0
|
||||
|
||||
@@ -47,7 +47,9 @@ def get_value(cr, uid, message=None, model=None, record_id=False, context=None):
|
||||
}
|
||||
templ = MakoTemplate(message, input_encoding='utf-8')
|
||||
reply = MakoTemplate(message).render_unicode(object=record, peobject=record, env=env, format_exceptions=True)
|
||||
return reply or False
|
||||
if reply == 'False':
|
||||
reply = ''
|
||||
return reply
|
||||
except Exception:
|
||||
logging.exception("can't render %r", message)
|
||||
return u""
|
||||
|
||||
@@ -20,6 +20,5 @@
|
||||
#
|
||||
##############################################################################
|
||||
import email_template_preview
|
||||
import email_template_send_wizard
|
||||
import email_compose_message
|
||||
|
||||
|
||||
@@ -22,87 +22,13 @@
|
||||
from osv import osv
|
||||
from osv import fields
|
||||
import tools
|
||||
from tools.translate import _
|
||||
import binascii
|
||||
|
||||
class email_compose_message(osv.osv_memory):
|
||||
_name = 'email.compose.message'
|
||||
_inherit = 'email.compose.message'
|
||||
|
||||
def get_template_data(self, cr, uid, res_id, template_id, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
result = {}
|
||||
template_pool = self.pool.get('email.template')
|
||||
if template_id:
|
||||
template = template_pool.get_email_template(cr, uid, template_id=template_id, context=context)
|
||||
def _get_template_value(field):
|
||||
if not template:
|
||||
return False
|
||||
if len(context.get('src_rec_ids',[])) > 1: # Multiple Mail: Gets original template values for multiple email change
|
||||
return getattr(template, field)
|
||||
else: # Simple Mail: Gets computed template values
|
||||
return template_pool.get_template_value(cr, uid, getattr(template, field), template.model, context.get('email_res_id'), context)
|
||||
result.update({
|
||||
'template_id' : template.id,
|
||||
'smtp_server_id' : template.smtp_server_id.id,
|
||||
'body' : _get_template_value('body') or False,
|
||||
'subject' : _get_template_value('subject') or False,
|
||||
'attachment_ids' : template_pool.read(cr, uid, template.id, ['attachment_ids'])['attachment_ids'] or [],
|
||||
'res_id' : res_id or False,
|
||||
'email_to' : _get_template_value('email_to') or False,
|
||||
'email_cc' : _get_template_value('email_cc') or False,
|
||||
'email_bcc' : _get_template_value('email_bcc') or False,
|
||||
'reply_to' : _get_template_value('reply_to') or False,
|
||||
'model' : template.model or False,
|
||||
})
|
||||
return result
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(email_compose_message, self).default_get(cr, uid, fields, context=context)
|
||||
template_id = context.get('template_id', False)
|
||||
vals = {}
|
||||
if template_id and context.get('email_model') and context.get('email_res_id'):
|
||||
vals = self.get_template_data(cr, uid, context.get('email_res_id'), template_id, context)
|
||||
|
||||
if not vals:
|
||||
return result
|
||||
|
||||
if 'template_id' in fields:
|
||||
result.update({'template_id' : vals.get('template_id', False)})
|
||||
|
||||
if 'smtp_server_id' in fields:
|
||||
result.update({'smtp_server_id' : vals.get('smtp_server_id', False)})
|
||||
|
||||
if 'attachment_ids' in fields:
|
||||
result.update({'attachment_ids' : vals.get('attachment_ids', False)})
|
||||
|
||||
if 'model' in fields:
|
||||
result.update({'model' : vals.get('model', False)})
|
||||
|
||||
if 'res_id' in fields:
|
||||
result.update({'res_id' : vals.get('res_id', False)})
|
||||
|
||||
if 'email_to' in fields:
|
||||
result.update({'email_to' : vals.get('email_to', False)})
|
||||
|
||||
if 'email_cc' in fields:
|
||||
result.update({'email_cc' : vals.get('email_cc', False)})
|
||||
|
||||
if 'email_bcc' in fields:
|
||||
result.update({'email_bcc' : vals.get('email_bcc', False)})
|
||||
|
||||
if 'subject' in fields:
|
||||
result.update({'subject' : vals.get('name', False)})
|
||||
|
||||
if 'body' in fields:
|
||||
result.update({'body' : vals.get('body', False)})
|
||||
|
||||
if 'reply_to' in fields:
|
||||
result.update({'reply_to' : vals.get('reply_to', False)})
|
||||
|
||||
return result
|
||||
|
||||
def _get_templates(self, cr, uid, context=None):
|
||||
"""
|
||||
Return Email Template of particular Model.
|
||||
@@ -116,8 +42,8 @@ class email_compose_message(osv.osv_memory):
|
||||
message_pool = self.pool.get('email.message')
|
||||
message_data = message_pool.browse(cr, uid, int(context.get('message_id')), context)
|
||||
model = message_data.model
|
||||
elif context.get('email_model',False):
|
||||
model = context.get('email_model')
|
||||
elif context.get('active_model',False):
|
||||
model = context.get('active_model')
|
||||
if model:
|
||||
record_ids = email_temp_pool.search(cr, uid, [('model','=',model)])
|
||||
return email_temp_pool.name_get(cr, uid, record_ids, context) + [(False,'')]
|
||||
@@ -127,18 +53,60 @@ class email_compose_message(osv.osv_memory):
|
||||
'template_id': fields.selection(_get_templates, 'Template'),
|
||||
}
|
||||
|
||||
def on_change_template(self, cr, uid, ids, model, resource_id, template_id, context=None):
|
||||
def get_template_value(self, cr, uid, message, model, resource_id, context=None):
|
||||
template_pool = self.pool.get('email.template')
|
||||
return template_pool.get_template_value(cr, uid, message, model, resource_id, context)
|
||||
|
||||
def on_change_template(self, cr, uid, ids, template_id, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
if context.get('mail') == 'reply':
|
||||
return {'value':{}}
|
||||
result = self.on_change_referred_doc(cr, uid, [], model, resource_id, context=context)
|
||||
vals = result.get('value',{})
|
||||
if template_id and resource_id:
|
||||
vals.update(self.get_template_data(cr, uid, resource_id, template_id, context))
|
||||
else:
|
||||
vals.update({'attachment_ids' : []})
|
||||
return {'value': vals}
|
||||
att_ids = []
|
||||
res_id = context.get('active_id', False)
|
||||
values = self.pool.get('email.template').generate_email(cr, uid, template_id, res_id, context=context)
|
||||
if values['attachment']:
|
||||
attachment = values['attachment']
|
||||
attachment_obj = self.pool.get('ir.attachment')
|
||||
for fname, fcontent in attachment.items():
|
||||
data_attach = {
|
||||
'name': fname,
|
||||
'datas': binascii.b2a_base64(str(fcontent)),
|
||||
'datas_fname': fname,
|
||||
'description': _('Mail attachment'),
|
||||
'res_model' : self._name,
|
||||
'res_id' : ids and ids[0] or False
|
||||
}
|
||||
att_ids.append(attachment_obj.create(cr, uid, data_attach))
|
||||
values['attachment_ids'] = att_ids
|
||||
return {'value': values}
|
||||
|
||||
def save_as_template(self, cr, uid, ids, context=None):
|
||||
'''
|
||||
create a new template record
|
||||
'''
|
||||
if context is None:
|
||||
context = {}
|
||||
template_pool = self.pool.get('email.template')
|
||||
model_pool = self.pool.get('ir.model')
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
model = context.get('active_model', record.model or False)
|
||||
model = model_pool.search(cr, uid, [('model','=', model)])[0]
|
||||
model_name = model_pool.browse(cr, uid, model, context=context).name
|
||||
values = {
|
||||
'name': model_name,
|
||||
'email_from': record.email_from or False,
|
||||
'subject': record.subject or False,
|
||||
'body': record.body or False,
|
||||
'email_to': record.email_to or False,
|
||||
'email_cc': record.email_cc or False,
|
||||
'email_bcc': record.email_bcc or False,
|
||||
'reply_to': record.reply_to or False,
|
||||
'auto_delete': record.auto_delete,
|
||||
'model_id': model or False,
|
||||
'smtp_server_id': record.smtp_server_id.id or False,
|
||||
'attachment_ids': [(6, 0, [att.id for att in record.attachment_ids])]
|
||||
}
|
||||
template_pool.create(cr, uid, values, context=context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
email_compose_message()
|
||||
|
||||
|
||||
@@ -8,13 +8,15 @@
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="mail.email_compose_message_wizard_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="res_id" position="replace">
|
||||
<field name="template_id" colspan="4"
|
||||
on_change="on_change_template(model, res_id, template_id, context)"/>
|
||||
<field name="res_id"
|
||||
invisible="context.get('active_model','') != 'ir.ui.menu'"
|
||||
colspan="4" on_change="on_change_template(model, res_id, template_id, context)"/>
|
||||
</field>
|
||||
<data>
|
||||
<xpath expr="//field[@name='model']" position="after">
|
||||
<field name="template_id" colspan="4"
|
||||
on_change="on_change_template(template_id, context)"/>
|
||||
</xpath>
|
||||
<xpath expr="//button[@string='Close']" position="after">
|
||||
<button icon="gtk-new" type="object" name="save_as_template" string="Save As Template"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
@@ -38,7 +38,7 @@ class email_template_preview(osv.osv_memory):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
template_id = context.get('template_id', False)
|
||||
template_id = context.get('active_id', False)
|
||||
if not template_id:
|
||||
return []
|
||||
template_pool = self.pool.get('email.template')
|
||||
@@ -46,8 +46,9 @@ class email_template_preview(osv.osv_memory):
|
||||
template = template_pool.browse(cr, uid, int(template_id), context=context)
|
||||
template_object = template.model_id
|
||||
model = self.pool.get(template_object.model)
|
||||
record_ids = model.search(cr, uid, [], 0, 20, 'id', context=context)
|
||||
record_ids = model.search(cr, uid, [], 0, 10, 'id', context=context)
|
||||
default_id = context.get('default_res_id')
|
||||
|
||||
if default_id and default_id not in record_ids:
|
||||
record_ids.insert(0, default_id)
|
||||
|
||||
@@ -60,7 +61,7 @@ class email_template_preview(osv.osv_memory):
|
||||
result = super(email_template_preview, self).default_get(cr, uid, fields, context=context)
|
||||
|
||||
template_pool = self.pool.get('email.template')
|
||||
template_id = context.get('template_id',False)
|
||||
template_id = context.get('active_id',False)
|
||||
if 'res_id' in fields:
|
||||
records = self._get_records(cr, uid, context=context)
|
||||
result['res_id'] = records and records[0][0] or False # select first record as a Default
|
||||
@@ -90,10 +91,6 @@ class email_template_preview(osv.osv_memory):
|
||||
vals['email_cc'] = self.get_template_value(cr, uid, template.email_cc, model, res_id, context)
|
||||
vals['email_bcc'] = self.get_template_value(cr, uid, template.email_bcc, model, res_id, context)
|
||||
vals['reply_to'] = self.get_template_value(cr, uid, template.reply_to, model, res_id, context)
|
||||
if template.message_id:
|
||||
vals['message_id'] = self.get_template_value(cr, uid, message_id, model, res_id, context)
|
||||
elif template.track_campaign_item:
|
||||
vals['message_id'] = tools.generate_tracking_message_id(res_id)
|
||||
vals['subject'] = self.get_template_value(cr, uid, template.subject, model, res_id, context)
|
||||
description = self.get_template_value(cr, uid, template.body, model, res_id, context) or ''
|
||||
if template.user_signature:
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
<field name="email_cc" readonly="1"/>
|
||||
<field name="email_bcc" readonly="1"/>
|
||||
<field name="reply_to" readonly="1"/>
|
||||
<field name="message_id" readonly="1" attrs="{'invisible':[('message_id','=',False)]}" groups="base.group_extended"/>
|
||||
<field name="subject" colspan="8" readonly="1"/>
|
||||
</group>
|
||||
<group col="4" colspan="4">
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2009 Sharoon Thomas
|
||||
# Copyright (C) 2010-Today OpenERP SA (<http://www.openerp.com>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv, fields
|
||||
import netsvc
|
||||
from tools.translate import _
|
||||
|
||||
class email_template_send_wizard(osv.osv_memory):
|
||||
_name = 'email_template.send.wizard'
|
||||
_inherit = 'email.template'
|
||||
_description = 'This is the wizard for sending mail'
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(email_template_send_wizard, self).default_get(cr, uid, fields, context=context)
|
||||
|
||||
template_pool = self.pool.get('email.template')
|
||||
model_pool = self.pool.get('ir.model')
|
||||
template_id=context.get('template_id', False)
|
||||
template = template_pool.get_email_template(cr, uid, template_id=template_id, context=context)
|
||||
def _get_template_value(field):
|
||||
if not template:
|
||||
return False
|
||||
if len(context['src_rec_ids']) > 1: # Multiple Mail: Gets original template values for multiple email change
|
||||
return getattr(template, field)
|
||||
else: # Simple Mail: Gets computed template values
|
||||
return self.get_template_value(cr, uid, getattr(template, field), template.model, context.get('active_id'), context)
|
||||
|
||||
if 'user_signature' in fields:
|
||||
result['user_signature'] = template.user_signature
|
||||
|
||||
if 'report_template' in fields:
|
||||
result['report_template'] = template.report_template and template.report_template.id or False
|
||||
|
||||
if 'template_id' in fields:
|
||||
result['template_id'] = template.id
|
||||
|
||||
if 'smtp_server_id' in fields:
|
||||
result['smtp_server_id'] = template.smtp_server_id.id
|
||||
|
||||
if 'message_id' in fields:
|
||||
result['message_id'] = template.message_id
|
||||
|
||||
if 'track_campaign_item' in fields:
|
||||
result['track_campaign_item'] = template.track_campaign_item
|
||||
|
||||
if 'attachment_ids' in fields:
|
||||
result['attachment_ids'] = template_pool.read(cr, uid, template.id, ['attachment_ids'])['attachment_ids']
|
||||
|
||||
if 'requested' in fields:
|
||||
result['requested'] = len(context.get('src_rec_ids',''))
|
||||
|
||||
if 'state' in fields:
|
||||
result['state'] = len(context.get('src_rec_ids','')) > 1 and 'multi' or 'single'
|
||||
|
||||
if 'model_id' in fields:
|
||||
result['model_id'] = model_pool.search(cr, uid, [('model','=',context.get('src_model'))],context=context)[0]
|
||||
|
||||
if 'res_id' in fields:
|
||||
result['res_id'] = context['active_id']
|
||||
|
||||
if 'email_to' in fields:
|
||||
result['email_to'] = _get_template_value('email_to')
|
||||
|
||||
if 'email_cc' in fields:
|
||||
result['email_cc'] = _get_template_value('email_cc')
|
||||
|
||||
if 'email_bcc' in fields:
|
||||
result['email_bcc'] = _get_template_value('email_bcc')
|
||||
|
||||
if 'subject' in fields:
|
||||
result['subject'] = _get_template_value('subject')
|
||||
|
||||
if 'body' in fields:
|
||||
result['body'] = _get_template_value('description')
|
||||
|
||||
#if 'body_html' in fields:
|
||||
# result['body_html'] = _get_template_value('body_html')
|
||||
|
||||
if 'reply_to' in fields:
|
||||
result['reply_to'] = _get_template_value('reply_to')
|
||||
|
||||
if 'report_name' in fields:
|
||||
result['report_name'] = _get_template_value('report_name')
|
||||
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
'requested':fields.integer('No of requested Mails',readonly=True),
|
||||
'generated':fields.integer('No of generated Mails',readonly=True),
|
||||
'full_success':fields.boolean('Complete Success',readonly=True),
|
||||
'attachment_ids': fields.many2many('ir.attachment','send_wizard_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'),
|
||||
'state':fields.selection([
|
||||
('single','Simple Mail Wizard Step 1'),
|
||||
('multi','Multiple Mail Wizard Step 1'),
|
||||
('done','Wizard Complete')
|
||||
],'State',readonly=True),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
}
|
||||
|
||||
#def fields_get(self, cr, uid, fields=None, context=None, write_access=True):
|
||||
# if context is None:
|
||||
# context = {}
|
||||
# result = super(email_template_send_wizard, self).fields_get(cr, uid, fields, context, write_access)
|
||||
# if 'attachment_ids' in result and 'src_model' in context:
|
||||
# result['attachment_ids']['domain'] = [('res_model','=',context['src_model']),('res_id','=',context['active_id'])]
|
||||
# return result
|
||||
|
||||
def save_to_drafts(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
mailid = self.save_to_mailbox(cr, uid, ids, context=context)
|
||||
self.pool.get('email.message').write(cr, uid, mailid, {'state': 'outgoing'}, context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def send_mail(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
mailid = self.save_to_mailbox(cr, uid, ids, context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
def get_generated(self, cr, uid, ids=None, context=None):
|
||||
if ids is None:
|
||||
ids = []
|
||||
if context is None:
|
||||
context = {}
|
||||
logger = netsvc.Logger()
|
||||
if context.get('src_rec_ids'):
|
||||
#Means there are multiple items selected for email.
|
||||
mail_ids = self.save_to_mailbox(cr, uid, ids, context)
|
||||
if mail_ids:
|
||||
logger.notifyChannel("email-template", netsvc.LOG_INFO, _("Emails for multiple items saved in outbox."))
|
||||
self.write(cr, uid, ids, {
|
||||
'generated':len(mail_ids),
|
||||
'state':'done'
|
||||
}, context)
|
||||
else:
|
||||
raise osv.except_osv(_("Email Template"),_("Email sending failed for one or more objects."))
|
||||
return True
|
||||
|
||||
def save_to_mailbox(self, cr, uid, ids, context=None):
|
||||
#def get_end_value(id, value):
|
||||
# if len(context['src_rec_ids']) > 1: # Multiple Mail: Gets value from the template
|
||||
# return self.get_value(cr, uid, template, value, context, id)
|
||||
# else:
|
||||
# return value
|
||||
|
||||
email_ids = []
|
||||
for template in self.browse(cr, uid, ids, context=context):
|
||||
for record_id in context.get('src_rec_ids',[]):
|
||||
email_id = self.generate_email(cr, uid, template.id, record_id, context)
|
||||
email_ids.append(email_id)
|
||||
return email_ids
|
||||
|
||||
email_template_send_wizard()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -1,66 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="email_template_send_wizard_form">
|
||||
<field name="name">email_template.send.wizard.form</field>
|
||||
<field name="model">email_template.send.wizard</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send Email Wizard">
|
||||
<group col="4" colspan="4">
|
||||
<field name="smtp_server_id" widget="selection" required="1" colspan="4"/>
|
||||
</group>
|
||||
<group col="4" colspan="4">
|
||||
<group col="6" colspan="4">
|
||||
<field name="email_to" colspan="4"/>
|
||||
<field name="email_cc" colspan="4"/>
|
||||
<field name="email_bcc" colspan="4"/>
|
||||
<field name="subject" colspan="4" attrs="{'required':[('state','=','single')]}"/>
|
||||
<field name="report_name" colspan="4"/>
|
||||
<field name="user_signature" colspan="4"/>
|
||||
</group>
|
||||
<separator string="" colspan="4"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Body">
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<!-- <page string="Body (HTML)">
|
||||
<field name="body_html" colspan="4" nolabel="1"/>
|
||||
</page> -->
|
||||
<page string="Attachments">
|
||||
<label string="Add here all attachments of the current document you want to include in the Email." colspan="4"/>
|
||||
<field name="attachment_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
</group>
|
||||
<field name="state" invisible="1"/>
|
||||
<group col="4" colspan="4" attrs="{'invisible':[('state','=','single')]}">
|
||||
<field name="requested"/>
|
||||
<field name="generated"/>
|
||||
<newline/>
|
||||
<label string="After clicking Send All, emails will be sent to outbox and cleared in next Send/Recieve" colspan="4"/>
|
||||
<label string="Tip: Multiple emails are sent in the same language (the first one is proposed). We suggest you send emails in groups according to language." colspan="4"/>
|
||||
<newline/>
|
||||
</group>
|
||||
<label string="" colspan="2"/>
|
||||
<group col="4" colspan="2" attrs="{'invisible':[('state','=','single')]}">
|
||||
<button icon="gtk-cancel" special="cancel" string="Discard" states="multi"/>
|
||||
<button icon="gtk-ok" name="get_generated" string="Send All" type="object" states="multi"/>
|
||||
<button icon="gtk-ok" special="cancel" string="Close" states="done"/>
|
||||
</group>
|
||||
<group col="4" colspan="2" attrs="{'invisible':[('state','!=','single')]}">
|
||||
<button icon="gtk-cancel" special="cancel" string="Discard"/>
|
||||
<button icon="gtk-apply" name="save_to_drafts" string="Save in Drafts" type="object"/>
|
||||
<button icon="gtk-ok" name="send_mail" string="Send now" type="object"/>
|
||||
</group>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
+8
-13
@@ -27,7 +27,6 @@ from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
from crm import wizard
|
||||
|
||||
wizard.email_compose_message.email_model.append('event.registration')
|
||||
|
||||
class event_type(osv.osv):
|
||||
""" Event Type """
|
||||
@@ -207,12 +206,12 @@ class event_event(osv.osv):
|
||||
'child_ids': fields.one2many('event.event', 'parent_id', 'Child Events', readonly=False, states={'done': [('readonly', True)]}),
|
||||
'reply_to': fields.char('Reply-To', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address put in the 'Reply-To' of all emails sent by OpenERP"),
|
||||
'type': fields.many2one('event.type', 'Type', help="Type of Event like Seminar, Exhibition, Conference, Training.", readonly=False, states={'done': [('readonly', True)]}),
|
||||
'register_max': fields.integer('Maximum Registrations', help="Provide Maximun Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'register_min': fields.integer('Minimum Registrations', help="Providee Minimum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'register_max': fields.integer('Maximum Registrations', help="Provide Maximum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'register_min': fields.integer('Minimum Registrations', help="Provide Minimum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'register_current': fields.function(_get_register, method=True, string='Confirmed Registrations', multi='register_current',
|
||||
help="Total of Open and Done Registrations"),
|
||||
'register_prospect': fields.function(_get_register, method=True, string='Unconfirmed Registrations', multi='register_prospect',
|
||||
help="Total of Prospect Registrati./event/event.py:41:ons"),
|
||||
help="Total of Prospect Registrations"),
|
||||
'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}),
|
||||
'date_begin': fields.datetime('Beginning date', required=True, help="Beginning Date of Event", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'date_end': fields.datetime('Closing date', required=True, help="Closing Date of Event", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
@@ -223,15 +222,15 @@ class event_event(osv.osv):
|
||||
('cancel', 'Cancelled')],
|
||||
'State', readonly=True, required=True,
|
||||
help='If event is created, the state is \'Draft\'.If event is confirmed for the particular dates the state is set to \'Confirmed\'. If the event is over, the state is set to \'Done\'.If event is cancelled the state is set to \'Cancelled\'.'),
|
||||
'mail_auto_registr': fields.boolean('Mail Auto Register', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want to use the automatic mailing for new registration'),
|
||||
'mail_auto_confirm': fields.boolean('Mail Auto Confirm', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want ot use the automatic confirmation emailing or the reminder'),
|
||||
'mail_auto_registr': fields.boolean('Mail Auto Register', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want to use automatic emailing for new registration.'),
|
||||
'mail_auto_confirm': fields.boolean('Mail Auto Confirm', readonly=False, states={'done': [('readonly', True)]}, help='Check this box if you want to use automatic confirmation emailing or reminder.'),
|
||||
'mail_registr': fields.text('Registration Email', readonly=False, states={'done': [('readonly', True)]}, help='This email will be sent when someone subscribes to the event.'),
|
||||
'mail_confirm': fields.text('Confirmation Email', readonly=False, states={'done': [('readonly', True)]}, help="This email will be sent when the event gets confimed or when someone subscribes to a confirmed event. This is also the email sent to remind someone about the event."),
|
||||
'mail_confirm': fields.text('Confirmation Email', readonly=False, states={'done': [('readonly', True)]}, help="This email will be sent when the event gets confirmed or when someone subscribes to a confirmed event. This is also the email sent to remind someone about the event."),
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="The invoices of this event registration will be created with this Product. Thus it allows you to set the default label and the accounting info you want by default on these invoices."),
|
||||
'note': fields.text('Notes', help="Description or Summary of Event", readonly=False, states={'done': [('readonly', True)]}),
|
||||
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', readonly=True, states={'draft': [('readonly', False)]}, help="Pricelist version for current event."),
|
||||
'unit_price': fields.related('product_id', 'list_price', type='float', string='Registration Cost', readonly=True, states={'draft':[('readonly',False)]}, help="This will be the default price used as registration cost when invoicing this event. Note that you can specify for each registration a specific amount if you want to", digits_compute=dp.get_precision('Sale Price')),
|
||||
'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who are giving speech on event."),
|
||||
'unit_price': fields.related('product_id', 'list_price', type='float', string='Registration Cost', readonly=True, states={'draft':[('readonly',False)]}, help="This will be the default price used as registration cost when invoicing this event. Note that you can specify a specific amount for each registration.", digits_compute=dp.get_precision('Sale Price')),
|
||||
'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."),
|
||||
'speaker_ids': fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers', readonly=False, states={'done': [('readonly', True)]}),
|
||||
'address_id': fields.many2one('res.partner.address','Location Address', readonly=False, states={'done': [('readonly', True)]}),
|
||||
'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}),
|
||||
@@ -548,10 +547,6 @@ class event_registration(osv.osv):
|
||||
body = regestration.event_id.mail_confirm
|
||||
if subject or body:
|
||||
email_message_obj.schedule_with_attach(cr, uid, src, email_to, subject, body, model='event.registration', email_cc=email_cc, openobject_id=regestration.id)
|
||||
self.history(cr, uid, [regestration], subject, history = True, \
|
||||
email=email_to, details=body, \
|
||||
subject=subject, email_from=src, \
|
||||
email_cc=', '.join(email_cc))
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -403,13 +403,13 @@
|
||||
<field name="date"/>
|
||||
<field name="email_to" widget="char" size="512"/>
|
||||
<field name="email_cc" widget="char" size="512"/>
|
||||
<field name="name" colspan="4" widget="char" size="512"/>
|
||||
<field name="subject" colspan="4" widget="char" size="512"/>
|
||||
<field name="history" invisible="1"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Details">
|
||||
<group attrs="{'invisible': [('history', '!=', True)]}">
|
||||
<field name="description" colspan="4" nolabel="1" height="250"/>
|
||||
<field name="body" colspan="4" nolabel="1" height="250"/>
|
||||
<button colspan="4" string="Reply"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'mail':'reply', 'message_id':active_id}"
|
||||
@@ -431,7 +431,6 @@
|
||||
icon="terp-document-new" type="action" />
|
||||
<button string="Send New Email"
|
||||
name="%(mail.action_email_compose_message_wizard)d"
|
||||
context="{'email_model':'event.registration', 'email_res_id': active_id}"
|
||||
icon="terp-mail-message-new" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
@@ -23,4 +23,5 @@ import event_make_invoice
|
||||
import event_confirm_registration
|
||||
import event_confirm
|
||||
import partner_event_registration
|
||||
import email_compose_message
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2010-Today OpenERP SA (<http://www.openerp.com>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv
|
||||
from osv import fields
|
||||
import tools
|
||||
|
||||
class email_compose_message(osv.osv_memory):
|
||||
_inherit = 'email.compose.message'
|
||||
|
||||
def get_value(self, cr, uid, model, resource_id, context=None):
|
||||
'''
|
||||
To get values of the resource_id for the model
|
||||
@param model: Object
|
||||
@param resource_id: id of a record for which values to be read
|
||||
|
||||
@return: Returns a dictionary
|
||||
'''
|
||||
if context is None:
|
||||
context = {}
|
||||
result = super(email_compose_message, self).get_value(cr, uid, model, resource_id, context=context)
|
||||
if model == 'event.registration' and resource_id:
|
||||
model_obj = self.pool.get(model)
|
||||
data = model_obj.browse(cr, uid , resource_id, context)
|
||||
result.update({
|
||||
'subject' : data.event_id.name or False,
|
||||
'email_to' : data.email_from or False,
|
||||
'email_from' : data.user_id and data.user_id.address_id and data.user_id.address_id.email or False,
|
||||
'body' : '\n' + (tools.ustr(data.user_id.signature or '')),
|
||||
'email_cc' : tools.ustr(data.email_cc or ''),
|
||||
'model': model,
|
||||
'res_id': resource_id,
|
||||
})
|
||||
return result
|
||||
|
||||
email_compose_message()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
@@ -161,6 +161,17 @@ class hr_employee(osv.osv):
|
||||
'passport_id':fields.char('Passport No', size=64)
|
||||
}
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
resource_obj = self.pool.get('resource.resource')
|
||||
resource_ids = []
|
||||
for employee in self.browse(cr, uid, ids, context=context):
|
||||
resource = employee.resource_id
|
||||
if resource:
|
||||
resource_ids.append(resource.id)
|
||||
if resource_ids:
|
||||
resource_obj.unlink(cr, uid, resource_ids, context=context)
|
||||
return super(hr_employee, self).unlink(cr, uid, ids, context=context)
|
||||
|
||||
def onchange_address_id(self, cr, uid, ids, address, context=None):
|
||||
if address:
|
||||
address = self.pool.get('res.partner.address').browse(cr, uid, address, context=context)
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
|
||||
<menuitem id="menu_hr_root" icon="terp-hr" name="Human Resources" sequence="15"
|
||||
web_icon="images/hr.png"
|
||||
web_icon_hover="images/hr-hover.png"/>
|
||||
web_icon_hover="images/hr-hover.png"
|
||||
groups="base.group_hr_manager,base.group_hr_user,base.group_user"/>
|
||||
<menuitem id="menu_hr_main" parent="menu_hr_root" name="Human Resources" sequence="0"/>
|
||||
<menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/>
|
||||
<menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" sequence="1"/>
|
||||
@@ -320,7 +321,7 @@
|
||||
<field eval="True" name="object"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="open_view_categ_tree"
|
||||
<menuitem action="open_view_categ_tree"
|
||||
id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
|
||||
|
||||
<record id="view_hr_job_form" model="ir.ui.view">
|
||||
|
||||
@@ -29,7 +29,7 @@ class hr_action_reason(osv.osv):
|
||||
_description = "Action Reason"
|
||||
_columns = {
|
||||
'name': fields.char('Reason', size=64, required=True, help='Specifies the reason for Signing In/Signing Out.'),
|
||||
'action_type': fields.selection([('sign_in', 'Sign in'), ('sign_out', 'Sign out')], "Action's type"),
|
||||
'action_type': fields.selection([('sign_in', 'Sign in'), ('sign_out', 'Sign out')], "Action Type"),
|
||||
}
|
||||
_defaults = {
|
||||
'action_type': 'sign_in',
|
||||
@@ -137,7 +137,7 @@ class hr_employee(osv.osv):
|
||||
|
||||
res = {'action': type, 'employee_id': emp['id']}
|
||||
if dt:
|
||||
res['name'] = dt
|
||||
res['name'] = dt
|
||||
id = obj_attendance.create(cr, uid, res, context=context)
|
||||
|
||||
if type != 'action':
|
||||
|
||||
@@ -7,14 +7,14 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
|
||||
"PO-Revision-Date: 2011-02-09 00:37+0000\n"
|
||||
"Last-Translator: Luiz Fernando M.França <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-04-25 23:40+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-02-10 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-27 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.ui.menu,name:hr_attendance.menu_hr_time_tracking
|
||||
@@ -24,12 +24,12 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "Agrupar Por..."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
msgstr "Hoje"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
@@ -42,6 +42,8 @@ msgid ""
|
||||
"You did not sign out the last time. Please enter the date and time you "
|
||||
"signed out."
|
||||
msgstr ""
|
||||
"Da última vez você não deu a saída. Favor digitar a data e hora que você "
|
||||
"saiu."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
@@ -56,7 +58,7 @@ msgstr "Motivo"
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
msgid "Print Attendance Report Error"
|
||||
msgstr ""
|
||||
msgstr "Imprimir Relatório de Erro de Frequência"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_sign_in_out.py:156
|
||||
@@ -80,18 +82,18 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: view:hr.action.reason:0
|
||||
msgid "Attendance reasons"
|
||||
msgstr ""
|
||||
msgstr "Razões de frequência"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
#: field:hr.attendance,day:0
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
msgstr "Dia"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.employee,state:0
|
||||
msgid "Present"
|
||||
msgstr "Atual"
|
||||
msgstr "Presente"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_sign_in_out_ask
|
||||
@@ -107,29 +109,31 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: view:hr.sign.in.out:0
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
msgstr "Ok"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.action.reason:0
|
||||
msgid "Define attendance reason"
|
||||
msgstr ""
|
||||
msgstr "Definir razões de frequência"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: constraint:hr.employee:0
|
||||
msgid ""
|
||||
"Error ! You cannot select a department for which the employee is the manager."
|
||||
msgstr ""
|
||||
"Erro! Você não pode selecionar um departamento do qual o funcionário é o "
|
||||
"gerente."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.action_hr_attendance_month
|
||||
msgid "Attendances By Month"
|
||||
msgstr ""
|
||||
msgstr "Frequências Por Mês"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.sign.in.out,name:0
|
||||
#: field:hr.sign.in.out.ask,name:0
|
||||
msgid "Employees name"
|
||||
msgstr ""
|
||||
msgstr "Nome do Funcionário"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.open_view_attendance_reason
|
||||
@@ -173,7 +177,7 @@ msgstr "A data de entrada precisa ser anterior"
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_sign_in_out.py:162
|
||||
#, python-format
|
||||
msgid "A sign-in must be right after a sign-out !"
|
||||
msgstr ""
|
||||
msgstr "Uma entrada deve ocorrer sempre após uma saída!"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.employee,state:0
|
||||
@@ -184,13 +188,13 @@ msgstr "Frequência"
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.error,max_delay:0
|
||||
msgid "Max. Delay (Min)"
|
||||
msgstr ""
|
||||
msgstr "Atraso Máx. (Min)"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
#: view:hr.attendance.month:0
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
msgstr "Imprimir"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
@@ -206,6 +210,13 @@ msgid ""
|
||||
" actions(Sign in/Sign out) performed by them.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Este módulo tem como objetivo o gerenciamento de frequência de "
|
||||
"funcionários.\n"
|
||||
" Ele mantém o apontamento das frequências com base nas ações "
|
||||
"(Entrada/Saída)\n"
|
||||
" executadas pelos funcionários.\n"
|
||||
" "
|
||||
|
||||
#. module: hr_attendance
|
||||
#: constraint:hr.attendance:0
|
||||
@@ -232,7 +243,7 @@ msgstr "Data de Início"
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Min Delay"
|
||||
msgstr ""
|
||||
msgstr "Atraso Mín."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance,action:0
|
||||
@@ -249,7 +260,7 @@ msgstr "Operação"
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_error.py:49
|
||||
#, python-format
|
||||
msgid "No Data Available"
|
||||
msgstr ""
|
||||
msgstr "Nenhum Dado Disponível"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
@@ -281,12 +292,12 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_month
|
||||
msgid "Print Monthly Attendance Report"
|
||||
msgstr ""
|
||||
msgstr "Imprimir Relatório de Frequência Mensal"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_sign_in_out
|
||||
msgid "Sign In Sign Out"
|
||||
msgstr ""
|
||||
msgstr "Entrada e Saída"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_sign_in_out.py:103
|
||||
@@ -302,7 +313,7 @@ msgstr "Entrada / Saída"
|
||||
#. module: hr_attendance
|
||||
#: view:hr.sign.in.out.ask:0
|
||||
msgid "hr.sign.out.ask"
|
||||
msgstr ""
|
||||
msgstr "hr.sign.out.ask"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
@@ -323,7 +334,7 @@ msgstr "Junho"
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_error
|
||||
msgid "Print Error Attendance Report"
|
||||
msgstr ""
|
||||
msgstr "Imprimir Relatório de Erros de Frequência"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.module.module,shortdesc:hr_attendance.module_meta_information
|
||||
@@ -343,7 +354,7 @@ msgstr "Novembro"
|
||||
#. module: hr_attendance
|
||||
#: constraint:hr.employee:0
|
||||
msgid "Error ! You cannot create recursive Hierarchy of Employees."
|
||||
msgstr ""
|
||||
msgstr "Erro! Você não pode criar uma Hierarquia de Funcionários recursiva."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
@@ -353,7 +364,7 @@ msgstr "Outubro"
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "My Attendances"
|
||||
msgstr ""
|
||||
msgstr "Minhas Frequências"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
@@ -375,7 +386,7 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: view:hr.sign.in.out:0
|
||||
msgid "Sign-Out Entry must follow Sign-In."
|
||||
msgstr ""
|
||||
msgstr "Um apontamento de Saída deve ser depois da Entrada."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
@@ -400,17 +411,17 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: field:hr.sign.in.out,emp_id:0
|
||||
msgid "Employee ID"
|
||||
msgstr ""
|
||||
msgstr "ID de Funcionário"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_week
|
||||
msgid "Print Week Attendance Report"
|
||||
msgstr ""
|
||||
msgstr "Imprimir Relatório de Frequência Semanal"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.sign.in.out.ask,emp_id:0
|
||||
msgid "Empoyee ID"
|
||||
msgstr ""
|
||||
msgstr "ID de Funcionário"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
@@ -423,7 +434,7 @@ msgstr "Cancelar"
|
||||
#. module: hr_attendance
|
||||
#: help:hr.action.reason,name:0
|
||||
msgid "Specifies the reason for Signing In/Signing Out."
|
||||
msgstr ""
|
||||
msgstr "Especifica a razão para Entrada/Saída."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
@@ -436,7 +447,7 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.month:0
|
||||
msgid "Print Attendance Report Monthly"
|
||||
msgstr ""
|
||||
msgstr "Imprimir Relatório de Frequência Mensal"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.action.reason,action_type:0
|
||||
@@ -510,7 +521,7 @@ msgstr ""
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance,employee_id:0
|
||||
msgid "Employee's Name"
|
||||
msgstr ""
|
||||
msgstr "Nome do Funcionário"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.employee,state:0
|
||||
@@ -551,7 +562,7 @@ msgstr "Indique este atraso, o erro é considerado para ser voluntário"
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_error.py:49
|
||||
#, python-format
|
||||
msgid "No records found for your selection!"
|
||||
msgstr ""
|
||||
msgstr "Nenhum registro encontrado para sua consulta!"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.sign.in.out.ask:0
|
||||
@@ -559,6 +570,8 @@ msgid ""
|
||||
"You did not sign in the last time. Please enter the date and time you signed "
|
||||
"in."
|
||||
msgstr ""
|
||||
"Da última vez você não deu entrada. Favor digitar a data e hora que você "
|
||||
"entrou."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.month,year:0
|
||||
@@ -568,7 +581,7 @@ msgstr "Ano"
|
||||
#. module: hr_attendance
|
||||
#: view:hr.sign.in.out.ask:0
|
||||
msgid "hr.sign.in.out.ask"
|
||||
msgstr ""
|
||||
msgstr "hr.sign.in.out.ask"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Object name must start with x_ and not contain any special character !"
|
||||
|
||||
@@ -109,6 +109,7 @@ class report_custom(report_rml):
|
||||
%s
|
||||
</report>
|
||||
''' % '\n'.join(user_xml)
|
||||
xml = tools.ustr(xml).encode('utf8')
|
||||
return self.post_process_xml_data(cr, uid, xml, context)
|
||||
|
||||
report_custom('report.hr.attendance.allweeks', 'hr.employee', '', 'addons/hr_attendance/report/timesheet.xsl')
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user