diff --git a/addons/account/account.py b/addons/account/account.py
index c11d7394100..75041705547 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -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 = [
diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py
index a93dc70b2fb..08123c8f460 100644
--- a/addons/account/account_analytic_line.py
+++ b/addons/account/account_analytic_line.py
@@ -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),
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 76ccad9e68a..7a885fb2cad 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -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):
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py
index ff0f0117ff5..04e780ade30 100644
--- a/addons/account/account_cash_statement.py
+++ b/addons/account/account_cash_statement.py
@@ -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
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index bab2f43060f..e0a355c35bf 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -454,7 +454,7 @@
-
+
diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po
index dae24fa0df8..6c0713306f5 100644
--- a/addons/account/i18n/de.po
+++ b/addons/account/i18n/de.po
@@ -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 \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
diff --git a/addons/account/i18n/gl.po b/addons/account/i18n/gl.po
index 2d629ed90f1..28ae44ff267 100644
--- a/addons/account/i18n/gl.po
+++ b/addons/account/i18n/gl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \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) \n"
+"PO-Revision-Date: 2011-04-27 15:37+0000\n"
+"Last-Translator: Xosé \n"
"Language-Team: Galician \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
diff --git a/addons/account/i18n/pt_BR.po b/addons/account/i18n/pt_BR.po
index dcdb807b7d9..fd8020ae0b8 100644
--- a/addons/account/i18n/pt_BR.po
+++ b/addons/account/i18n/pt_BR.po
@@ -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 \n"
+"PO-Revision-Date: 2011-04-21 21:39+0000\n"
+"Last-Translator: Nédio Batista Marques \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
diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po
index 575723fc90d..2a4d65e1ef4 100644
--- a/addons/account/i18n/ru.po
+++ b/addons/account/i18n/ru.po
@@ -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 \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
diff --git a/addons/account/i18n/tr.po b/addons/account/i18n/tr.po
index 30b597eaf77..81f376dcd82 100644
--- a/addons/account/i18n/tr.po
+++ b/addons/account/i18n/tr.po
@@ -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 \n"
+"PO-Revision-Date: 2011-04-27 21:47+0000\n"
+"Last-Translator: Ayhan KIZILTAN \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
diff --git a/addons/account/project/wizard/account_analytic_journal_report.py b/addons/account/project/wizard/account_analytic_journal_report.py
index cb2b67aad39..59dd0361805 100644
--- a/addons/account/project/wizard/account_analytic_journal_report.py
+++ b/addons/account/project/wizard/account_analytic_journal_report.py
@@ -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:
\ No newline at end of file
+account_analytic_journal_report()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/project/wizard/account_analytic_journal_report_view.xml b/addons/account/project/wizard/account_analytic_journal_report_view.xml
index 137920ee056..20777401da0 100644
--- a/addons/account/project/wizard/account_analytic_journal_report_view.xml
+++ b/addons/account/project/wizard/account_analytic_journal_report_view.xml
@@ -4,7 +4,7 @@
Account Analytic Journal
- account.analytic.Journal.report
+ account.analytic.journal.report
form
diff --git a/addons/account_analytic_plans/i18n/ru.po b/addons/account_analytic_plans/i18n/ru.po
index ca2f431d36e..6f5f6baa5ba 100644
--- a/addons/account_analytic_plans/i18n/ru.po
+++ b/addons/account_analytic_plans/i18n/ru.po
@@ -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 \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
diff --git a/addons/account_budget/report/budget_report.py b/addons/account_budget/report/budget_report.py
index 8b98b067bb3..7681f9268d9 100644
--- a/addons/account_budget/report/budget_report.py
+++ b/addons/account_budget/report/budget_report.py
@@ -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',
diff --git a/addons/account_budget/report/crossovered_budget_report.py b/addons/account_budget/report/crossovered_budget_report.py
index 8a3b745e32a..b70b7da34bb 100644
--- a/addons/account_budget/report/crossovered_budget_report.py
+++ b/addons/account_budget/report/crossovered_budget_report.py
@@ -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',
diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py
index f3259f846cc..5eadb0049b0 100644
--- a/addons/account_payment/account_payment.py
+++ b/addons/account_payment/account_payment.py
@@ -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'),
diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml
index 56ff30e5ded..6f7acc7a367 100644
--- a/addons/account_payment/account_payment_view.xml
+++ b/addons/account_payment/account_payment_view.xml
@@ -79,8 +79,9 @@
diff --git a/addons/account_payment/i18n/nb.po b/addons/account_payment/i18n/nb.po
new file mode 100644
index 00000000000..2e2e11a56a8
--- /dev/null
+++ b/addons/account_payment/i18n/nb.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Norwegian Bokmal \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 ""
diff --git a/addons/account_payment/i18n/ro.po b/addons/account_payment/i18n/ro.po
index 405e9574e7a..78a7caaaf1e 100644
--- a/addons/account_payment/i18n/ro.po
+++ b/addons/account_payment/i18n/ro.po
@@ -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) \n"
+"PO-Revision-Date: 2011-04-26 18:16+0000\n"
+"Last-Translator: filsys \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
diff --git a/addons/account_sequence/i18n/pt.po b/addons/account_sequence/i18n/pt.po
new file mode 100644
index 00000000000..053e67f95b3
--- /dev/null
+++ b/addons/account_sequence/i18n/pt.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Portuguese \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 ""
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 9bfee8b8d49..b4422cd8051 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -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'
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 39ffeb70eed..6dfaac21e70 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -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()
diff --git a/addons/analytic/i18n/tr.po b/addons/analytic/i18n/tr.po
new file mode 100644
index 00000000000..6934dd45c10
--- /dev/null
+++ b/addons/analytic/i18n/tr.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Turkish \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 ""
diff --git a/addons/base_action_rule/i18n/it.po b/addons/base_action_rule/i18n/it.po
index 5eb83aebe3f..06b819cb545 100644
--- a/addons/base_action_rule/i18n/it.po
+++ b/addons/base_action_rule/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"PO-Revision-Date: 2011-04-25 09:02+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index d49594f4a60..71c84a2cda2 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -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:
diff --git a/addons/base_calendar/i18n/tr.po b/addons/base_calendar/i18n/tr.po
new file mode 100644
index 00000000000..97cefdf1d28
--- /dev/null
+++ b/addons/base_calendar/i18n/tr.po
@@ -0,0 +1,1660 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-04-23 18:46+0000\n"
+"Last-Translator: Ayhan KIZILTAN \n"
+"Language-Team: Turkish \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-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_related:0
+#: selection:res.alarm,trigger_related:0
+msgid "The event starts"
+msgstr "Olay Başlar"
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+msgid "Hourly"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Required to Join"
+msgstr "Katılmak gerekir"
+
+#. module: base_calendar
+#: help:calendar.event,exdate:0
+#: help:calendar.todo,exdate:0
+msgid ""
+"This property defines the list of date/time exceptions for a recurring "
+"calendar component."
+msgstr ""
+"Bu özellik yinelenen takvim öğeleri için istisna tutulan tarih/saat "
+"listesini belirtir."
+
+#. module: base_calendar
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event.edit.all,name:0
+msgid "Title"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+#: selection:calendar.event,rrule_type:0
+#: selection:calendar.todo,rrule_type:0
+msgid "Monthly"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Invited User"
+msgstr "Davetli Kullanıcı"
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Invitation"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,recurrency:0
+#: help:calendar.todo,recurrency:0
+msgid "Recurrent Meeting"
+msgstr "Yinelenen Toplantı"
+
+#. module: base_calendar
+#: model:ir.actions.act_window,name:base_calendar.action_res_alarm_view
+#: model:ir.ui.menu,name:base_calendar.menu_crm_meeting_avail_alarm
+msgid "Alarms"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Sunday"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: field:calendar.attendee,role:0
+msgid "Role"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Invitation details"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "Fourth"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,show_as:0
+#: field:calendar.todo,show_as:0
+msgid "Show as"
+msgstr "Farklı Göster"
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,day:0
+#: selection:base.calendar.set.exrule,select1:0
+#: field:calendar.event,day:0
+#: selection:calendar.event,select1:0
+#: field:calendar.todo,day:0
+#: selection:calendar.todo,select1:0
+msgid "Date of month"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,class:0
+#: selection:calendar.todo,class:0
+msgid "Public"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid " "
+msgstr " "
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "March"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:90
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Friday"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,allday:0
+#: field:calendar.todo,allday:0
+msgid "All Day"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,select1:0
+#: field:calendar.event,select1:0
+#: field:calendar.todo,select1:0
+msgid "Option"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,availability:0
+#: selection:calendar.event,show_as:0
+#: selection:calendar.todo,show_as:0
+#: selection:res.users,availability:0
+msgid "Free"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,rsvp:0
+msgid "Indicats whether the favor of a reply is requested"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_ir_attachment
+msgid "ir.attachment"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,delegated_to:0
+msgid "The users that the original request was delegated to"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,ref:0
+msgid "Event Ref"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,we:0
+#: field:calendar.event,we:0
+#: field:calendar.todo,we:0
+msgid "Wed"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Show time as"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,tu:0
+#: field:calendar.event,tu:0
+#: field:calendar.todo,tu:0
+msgid "Tue"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+#: selection:calendar.event,rrule_type:0
+#: selection:calendar.todo,rrule_type:0
+msgid "Yearly"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_related:0
+#: selection:res.alarm,trigger_related:0
+msgid "The event ends"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "Last"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,state:0
+msgid "Status of the attendee's participation"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,cutype:0
+msgid "Room"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_interval:0
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+#: selection:res.alarm,trigger_interval:0
+msgid "Days"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Invitation Detail"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/base_calendar.py:1356
+#: code:addons/base_calendar/wizard/base_calendar_invite_attendee.py:96
+#: code:addons/base_calendar/wizard/base_calendar_invite_attendee.py:143
+#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:128
+#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:136
+#, python-format
+msgid "Error!"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,role:0
+msgid "Chair Person"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,action:0
+msgid "Procedure"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,state:0
+#: selection:calendar.todo,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_interval:0
+#: selection:res.alarm,trigger_interval:0
+msgid "Minutes"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,action:0
+msgid "Display"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event.edit.all:0
+msgid "Edit all Occurrences"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Invitation type"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+msgid "Secondly"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,event_date:0
+#: field:calendar.attendee,event_date:0
+#: view:calendar.event:0
+msgid "Event Date"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Group By..."
+msgstr ""
+
+#. module: base_calendar
+#: help:base_calendar.invite.attendee,email:0
+msgid "Provide external email address who will receive this invitation."
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.module.module,description:base_calendar.module_meta_information
+msgid ""
+"Full featured calendar system that supports:\n"
+" - Calendar of events\n"
+" - Alerts (create requests)\n"
+" - Recurring events\n"
+" - Invitations to people"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,cutype:0
+msgid "Specify the type of Invitation"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+msgid "Years"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,event_end_date:0
+#: field:calendar.attendee,event_end_date:0
+msgid "Event End Date"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,role:0
+msgid "Optional Participation"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,date_deadline:0
+#: field:calendar.todo,date_deadline:0
+msgid "Deadline"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/base_calendar.py:385
+#: code:addons/base_calendar/base_calendar.py:1090
+#: code:addons/base_calendar/base_calendar.py:1092
+#, python-format
+msgid "Warning!"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,active:0
+#: help:calendar.todo,active:0
+msgid ""
+"If the active field is set to true, it will allow you to hide the "
+"event alarm information without removing it."
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.module.module,shortdesc:base_calendar.module_meta_information
+msgid "Basic Calendar Functionality"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,organizer:0
+#: field:calendar.event,organizer_id:0
+#: field:calendar.todo,organizer:0
+#: field:calendar.todo,organizer_id:0
+msgid "Organizer"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+#: field:calendar.event,user_id:0
+#: field:calendar.todo,user_id:0
+msgid "Responsible"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: model:res.request.link,name:base_calendar.request_link_meeting
+msgid "Event"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,edit_all:0
+#: help:calendar.todo,edit_all:0
+msgid "Edit all Occurrences of recurrent Meeting."
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_occurs:0
+#: selection:res.alarm,trigger_occurs:0
+msgid "Before"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: selection:calendar.event,state:0
+#: selection:calendar.todo,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.actions.act_window,name:base_calendar.action_calendar_event_edit_all
+msgid "Edit all events"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,attendee_ids:0
+#: field:calendar.event,attendee_ids:0
+#: field:calendar.todo,attendee_ids:0
+msgid "Attendees"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Confirm"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_calendar_todo
+msgid "Calendar Task"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,su:0
+#: field:calendar.event,su:0
+#: field:calendar.todo,su:0
+msgid "Sun"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,cutype:0
+msgid "Invite Type"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,partner_id:0
+msgid "Partner related to contact"
+msgstr ""
+
+#. module: base_calendar
+#: view:res.alarm:0
+msgid "Reminder details"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,parent_ids:0
+msgid "Delegrated From"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,select1:0
+#: selection:calendar.event,select1:0
+#: selection:calendar.todo,select1:0
+msgid "Day of month"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: field:calendar.event,location:0
+#: field:calendar.event.edit.all,location:0
+#: field:calendar.todo,location:0
+msgid "Location"
+msgstr ""
+
+#. module: base_calendar
+#: field:base_calendar.invite.attendee,send_mail:0
+msgid "Send mail?"
+msgstr ""
+
+#. module: base_calendar
+#: field:base_calendar.invite.attendee,email:0
+#: selection:calendar.alarm,action:0
+#: field:calendar.attendee,email:0
+msgid "Email"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Event Detail"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,state:0
+msgid "Run"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,exdate:0
+#: field:calendar.todo,exdate:0
+msgid "Exception Date/Times"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,class:0
+#: selection:calendar.todo,class:0
+msgid "Confidential"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,end_date:0
+#: field:calendar.event,end_date:0
+#: field:calendar.todo,end_date:0
+msgid "Repeat Until"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.actions.act_window,help:base_calendar.action_res_alarm_view
+msgid ""
+"Create specific calendar alarms that may be assigned to calendar events or "
+"meetings."
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Visibility"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,rsvp:0
+msgid "Required Reply?"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,base_calendar_url:0
+#: field:calendar.todo,base_calendar_url:0
+msgid "Caldav URL"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+msgid "Select range to Exclude"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,recurrent_uid:0
+#: field:calendar.todo,recurrent_uid:0
+msgid "Recurrent ID"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "July"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: selection:calendar.attendee,state:0
+msgid "Accepted"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,th:0
+#: field:calendar.event,th:0
+#: field:calendar.todo,th:0
+msgid "Thu"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,child_ids:0
+msgid "Delegrated To"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Required Reply"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,end_type:0
+#: selection:calendar.todo,end_type:0
+msgid "Forever"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,role:0
+msgid "Participation required"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,create_date:0
+#: field:calendar.todo,create_date:0
+msgid "Created"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,class:0
+#: selection:calendar.todo,class:0
+msgid "Private"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+#: selection:calendar.event,rrule_type:0
+#: selection:calendar.todo,rrule_type:0
+msgid "Daily"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/base_calendar.py:385
+#, python-format
+msgid "Can not Duplicate"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,class:0
+#: field:calendar.todo,class:0
+msgid "Mark as"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: field:calendar.attendee,partner_address_id:0
+msgid "Contact"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,rrule_type:0
+#: help:calendar.todo,rrule_type:0
+msgid "Let the event automatically repeat at that interval"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Delegate"
+msgstr ""
+
+#. module: base_calendar
+#: field:base_calendar.invite.attendee,partner_id:0
+#: view:calendar.attendee:0
+#: field:calendar.attendee,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+#: selection:base_calendar.invite.attendee,type:0
+msgid "Partner Contacts"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+msgid "_Ok"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "First"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Privacy"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,vtimezone:0
+#: field:calendar.todo,vtimezone:0
+msgid "Timezone"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Subject"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "September"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "December"
+msgstr ""
+
+#. module: base_calendar
+#: help:base_calendar.invite.attendee,send_mail:0
+msgid "Check this if you want to send an Email to Invited Person"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Availability"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event.edit.all:0
+msgid "_Save"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,cutype:0
+msgid "Individual"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,count:0
+#: help:calendar.todo,count:0
+msgid "Repeat x times"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,user_id:0
+msgid "Owner"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Delegation Info"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: field:calendar.event.edit.all,date:0
+msgid "Start Date"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,cn:0
+msgid "Common name"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: selection:calendar.attendee,state:0
+msgid "Declined"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "My Role"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "My Events"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Decline"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+msgid "Weeks"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,cutype:0
+msgid "Group"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,edit_all:0
+#: field:calendar.todo,edit_all:0
+msgid "Edit All"
+msgstr ""
+
+#. module: base_calendar
+#: field:base_calendar.invite.attendee,contact_ids:0
+msgid "Contacts"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_res_alarm
+msgid "Basic Alarm Information"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,fr:0
+#: field:calendar.event,fr:0
+#: field:calendar.todo,fr:0
+msgid "Fri"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_interval:0
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+#: selection:res.alarm,trigger_interval:0
+msgid "Hours"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/base_calendar.py:1092
+#, python-format
+msgid "Count can not be Negative"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,member:0
+msgid "Member"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,location:0
+#: help:calendar.todo,location:0
+msgid "Location of Event"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,rrule:0
+#: field:calendar.todo,rrule:0
+msgid "Recurrent Rule"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,attach:0
+msgid "Attachment"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Invitation From"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "End of recurrency"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: field:calendar.event.edit.all,alarm_id:0
+msgid "Reminder"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+#: model:ir.actions.act_window,name:base_calendar.action_base_calendar_set_exrule
+#: model:ir.model,name:base_calendar.model_base_calendar_set_exrule
+msgid "Set Exrule"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: model:ir.actions.act_window,name:base_calendar.action_view_event
+#: model:ir.ui.menu,name:base_calendar.menu_events
+msgid "Events"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.actions.act_window,name:base_calendar.action_view_calendar_invite_attendee_wizard
+#: model:ir.model,name:base_calendar.model_base_calendar_invite_attendee
+msgid "Invite Attendees"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,email:0
+msgid "Email of Invited Person"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,repeat:0
+#: field:calendar.event,count:0
+#: field:calendar.todo,count:0
+#: field:res.alarm,repeat:0
+msgid "Repeat"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,dir:0
+msgid ""
+"Reference to the URIthat points to the directory information corresponding "
+"to the attendee."
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "August"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Monday"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "Third"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "June"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,alarm_id:0
+msgid "Basic Alarm"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+#: view:calendar.event:0
+msgid "The"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: field:calendar.attendee,delegated_from:0
+msgid "Delegated From"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: field:calendar.event,date:0
+msgid "Date"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "November"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,member:0
+msgid "Indicate the groups that the attendee belongs to"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+msgid "Data"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,mo:0
+#: field:calendar.event,mo:0
+#: field:calendar.todo,mo:0
+msgid "Mon"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,count:0
+msgid "Count"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+msgid "No Repeat"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "October"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Uncertain"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,language:0
+msgid "Language"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,trigger_occurs:0
+#: field:res.alarm,trigger_occurs:0
+msgid "Triggers"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "January"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,trigger_related:0
+#: field:res.alarm,trigger_related:0
+msgid "Related to"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,interval:0
+#: field:calendar.alarm,trigger_interval:0
+#: field:res.alarm,trigger_interval:0
+msgid "Interval"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Wednesday"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/base_calendar.py:1090
+#, python-format
+msgid "Interval can not be Negative"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,name:0
+#: view:calendar.event:0
+msgid "Summary"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,active:0
+#: field:calendar.event,active:0
+#: field:calendar.todo,active:0
+#: field:res.alarm,active:0
+msgid "Active"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Choose day in the month where repeat the meeting"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,action:0
+msgid "Action"
+msgstr ""
+
+#. module: base_calendar
+#: help:base_calendar.invite.attendee,type:0
+msgid "Select whom you want to Invite"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,duration:0
+#: help:res.alarm,duration:0
+msgid ""
+"Duration' and 'Repeat' are both optional, but if one occurs, so MUST the "
+"other"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_calendar_event_edit_all
+msgid "Calendar Edit all event"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,role:0
+msgid "Participation role for the calendar user"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: field:calendar.attendee,delegated_to:0
+msgid "Delegated To"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,action:0
+msgid "Defines the action to be invoked when an alarm is triggered"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,end_type:0
+#: selection:calendar.todo,end_type:0
+msgid "End date"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Search Events"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Recurrency Option"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+#: selection:calendar.event,rrule_type:0
+#: selection:calendar.todo,rrule_type:0
+msgid "Weekly"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,active:0
+#: help:res.alarm,active:0
+msgid ""
+"If the active field is set to true, it will allow you to hide the event "
+"alarm information without removing it."
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,recurrent_id:0
+#: field:calendar.todo,recurrent_id:0
+msgid "Recurrent ID date"
+msgstr ""
+
+#. module: base_calendar
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,state:0
+#: view:calendar.attendee:0
+#: field:calendar.attendee,state:0
+#: view:calendar.event:0
+#: field:calendar.event,state:0
+#: field:calendar.todo,state:0
+msgid "State"
+msgstr ""
+
+#. module: base_calendar
+#: view:res.alarm:0
+msgid "Reminder Details"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "To Review"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,freq:0
+#: field:calendar.event,freq:0
+#: field:calendar.todo,freq:0
+msgid "Frequency"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,state:0
+msgid "Done"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,interval:0
+#: help:calendar.todo,interval:0
+msgid "Repeat every (Days/Week/Month/Year)"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+#: field:base_calendar.invite.attendee,user_ids:0
+msgid "Users"
+msgstr ""
+
+#. module: base_calendar
+#: view:base.calendar.set.exrule:0
+msgid "of"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+#: view:calendar.event:0
+#: view:calendar.event.edit.all:0
+msgid "Cancel"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_res_users
+msgid "res.users"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Tuesday"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,description:0
+msgid ""
+"Provides a more complete description of the "
+"calendar component, than that provided by the "
+"\"SUMMARY\" property"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Responsible User"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,availability:0
+#: selection:calendar.event,show_as:0
+#: selection:calendar.todo,show_as:0
+#: selection:res.users,availability:0
+msgid "Busy"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_calendar_event
+msgid "Calendar Event"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,state:0
+#: selection:calendar.event,state:0
+#: selection:calendar.todo,state:0
+msgid "Tentative"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,interval:0
+#: field:calendar.todo,interval:0
+msgid "Repeat every"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,end_type:0
+#: selection:calendar.todo,end_type:0
+msgid "Fix amout of times"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,recurrency:0
+#: field:calendar.todo,recurrency:0
+msgid "Recurrent"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,rrule_type:0
+#: field:calendar.todo,rrule_type:0
+msgid "Recurrency"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.actions.act_window,name:base_calendar.action_view_attendee_form
+#: model:ir.ui.menu,name:base_calendar.menu_attendee_invitations
+msgid "Event Invitations"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Thursday"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,exrule:0
+#: field:calendar.todo,exrule:0
+msgid "Exception Rule"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,language:0
+msgid ""
+"To specify the language for text values in aproperty or property parameter."
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Details"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,exrule:0
+#: help:calendar.todo,exrule:0
+msgid ""
+"Defines a rule or repeating pattern of time to exclude from the recurring "
+"rule."
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,month_list:0
+#: field:calendar.event,month_list:0
+#: field:calendar.todo,month_list:0
+msgid "Month"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+#: view:calendar.event:0
+msgid "Invite People"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,rrule:0
+#: help:calendar.todo,rrule:0
+msgid ""
+"Defines a rule or repeating pattern for recurring events\n"
+"e.g.: Every other month on the last Sunday of the month for 10 occurrences: "
+" FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,dir:0
+msgid "URI Reference"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,description:0
+#: view:calendar.event:0
+#: field:calendar.event,description:0
+#: field:calendar.event,name:0
+#: field:calendar.todo,description:0
+#: field:calendar.todo,name:0
+msgid "Description"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "May"
+msgstr ""
+
+#. module: base_calendar
+#: field:base_calendar.invite.attendee,type:0
+#: view:calendar.attendee:0
+msgid "Type"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Search Invitations"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,trigger_occurs:0
+#: selection:res.alarm,trigger_occurs:0
+msgid "After"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,state:0
+msgid "Stop"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_ir_values
+msgid "ir.values"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_ir_model
+msgid "Objects"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: selection:calendar.attendee,state:0
+msgid "Delegated"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,sa:0
+#: field:calendar.event,sa:0
+#: field:calendar.todo,sa:0
+msgid "Sat"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Choose day where repeat the meeting"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,freq:0
+msgid "Minutely"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.attendee,sent_by:0
+msgid "Specify the user that is acting on behalf of the calendar user"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+#: field:calendar.event.edit.all,date_deadline:0
+msgid "End Date"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "February"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.event,freq:0
+#: selection:calendar.todo,freq:0
+msgid "Months"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,cutype:0
+msgid "Resource"
+msgstr ""
+
+#. module: base_calendar
+#: field:res.alarm,name:0
+msgid "Name"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_calendar_alarm
+msgid "Event alarm information"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,name:0
+msgid ""
+"Contains the text to be used as the message subject for "
+"email or contains the text to be used for display"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,alarm_id:0
+#: field:calendar.event,base_calendar_alarm_id:0
+#: field:calendar.todo,alarm_id:0
+#: field:calendar.todo,base_calendar_alarm_id:0
+msgid "Alarm"
+msgstr ""
+
+#. module: base_calendar
+#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:90
+#, python-format
+msgid "Please Apply Recurrency before applying Exception Rule."
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,sent_by_uid:0
+msgid "Sent By User"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,month_list:0
+#: selection:calendar.event,month_list:0
+#: selection:calendar.todo,month_list:0
+msgid "April"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.event:0
+msgid "Recurrency period"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,week_list:0
+#: field:calendar.event,week_list:0
+#: field:calendar.todo,week_list:0
+msgid "Weekday"
+msgstr ""
+
+#. module: base_calendar
+#: field:base.calendar.set.exrule,byday:0
+#: field:calendar.event,byday:0
+#: field:calendar.todo,byday:0
+msgid "By day"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,model_id:0
+msgid "Model"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.alarm,action:0
+msgid "Audio"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,id:0
+#: field:calendar.todo,id:0
+msgid "ID"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,role:0
+msgid "For information Purpose"
+msgstr ""
+
+#. module: base_calendar
+#: view:base_calendar.invite.attendee:0
+msgid "Invite"
+msgstr ""
+
+#. module: base_calendar
+#: model:ir.model,name:base_calendar.model_calendar_attendee
+msgid "Attendee information"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,res_id:0
+msgid "Resource ID"
+msgstr ""
+
+#. module: base_calendar
+#: selection:calendar.attendee,state:0
+msgid "Needs Action"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,sent_by:0
+msgid "Sent By"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,sequence:0
+#: field:calendar.todo,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.event,alarm_id:0
+#: help:calendar.todo,alarm_id:0
+msgid "Set an alarm at this time, before the event occurs"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base_calendar.invite.attendee,type:0
+msgid "Internal User"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+#: view:calendar.event:0
+msgid "Accept"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,week_list:0
+#: selection:calendar.event,week_list:0
+#: selection:calendar.todo,week_list:0
+msgid "Saturday"
+msgstr ""
+
+#. module: base_calendar
+#: view:calendar.attendee:0
+msgid "Invitation To"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "Second"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.attendee,availability:0
+#: field:res.users,availability:0
+msgid "Free/Busy"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.event,end_type:0
+#: field:calendar.todo,end_type:0
+msgid "Way to end reccurency"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,duration:0
+#: field:calendar.alarm,trigger_duration:0
+#: field:calendar.event,duration:0
+#: field:calendar.todo,date:0
+#: field:calendar.todo,duration:0
+#: field:res.alarm,duration:0
+#: field:res.alarm,trigger_duration:0
+msgid "Duration"
+msgstr ""
+
+#. module: base_calendar
+#: selection:base_calendar.invite.attendee,type:0
+msgid "External Email"
+msgstr ""
+
+#. module: base_calendar
+#: field:calendar.alarm,trigger_date:0
+msgid "Trigger Date"
+msgstr ""
+
+#. module: base_calendar
+#: help:calendar.alarm,attach:0
+msgid ""
+"* Points to a sound resource, which is rendered when the "
+"alarm is triggered for audio,\n"
+" * File which is intended to be sent as message "
+"attachments for email,\n"
+" * Points to a procedure resource, which is invoked when "
+" the alarm is triggered for procedure."
+msgstr ""
+
+#. module: base_calendar
+#: selection:base.calendar.set.exrule,byday:0
+#: selection:calendar.event,byday:0
+#: selection:calendar.todo,byday:0
+msgid "Fifth"
+msgstr ""
diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
index ea4d5aca85f..7d5b26026b5 100644
--- a/addons/base_calendar/wizard/base_calendar_invite_attendee.py
+++ b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
@@ -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))
diff --git a/addons/base_module_doc_rst/report/report_proximity_graph.py b/addons/base_module_doc_rst/report/report_proximity_graph.py
index 2d3704fd5b7..d14d709f501 100644
--- a/addons/base_module_doc_rst/report/report_proximity_graph.py
+++ b/addons/base_module_doc_rst/report/report_proximity_graph.py
@@ -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":
diff --git a/addons/base_synchro/i18n/ru.po b/addons/base_synchro/i18n/ru.po
index 2d5595e3191..1bc566195b9 100644
--- a/addons/base_synchro/i18n/ru.po
+++ b/addons/base_synchro/i18n/ru.po
@@ -8,24 +8,24 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"PO-Revision-Date: 2011-04-25 08:58+0000\n"
+"Last-Translator: Viktor Prokopiev \n"
"Language-Team: Russian \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 "Название модуля должно быть уникальным !"
diff --git a/addons/board/i18n/ln.po b/addons/board/i18n/ln.po
new file mode 100644
index 00000000000..0544a3e51ec
--- /dev/null
+++ b/addons/board/i18n/ln.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Lingala \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 ""
diff --git a/addons/caldav/i18n/ca.po b/addons/caldav/i18n/ca.po
new file mode 100644
index 00000000000..0d2cd8ec58e
--- /dev/null
+++ b/addons/caldav/i18n/ca.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Catalan \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 .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 ""
diff --git a/addons/caldav/wizard/caldav_browse_view.xml b/addons/caldav/wizard/caldav_browse_view.xml
index 0a7e6269fe2..53af6029883 100644
--- a/addons/caldav/wizard/caldav_browse_view.xml
+++ b/addons/caldav/wizard/caldav_browse_view.xml
@@ -15,8 +15,10 @@
-
-
+
+
+
+
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index caf040b31c5..384ef3c1306 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -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',
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index f6b3a20c138..aca5aa0bba9 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -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
diff --git a/addons/crm/crm_action_rule.py b/addons/crm/crm_action_rule.py
index acb7801c7c9..f510ac73c4b 100644
--- a/addons/crm/crm_action_rule.py
+++ b/addons/crm/crm_action_rule.py
@@ -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 = []
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index febab3ac2a2..132f95e3438 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -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):
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 6d3c8726d78..a10376d31f8 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -108,7 +108,6 @@
@@ -193,7 +192,8 @@
context="{'mail':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
-
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index aba69889f57..a2d66040fa9 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -102,7 +102,7 @@
-
+
-
+
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index b53399283d3..f1f8db938ca 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -61,7 +61,6 @@
@@ -155,8 +154,9 @@
-
-
+
+
+
@@ -166,7 +166,7 @@
@@ -183,7 +183,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index 685019a3001..cc9005d69bf 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -3,7 +3,7 @@
+ groups="base.group_sale_manager,base.group_sale_salesman"/>
diff --git a/addons/crm/i18n/lt.po b/addons/crm/i18n/lt.po
index fd607e6c3d0..a563d8fe75d 100644
--- a/addons/crm/i18n/lt.po
+++ b/addons/crm/i18n/lt.po
@@ -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 \n"
+"PO-Revision-Date: 2011-04-26 14:24+0000\n"
+"Last-Translator: Mantas Kriaučiūnas \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
diff --git a/addons/crm/i18n/ru.po b/addons/crm/i18n/ru.po
index f900b3b37b6..d4e920041b5 100644
--- a/addons/crm/i18n/ru.po
+++ b/addons/crm/i18n/ru.po
@@ -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 \n"
+"PO-Revision-Date: 2011-04-25 08:48+0000\n"
+"Last-Translator: Stanislav Hanzhin \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
diff --git a/addons/crm/wizard/crm_add_note.py b/addons/crm/wizard/crm_add_note.py
index 84c4744b525..442ca2cc1d7 100644
--- a/addons/crm/wizard/crm_add_note.py
+++ b/addons/crm/wizard/crm_add_note.py
@@ -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)
diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index c3367db5096..e1d2d13e862 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -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):
"""
diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py
index 4224c0cd5d4..fcc09e4a3b3 100644
--- a/addons/crm/wizard/crm_merge_opportunities.py
+++ b/addons/crm/wizard/crm_merge_opportunities.py
@@ -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)
diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
index 23ddaad5bfe..9a623d2eaab 100644
--- a/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
+++ b/addons/crm/wizard/crm_opportunity_to_phonecall_view.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/addons/crm/wizard/crm_partner_to_opportunity_view.xml b/addons/crm/wizard/crm_partner_to_opportunity_view.xml
index 7ceb9bc40d9..762303f06ba 100644
--- a/addons/crm/wizard/crm_partner_to_opportunity_view.xml
+++ b/addons/crm/wizard/crm_partner_to_opportunity_view.xml
@@ -8,7 +8,7 @@
crm.partner2opportunity
form
-
-
+
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index b4c5fceb6e7..aa154e89b72 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -178,13 +178,13 @@
-
+
-
+
diff --git a/addons/crm_fundraising/i18n/gl.po b/addons/crm_fundraising/i18n/gl.po
new file mode 100644
index 00000000000..019724fee08
--- /dev/null
+++ b/addons/crm_fundraising/i18n/gl.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Galician \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"
diff --git a/addons/crm_fundraising/i18n/pt_BR.po b/addons/crm_fundraising/i18n/pt_BR.po
index 5aad1af6fe1..fac5dd8283b 100644
--- a/addons/crm_fundraising/i18n/pt_BR.po
+++ b/addons/crm_fundraising/i18n/pt_BR.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"PO-Revision-Date: 2011-04-16 20:51+0000\n"
+"Last-Translator: Emerson \n"
"Language-Team: Brazilian Portuguese \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
diff --git a/addons/crm_helpdesk/__init__.py b/addons/crm_helpdesk/__init__.py
index 5d270dbebf8..7dca88af720 100644
--- a/addons/crm_helpdesk/__init__.py
+++ b/addons/crm_helpdesk/__init__.py
@@ -21,6 +21,7 @@
import crm_helpdesk
import report
+import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py
index ff503a8fb3e..8c52618719d 100644
--- a/addons/crm_helpdesk/crm_helpdesk.py
+++ b/addons/crm_helpdesk/crm_helpdesk.py
@@ -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()
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index fc9a6dc68f6..2ce481fa574 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -112,13 +112,13 @@
-
+
-
+
+
@@ -253,6 +253,10 @@
help="My Sales Team(s)" />
+
+
+
+
).
+#
+# 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 .
+#
+##############################################################################
+
+import email_compose_message
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/crm_helpdesk/wizard/email_compose_message.py b/addons/crm_helpdesk/wizard/email_compose_message.py
new file mode 100644
index 00000000000..95961912a6d
--- /dev/null
+++ b/addons/crm_helpdesk/wizard/email_compose_message.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-Today OpenERP SA ()
+#
+# 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
+#
+##############################################################################
+
+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:
diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
index 84d4382eb17..78f4d51b938 100644
--- a/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
+++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner.py
@@ -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 ''),
diff --git a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml
index f887d6a7d51..d3ecddb1aa3 100644
--- a/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml
+++ b/addons/crm_partner_assign/wizard/crm_forward_to_partner_view.xml
@@ -31,12 +31,12 @@
-
+
-
+
@@ -46,8 +46,7 @@
-
-
+
diff --git a/addons/crm_profiling/security/ir.model.access.csv b/addons/crm_profiling/security/ir.model.access.csv
index fb110ba70d1..43e1528fddb 100644
--- a/addons/crm_profiling/security/ir.model.access.csv
+++ b/addons/crm_profiling/security/ir.model.access.csv
@@ -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
diff --git a/addons/decimal_precision/decimal_precision.py b/addons/decimal_precision/decimal_precision.py
index b0f8af50ce6..9fdc1cadd5e 100644
--- a/addons/decimal_precision/decimal_precision.py
+++ b/addons/decimal_precision/decimal_precision.py
@@ -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)
diff --git a/addons/decimal_precision/i18n/tr.po b/addons/decimal_precision/i18n/tr.po
new file mode 100644
index 00000000000..90ef12bed7f
--- /dev/null
+++ b/addons/decimal_precision/i18n/tr.po
@@ -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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \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 \n"
+"Language-Team: Turkish \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"
diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml
index 6f82dde0a4f..c82c7be8973 100644
--- a/addons/document/document_view.xml
+++ b/addons/document/document_view.xml
@@ -274,7 +274,7 @@
-
+
diff --git a/addons/email_template/__openerp__.py b/addons/email_template/__openerp__.py
index ef2d314e561..eab9f8bc148 100644
--- a/addons/email_template/__openerp__.py
+++ b/addons/email_template/__openerp__.py
@@ -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'
],
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 476174db32f..20a98c009ca 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -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()
diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml
index 0fa85877ddf..29a2b2ae228 100644
--- a/addons/email_template/email_template_view.xml
+++ b/addons/email_template/email_template_view.xml
@@ -26,7 +26,7 @@
-
+
@@ -72,11 +72,6 @@
-
-
-
-
-
@@ -152,8 +147,9 @@
-
+
diff --git a/addons/email_template/i18n/ca.po b/addons/email_template/i18n/ca.po
new file mode 100644
index 00000000000..ba1128aeedb
--- /dev/null
+++ b/addons/email_template/i18n/ca.po
@@ -0,0 +1,1278 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-04-16 11:56+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Catalan \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-17 04:36+0000\n"
+"X-Generator: Launchpad (build 12735)\n"
+
+#. module: email_template
+#: help:email_template.account,auto_delete:0
+msgid "Permanently delete emails after sending"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Email Account Configuration"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:195
+#, python-format
+msgid "Emails for multiple items saved in outbox."
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:59
+#: code:addons/email_template/wizard/email_template_send_wizard.py:60
+#, python-format
+msgid ""
+"No personal email accounts are configured for you. \n"
+"Either ask admin to enforce an account for this template or get yourself a "
+"personal email account."
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Personal Emails"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,file_name:0
+msgid "Report Filename"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Email Content "
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Send mail Wizard"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,mail_type:0
+msgid "Plain Text & HTML with no attachments"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,model_object_field:0
+msgid ""
+"Select the field from the model you want to use.\n"
+"If it is a relationship field you will be able to choose the nested values "
+"in the box below\n"
+"(Note:If there are no values make sure you have selected the correct model)"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,body_html:0
+#: field:email_template.preview,body_text:0
+#: field:email_template.send.wizard,body_html:0
+#: field:email_template.send.wizard,body_text:0
+msgid "Body"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:304
+#, python-format
+msgid "Deletion of Record failed"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,company:0
+msgid ""
+"Select if this mail account does not belong to specific user but to the "
+"organization as a whole. eg: info@companydomain.com"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Send now"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,state:0
+msgid "Not Applicable"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+#: model:ir.ui.menu,name:email_template.menu_email_account_all_tools
+#: model:ir.ui.menu,name:email_template.menu_email_template_account_all
+msgid "Email Accounts"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Send all mails"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,smtpuname:0
+msgid ""
+"Specify the username if your SMTP server requires authentication, otherwise "
+"leave it empty."
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,server_ref:0
+msgid "Server Reference of mail"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+#: selection:email_template.account,state:0
+msgid "Approved"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,def_cc:0
+msgid ""
+"Carbon Copy address(es), comma-separated. Placeholders can be used here. "
+"e.g. ${object.email_cc}"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Account"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,table_html:0
+msgid "HTML code"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Send Mail"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,name:0
+msgid ""
+"The description is used as the Sender name along with the provided From "
+"Email, unless it is already specified in the From Email, e.g: John Doe "
+""
+msgstr ""
+
+#. module: email_template
+#: field:email.template,from_account:0
+msgid "Email Account"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:201
+#, python-format
+msgid "Email sending failed for one or more objects."
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid ""
+"Add here all attachments of the current document you want to include in the "
+"Email."
+msgstr ""
+
+#. module: email_template
+#: help:email.template,lang:0
+msgid ""
+"The default language for the email. Placeholders can be used here. eg. "
+"${object.partner_id.lang}"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,sub_model_object_field:0
+msgid ""
+"When you choose relationship fields this field will specify the sub value "
+"you can use."
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.send.wizard,state:0
+msgid "Wizard Complete"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,reply_to:0
+#: field:email_template.mailbox,reply_to:0
+#: field:email_template.preview,reply_to:0
+#: field:email_template.send.wizard,reply_to:0
+msgid "Reply-To"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Delete Action"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Approve Account"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,rel_model_ref:0
+#: field:email_template.send.wizard,rel_model_ref:0
+msgid "Referred Document"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,full_success:0
+msgid "Complete Success"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,send_pref:0
+msgid "Both HTML & Text (Mixed)"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.preview:0
+msgid "OK"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,auto_delete:0
+msgid "Auto Delete"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,send_pref:0
+msgid "Both HTML & Text (Alternative)"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,requested:0
+msgid "No of requested Mails"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_body_text:0
+#: view:email_template.mailbox:0
+#: field:email_template.mailbox,body_text:0
+msgid "Standard Body (Text)"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,attachment_ids:0
+msgid "Attached Files"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtpssl:0
+msgid "SSL/TLS (only in python 2.6)"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,email_id:0
+msgid "From Email"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:304
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: email_template
+#: model:ir.actions.act_window,name:email_template.action_email_template_account_tree_all
+msgid "Accounts"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.preview:0
+msgid "Body(Text)"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Company Emails"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid ""
+"Tip: Multiple emails are sent in the same language (the first one is "
+"proposed). We suggest you send emails in groups according to language."
+msgstr ""
+
+#. module: email_template
+#: help:email_template.preview,reply_to:0
+#: help:email_template.send.wizard,reply_to:0
+msgid ""
+"The address recipients should reply to, if different from the From address. "
+"Placeholders can be used here."
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_subject:0
+#: field:email_template.mailbox,subject:0
+#: field:email_template.preview,subject:0
+#: field:email_template.send.wizard,subject:0
+msgid "Subject"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:256
+#, python-format
+msgid "Reason: %s"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,email_from:0
+msgid "From"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,ref_template:0
+#: field:email_template.send.wizard,ref_template:0
+msgid "Template"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:367
+#, python-format
+msgid ""
+"Mail from Account %s failed. Probable Reason: Server Send Error\n"
+" Description: %s"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Insert Simple Field"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.preview:0
+msgid "Body(Html)"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,def_bcc:0
+msgid ""
+"Blind Carbon Copy address(es), comma-separated. Placeholders can be used "
+"here. e.g. ${object.email_bcc}"
+msgstr ""
+
+#. module: email_template
+#: model:ir.actions.act_window,name:email_template.wizard_email_template_preview
+msgid "Template Preview"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_body_html:0
+msgid "Body (Text-Web Client Only)"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,state:0
+#: view:email_template.mailbox:0
+msgid "State"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,ref_ir_value:0
+msgid "Wizard Button"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,email_id:0
+msgid "eg: 'john@doe.com' or 'John Doe '"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+#: field:email.template,object_name:0
+msgid "Resource"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:255
+#, python-format
+msgid "Out going connection test failed"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:371
+#, python-format
+msgid "Mail from Account %s successfully Sent."
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Standard Body"
+msgstr ""
+
+#. module: email_template
+#: selection:email.template,template_language:0
+msgid "Mako Templates"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,def_body_html:0
+#: help:email.template,def_body_text:0
+msgid "The text version of the mail"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:449
+#, python-format
+msgid " (Email Attachment)"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,folder:0
+msgid "Sent Items"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Test Outgoing Connection"
+msgstr ""
+
+#. module: email_template
+#: model:ir.actions.act_window,name:email_template.action_email_template_mailbox
+msgid "Mailbox"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,reply_to:0
+msgid ""
+"The address recipients should reply to, if different from the From address. "
+"Placeholders can be used here. e.g. ${object.email_reply_to}"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,ref_ir_value:0
+msgid ""
+"Button in the side bar of the form view of this Resource that will invoke "
+"the Window Action"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,account_id:0
+msgid "User account"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,signature:0
+msgid "Attach my signature to mail"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:255
+#: view:email.template:0
+#, python-format
+msgid "Report"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,sub_model_object_field:0
+msgid "Sub Field"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+#: view:email_template.mailbox:0
+msgid "Advanced"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "My Emails"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Expression Builder"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,sub_object:0
+msgid ""
+"When a relation field is used this field will show you the type of field you "
+"have selected"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,mail_type:0
+msgid "HTML Body"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Suspend Account"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,null_value:0
+msgid "This Value is used if the field is empty"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Preview Template"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtpserver:0
+msgid "Server"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,copyvalue:0
+msgid ""
+"Copy and paste the value in the location you want to use a system value."
+msgstr ""
+
+#. module: email_template
+#: help:email.template,track_campaign_item:0
+msgid ""
+"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"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Body (Raw HTML)"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,use_sign:0
+msgid "Signature"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,sub_object:0
+msgid "Sub-model"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Options"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Body (Plain Text)"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Body (Text)"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,date_mail:0
+msgid "Rec/Sent Date"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,state:0
+msgid "Initiated"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,report_template:0
+msgid "Report to send"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Server Information"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,generated:0
+msgid "No of generated Mails"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Mail Details"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:235
+#, python-format
+msgid "SMTP SERVER or PORT not specified"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Note: This is Raw HTML."
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Group by..."
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.send.wizard,state:0
+msgid "Multiple Mail Wizard Step 1"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,user:0
+msgid "Related User"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,body_html:0
+msgid "Body (Rich Text Clients Only)"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,company:0
+msgid "Yes"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,ref_ir_act_window:0
+msgid "Window Action"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,send_pref:0
+msgid "HTML, otherwise Text"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+#: selection:email_template.mailbox,folder:0
+msgid "Drafts"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,company:0
+msgid "No"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtpport:0
+msgid "SMTP Port"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,mail_type:0
+msgid "Mail Contents"
+msgstr ""
+
+#. module: email_template
+#: sql_constraint:email.template:0
+msgid "The template name must be unique !"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_bcc:0
+#: field:email_template.mailbox,email_bcc:0
+#: field:email_template.preview,bcc:0
+#: field:email_template.send.wizard,bcc:0
+msgid "BCC"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,mail_type:0
+msgid "Plain Text"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Draft"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,model_int_name:0
+msgid "Model Internal Name"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,message_id:0
+#: field:email_template.mailbox,message_id:0
+#: field:email_template.preview,message_id:0
+#: field:email_template.send.wizard,message_id:0
+msgid "Message-ID"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.mailbox,server_ref:0
+msgid "Applicable for inward items only"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid ""
+"After clicking send all mails, mails will be sent to outbox and cleared in "
+"next Send/Recieve"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,state:0
+#: field:email_template.send.wizard,state:0
+msgid "Status"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Outgoing"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:427
+#, python-format
+msgid "Datetime Extraction failed.Date:%s \tError:%s"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,use_sign:0
+msgid "the signature from the User details will be appended to the mail"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,from:0
+msgid "From Account"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,mail_type:0
+msgid "Intermixed content"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Request Re-activation"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+#: model:ir.actions.act_window,name:email_template.action_email_template_tree_all
+#: model:ir.ui.menu,name:email_template.menu_email_template_all
+#: model:ir.ui.menu,name:email_template.menu_email_template_all_tools
+msgid "Email Templates"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtpuname:0
+msgid "User Name"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,user:0
+msgid "User"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Advanced Options"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+#: selection:email_template.mailbox,folder:0
+msgid "Outbox"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Save in Drafts"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:362
+#, python-format
+msgid ""
+"Mail from Account %s failed. Probable Reason:MIME Error\n"
+"Description: %s"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtptls:0
+msgid "TLS"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,lang:0
+msgid "Language"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:275
+#: code:addons/email_template/email_template_account.py:280
+#: code:addons/email_template/email_template_account.py:362
+#: code:addons/email_template/email_template_account.py:371
+#: code:addons/email_template/email_template_account.py:374
+#: code:addons/email_template/email_template_account.py:424
+#: code:addons/email_template/wizard/email_template_send_wizard.py:201
+#: model:ir.ui.menu,name:email_template.menu_email_template
+#: model:ir.ui.menu,name:email_template.menu_email_template_config_tools
+#: model:ir.ui.menu,name:email_template.menu_email_template_configuration
+#: model:ir.ui.menu,name:email_template.menu_email_template_tools
+#, python-format
+msgid "Email Template"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Send/Receive"
+msgstr ""
+
+#. module: email_template
+#: model:ir.ui.menu,name:email_template.menu_email_template_personal_mails
+msgid "Personal Mails"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+#: selection:email_template.account,state:0
+msgid "Suspended"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,allowed_groups:0
+msgid ""
+"Only users from these groups will be allowed to send mails from this Template"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:284
+#, python-format
+msgid "Send Mail (%s)"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,def_subject:0
+msgid "The subject of email. Placeholders can be used here."
+msgstr ""
+
+#. module: email_template
+#: field:email_template.send.wizard,report:0
+msgid "Report File Name"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,copyvalue:0
+msgid "Expression"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+#: field:email_template.mailbox,history:0
+msgid "History"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+#: view:email_template.mailbox:0
+#: field:email_template.mailbox,attachments_ids:0
+#: view:email_template.send.wizard:0
+#: field:email_template.send.wizard,attachment_ids:0
+msgid "Attachments"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,to:0
+#: field:email_template.send.wizard,to:0
+msgid "To"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.account,send_pref:0
+msgid "Text, otherwise HTML"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:319
+#, python-format
+msgid "Copy of template %s"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Discard Mail"
+msgstr ""
+
+#. module: email_template
+#: model:ir.model,name:email_template.model_email_template
+msgid "Email Templates for Models"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Close"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_mailbox.py:49
+#, python-format
+msgid "Error sending mail: %s"
+msgstr ""
+
+#. module: email_template
+#: constraint:email_template.account:0
+msgid "Error: You are not allowed to have more than 1 account."
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Body (HTML-Web Client Only)"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:253
+#, python-format
+msgid "%s (Email Attachment)"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,state:0
+msgid "Sending"
+msgstr ""
+
+#. module: email_template
+#: model:ir.actions.act_window,help:email_template.action_email_template_mailbox
+msgid ""
+"An email template is an email document that will be sent as part of a "
+"marketing campaign. You can personalize it according to specific customer "
+"profile fields, so that a partner name or other partner related information "
+"may be inserted automatically."
+msgstr ""
+
+#. module: email_template
+#: field:email.template,allowed_groups:0
+msgid "Allowed User Groups"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,model_object_field:0
+msgid "Field"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "User Information"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Actions"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:363
+#: code:addons/email_template/email_template_account.py:368
+#, python-format
+msgid ""
+"Server Send Error\n"
+"Description: %s"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,file_name:0
+msgid ""
+"Name of the generated report file. Placeholders can be used in the filename. "
+"eg: 2009_SO003.pdf"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.mailbox,date_mail:0
+msgid "Date on which Email Sent or Received"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+#: selection:email_template.mailbox,folder:0
+msgid "Trash"
+msgstr ""
+
+#. module: email_template
+#: model:ir.model,name:email_template.model_email_template_mailbox
+msgid "Email Mailbox"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_mailbox.py:116
+#, python-format
+msgid ""
+"Sending of Mail %s failed. Probable Reason:Could not login to server\n"
+"Error: %s"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:60
+#, python-format
+msgid "Missing mail account"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:250
+#, python-format
+msgid "SMTP Test Connection Was Successful"
+msgstr ""
+
+#. module: email_template
+#: model:ir.module.module,shortdesc:email_template.module_meta_information
+msgid "Email Template for OpenERP"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,name:0
+msgid "Description"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Create Action"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,smtpserver:0
+msgid "Enter name of outgoing server, eg: smtp.yourdomain.com"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,attachment_ids:0
+msgid ""
+"You may attach existing files to this template, so they will be added in all "
+"emails created from this template"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,message_id:0
+msgid ""
+"Specify the Message-ID SMTP header to use in outgoing emails. Please note "
+"that this overrides the Resource tracking option! Placeholders can be used "
+"here."
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_to:0
+#: field:email_template.mailbox,email_to:0
+msgid "Recipient (To)"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,null_value:0
+msgid "Null Value"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,template_language:0
+msgid "Templating Language"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,def_cc:0
+#: field:email_template.mailbox,email_cc:0
+#: field:email_template.preview,cc:0
+#: field:email_template.send.wizard,cc:0
+msgid "CC"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+msgid "Sent"
+msgstr ""
+
+#. module: email_template
+#: sql_constraint:email_template.account:0
+msgid "Another setting already exists with this email ID !"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,ref_ir_act_window:0
+msgid "Action that will open this email template on Resource records"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,smtppass:0
+msgid "Password"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.preview,message_id:0
+#: help:email_template.send.wizard,message_id:0
+msgid ""
+"The Message-ID header value, if you need tospecify it, for example to "
+"automatically recognize the replies later. Placeholders can be used here."
+msgstr ""
+
+#. module: email_template
+#: view:email_template.mailbox:0
+#: model:ir.ui.menu,name:email_template.menu_email_template_mails_tools
+msgid "Emails"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Templates"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,report:0
+msgid "Report Name"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,name:0
+msgid "Name"
+msgstr ""
+
+#. module: email_template
+#: field:email.template,track_campaign_item:0
+msgid "Resource Tracking"
+msgstr ""
+
+#. module: email_template
+#: model:ir.model,name:email_template.model_email_template_preview
+msgid "Email Template Preview"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.preview:0
+msgid "Email Preview"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,def_to:0
+msgid ""
+"The Recipient of email. Placeholders can be used here. e.g. "
+"${object.email_to}"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Existing files"
+msgstr ""
+
+#. module: email_template
+#: model:ir.module.module,description:email_template.module_meta_information
+msgid ""
+"\n"
+" Email Template is extraction of Power Email basically just to send the "
+"emails.\n"
+" "
+msgstr ""
+
+#. module: email_template
+#: view:email_template.send.wizard:0
+msgid "Body (HTML)"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,table_html:0
+msgid ""
+"Copy this html code to your HTML message body for displaying the info in "
+"your mail."
+msgstr ""
+
+#. module: email_template
+#: model:ir.model,name:email_template.model_email_template_account
+msgid "email_template.account"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.preview,rel_model:0
+#: field:email_template.send.wizard,rel_model:0
+msgid "Model"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:236
+#, python-format
+msgid "Core connection for the given ID does not exist"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,company:0
+msgid "Corporate"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:275
+#, python-format
+msgid ""
+"Mail from Account %s failed on login. Probable Reason:Could not login to "
+"server\n"
+"Error: %s"
+msgstr ""
+
+#. module: email_template
+#: model:ir.model,name:email_template.model_email_template_send_wizard
+msgid "This is the wizard for sending mail"
+msgstr ""
+
+#. module: email_template
+#: view:email.template:0
+msgid "Addresses"
+msgstr ""
+
+#. module: email_template
+#: help:email.template,from_account:0
+msgid "Emails will be sent from this approved account."
+msgstr ""
+
+#. module: email_template
+#: field:email_template.account,send_pref:0
+msgid "Mail Format"
+msgstr ""
+
+#. module: email_template
+#: field:email_template.mailbox,folder:0
+msgid "Folder"
+msgstr ""
+
+#. module: email_template
+#: view:email_template.account:0
+msgid "Company Accounts"
+msgstr ""
+
+#. module: email_template
+#: help:email_template.account,smtpport:0
+msgid "Enter port number, eg: 25 or 587"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/wizard/email_template_send_wizard.py:59
+#, python-format
+msgid "email-template"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template_account.py:280
+#: code:addons/email_template/email_template_account.py:374
+#: code:addons/email_template/email_template_account.py:375
+#, python-format
+msgid "Mail from Account %s failed. Probable Reason:Account not approved"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.send.wizard,state:0
+msgid "Simple Mail Wizard Step 1"
+msgstr ""
+
+#. module: email_template
+#: selection:email_template.mailbox,mail_type:0
+msgid "Has Attachments"
+msgstr ""
+
+#. module: email_template
+#: code:addons/email_template/email_template.py:452
+#: code:addons/email_template/wizard/email_template_send_wizard.py:256
+#, python-format
+msgid "No Description"
+msgstr ""
diff --git a/addons/email_template/i18n/pt_BR.po b/addons/email_template/i18n/pt_BR.po
index 31c40f452d3..8138216ef67 100644
--- a/addons/email_template/i18n/pt_BR.po
+++ b/addons/email_template/i18n/pt_BR.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \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 \n"
"Language-Team: Brazilian Portuguese \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
diff --git a/addons/email_template/mako_template.py b/addons/email_template/mako_template.py
index f73b462d7da..509bcbc66b3 100644
--- a/addons/email_template/mako_template.py
+++ b/addons/email_template/mako_template.py
@@ -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""
diff --git a/addons/email_template/wizard/__init__.py b/addons/email_template/wizard/__init__.py
index 1bac2d4aaad..b0ad4313b4f 100644
--- a/addons/email_template/wizard/__init__.py
+++ b/addons/email_template/wizard/__init__.py
@@ -20,6 +20,5 @@
#
##############################################################################
import email_template_preview
-import email_template_send_wizard
import email_compose_message
diff --git a/addons/email_template/wizard/email_compose_message.py b/addons/email_template/wizard/email_compose_message.py
index 0c584c98990..9dbb940d3da 100644
--- a/addons/email_template/wizard/email_compose_message.py
+++ b/addons/email_template/wizard/email_compose_message.py
@@ -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()
diff --git a/addons/email_template/wizard/email_compose_message_view.xml b/addons/email_template/wizard/email_compose_message_view.xml
index fdac0cc0c23..22a8191541a 100644
--- a/addons/email_template/wizard/email_compose_message_view.xml
+++ b/addons/email_template/wizard/email_compose_message_view.xml
@@ -8,13 +8,15 @@
form
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/addons/email_template/wizard/email_template_preview.py b/addons/email_template/wizard/email_template_preview.py
index 00e20b98cf3..94b86deec8b 100644
--- a/addons/email_template/wizard/email_template_preview.py
+++ b/addons/email_template/wizard/email_template_preview.py
@@ -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:
diff --git a/addons/email_template/wizard/email_template_preview_view.xml b/addons/email_template/wizard/email_template_preview_view.xml
index 5b7e3d65119..d9ba1a16980 100644
--- a/addons/email_template/wizard/email_template_preview_view.xml
+++ b/addons/email_template/wizard/email_template_preview_view.xml
@@ -17,7 +17,6 @@
-
diff --git a/addons/email_template/wizard/email_template_send_wizard.py b/addons/email_template/wizard/email_template_send_wizard.py
deleted file mode 100644
index 30ab10b9e82..00000000000
--- a/addons/email_template/wizard/email_template_send_wizard.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2009 Sharoon Thomas
-# Copyright (C) 2010-Today OpenERP SA ()
-#
-# 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
-#
-##############################################################################
-
-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:
diff --git a/addons/email_template/wizard/email_template_send_wizard_view.xml b/addons/email_template/wizard/email_template_send_wizard_view.xml
deleted file mode 100644
index 90c2648b1de..00000000000
--- a/addons/email_template/wizard/email_template_send_wizard_view.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
- email_template.send.wizard.form
- email_template.send.wizard
- form
-
-
-
-
-
-
-
diff --git a/addons/event/event.py b/addons/event/event.py
index 5e757d02903..b519b742acc 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -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
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index c89be32a049..d2fc260909e 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -403,13 +403,13 @@
-
+
-
+
diff --git a/addons/event/wizard/__init__.py b/addons/event/wizard/__init__.py
index fbc44f417f4..2c04a0f5fcd 100644
--- a/addons/event/wizard/__init__.py
+++ b/addons/event/wizard/__init__.py
@@ -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:
diff --git a/addons/event/wizard/email_compose_message.py b/addons/event/wizard/email_compose_message.py
new file mode 100644
index 00000000000..94cd650c3f5
--- /dev/null
+++ b/addons/event/wizard/email_compose_message.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-Today OpenERP SA ()
+#
+# 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
+#
+##############################################################################
+
+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:
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index b10d8a7194f..fcfd0b41a27 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -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)
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index a3512b65588..75cbd88e64d 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -4,7 +4,8 @@
+ web_icon_hover="images/hr-hover.png"
+ groups="base.group_hr_manager,base.group_hr_user,base.group_user"/>
@@ -320,7 +321,7 @@
-
diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py
index 7699e7468d9..8c5648a1040 100644
--- a/addons/hr_attendance/hr_attendance.py
+++ b/addons/hr_attendance/hr_attendance.py
@@ -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':
diff --git a/addons/hr_attendance/i18n/pt_BR.po b/addons/hr_attendance/i18n/pt_BR.po
index e4a98842975..0a0bf657009 100644
--- a/addons/hr_attendance/i18n/pt_BR.po
+++ b/addons/hr_attendance/i18n/pt_BR.po
@@ -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 \n"
+"PO-Revision-Date: 2011-04-25 23:40+0000\n"
+"Last-Translator: Emerson \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 !"
diff --git a/addons/hr_attendance/report/timesheet.py b/addons/hr_attendance/report/timesheet.py
index 53cbb004872..900f982dc74 100644
--- a/addons/hr_attendance/report/timesheet.py
+++ b/addons/hr_attendance/report/timesheet.py
@@ -109,6 +109,7 @@ class report_custom(report_rml):
%s
''' % '\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')
diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml
index 67607af8146..524ef5f57f4 100644
--- a/addons/hr_contract/hr_contract_view.xml
+++ b/addons/hr_contract/hr_contract_view.xml
@@ -183,6 +183,7 @@
+
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index f39fb138551..723036f2269 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -252,7 +252,7 @@
-
+
+
@@ -329,6 +333,7 @@
+
@@ -401,23 +406,18 @@
-
-
-
-
-
+
+
+
0 )", "The number of days must be greater than 0 !"),
- ('date_check2', "CHECK ( (type='add') OR (date_from < date_to))", "The start date must be before the end date !")
+ ('date_check2', "CHECK ( (type='add') OR (date_from <= date_to))", "The start date must be before the end date !"),
+ ('date_check', "CHECK ( number_of_days_temp >= 0 )", "The number of days must be greater than 0 !"),
]
def _create_resource_leave(self, cr, uid, vals, context=None):
@@ -160,7 +162,7 @@ class hr_holidays(osv.osv):
return obj_res_leave.unlink(cr, uid, leave_ids)
def onchange_type(self, cr, uid, ids, holiday_type):
- result = {}
+ result = {'value': {'employee_id': False}}
if holiday_type == 'employee':
ids_employee = self.pool.get('hr.employee').search(cr, uid, [('user_id','=', uid)])
if ids_employee:
@@ -217,6 +219,7 @@ class hr_holidays(osv.osv):
})
wf_service = netsvc.LocalService("workflow")
for id in ids:
+ wf_service.trg_delete(uid, 'hr.holidays', id, cr)
wf_service.trg_create(uid, 'hr.holidays', id, cr)
return True
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index 7740470ccc7..17f836e3c2c 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -37,6 +37,7 @@
+
@@ -93,7 +94,7 @@
-
+
@@ -139,7 +140,7 @@
-
+
@@ -153,7 +154,9 @@
tree
+
+
@@ -231,7 +234,9 @@
tree
+
+
diff --git a/addons/hr_payroll_account/i18n/ca.po b/addons/hr_payroll_account/i18n/ca.po
new file mode 100644
index 00000000000..6506ebb49d0
--- /dev/null
+++ b/addons/hr_payroll_account/i18n/ca.po
@@ -0,0 +1,328 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-04-14 20:42+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Catalan \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: hr_payroll_account
+#: field:hr.payslip,move_line_ids:0
+msgid "Accounting Lines"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payroll.register,bank_journal_id:0
+#: field:hr.payslip,bank_journal_id:0
+msgid "Bank Journal"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_contibution_register_line
+msgid "Contribution Register Line"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_contibution_register
+msgid "Contribution Register"
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.employee,analytic_account:0
+msgid "Analytic Account for Salary Analysis"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payroll.register,journal_id:0
+#: field:hr.payslip,journal_id:0
+msgid "Expense Journal"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contibution.register.line,period_id:0
+msgid "Period"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_employee
+msgid "Employee"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Other Informations"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.employee,salary_account:0
+msgid "Salary Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.employee,property_bank_account:0
+msgid "Select Bank Account from where Salary Expense will be Paid"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payroll_register
+msgid "Payroll Register"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip_account_move
+msgid "Account Move Link to Pay Slip"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Description"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:330
+#, python-format
+msgid "Please Confirm all Expense Invoice appear for Reimbursement"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:432
+#, python-format
+msgid "Please defined partner in bank account for %s !"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Accounting Informations"
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.employee,salary_account:0
+msgid "Expense account when Salary Expense will be recorded"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:429
+#, python-format
+msgid "Please defined bank account for %s !"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.module.module,description:hr_payroll_account.module_meta_information
+msgid ""
+"Generic Payroll system Integrated with Accountings\n"
+" * Expanse Encoding\n"
+" * Payment Encoding\n"
+" * Comany Contribution Managemet\n"
+" "
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.module.module,shortdesc:hr_payroll_account.module_meta_information
+msgid "Human Resource Payroll Accounting"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+#: field:hr.payslip,move_payment_ids:0
+msgid "Payment Lines"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:273
+#: code:addons/hr_payroll_account/hr_payroll_account.py:444
+#, python-format
+msgid "Please define fiscal year for perticular contract"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip.account.move,slip_id:0
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip
+msgid "Pay Slip"
+msgstr ""
+
+#. module: hr_payroll_account
+#: constraint:hr.employee:0
+msgid "Error ! You cannot create recursive Hierarchy of Employees."
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Account Lines"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contibution.register,account_id:0
+#: field:hr.holidays.status,account_id:0
+#: field:hr.payroll.advice,account_id:0
+msgid "Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.employee,property_bank_account:0
+msgid "Bank Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip.account.move,name:0
+msgid "Name"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payslip_line
+msgid "Payslip Line"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Accounting Vouchers"
+msgstr ""
+
+#. module: hr_payroll_account
+#: constraint:hr.employee:0
+msgid ""
+"Error ! You cannot select a department for which the employee is the manager."
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.payroll.register,period_id:0
+#: help:hr.payslip,period_id:0
+msgid "Keep empty to use the period of the validation(Payslip) date."
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payroll_advice
+msgid "Bank Advice Note"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip.account.move,move_id:0
+msgid "Expense Entries"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip,move_ids:0
+msgid "Accounting vouchers"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:273
+#: code:addons/hr_payroll_account/hr_payroll_account.py:280
+#: code:addons/hr_payroll_account/hr_payroll_account.py:283
+#: code:addons/hr_payroll_account/hr_payroll_account.py:330
+#: code:addons/hr_payroll_account/hr_payroll_account.py:444
+#: code:addons/hr_payroll_account/hr_payroll_account.py:451
+#: code:addons/hr_payroll_account/hr_payroll_account.py:454
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.employee,employee_account:0
+msgid "Employee Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip.line,account_id:0
+msgid "General Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contibution.register,yearly_total_by_emp:0
+msgid "Total By Employee"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payslip.account.move,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.payroll.register,period_id:0
+#: field:hr.payslip,period_id:0
+msgid "Force Period"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_holidays_status
+msgid "Leave Type"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:280
+#: code:addons/hr_payroll_account/hr_payroll_account.py:451
+#, python-format
+msgid "Fiscal Year is not defined for slip date %s"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contibution.register,analytic_account_id:0
+#: field:hr.employee,analytic_account:0
+#: field:hr.holidays.status,analytic_account_id:0
+#: field:hr.payroll.structure,account_id:0
+#: field:hr.payslip.line,analytic_account_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: help:hr.employee,employee_account:0
+msgid "Employee Payable Account"
+msgstr ""
+
+#. module: hr_payroll_account
+#: field:hr.contibution.register,yearly_total_by_comp:0
+msgid "Total By Company"
+msgstr ""
+
+#. module: hr_payroll_account
+#: model:ir.model,name:hr_payroll_account.model_hr_payroll_structure
+msgid "Salary Structure"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:550
+#, python-format
+msgid "Please Configure Partners Receivable Account!!"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.contibution.register:0
+msgid "Year"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:283
+#: code:addons/hr_payroll_account/hr_payroll_account.py:454
+#, python-format
+msgid "Period is not defined for slip date %s"
+msgstr ""
+
+#. module: hr_payroll_account
+#: view:hr.payslip:0
+msgid "Accounting Details"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:533
+#, python-format
+msgid "Please Configure Partners Payable Account!!"
+msgstr ""
+
+#. module: hr_payroll_account
+#: code:addons/hr_payroll_account/hr_payroll_account.py:429
+#: code:addons/hr_payroll_account/hr_payroll_account.py:432
+#: code:addons/hr_payroll_account/hr_payroll_account.py:533
+#: code:addons/hr_payroll_account/hr_payroll_account.py:550
+#, python-format
+msgid "Integrity Error !"
+msgstr ""
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 24b226f922e..3c2c5b9af0b 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -31,8 +31,6 @@ import tools
from tools.translate import _
from crm import wizard
-wizard.email_compose_message.email_model.append('hr.applicant')
-
AVAILABLE_STATES = [
('draft', 'New'),
('open', 'In Progress'),
@@ -327,7 +325,22 @@ class hr_applicant(crm.crm_case, osv.osv):
res = thread_pool.get_partner(cr, uid, msg.get('from'))
if res:
vals.update(res)
- return self.create(cr, uid, vals, context=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):
"""
@@ -362,6 +375,19 @@ class hr_applicant(crm.crm_case, osv.osv):
vals.update(vls)
res = self.write(cr, uid, ids, vals, 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 case_open(self, cr, uid, ids, *args):
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index a3be7c60263..133fba6b34b 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -97,15 +97,15 @@
-
+
+ icon="gtk-index" type="action" attrs="{'readonly':['!',('partner_id','!=',False),('state','not in','done')]}" groups="base.group_partner_manager"/>
-
-
-
-
+
+
+
+
@@ -130,10 +130,10 @@
-
+
-
+
@@ -157,13 +157,13 @@
-
+
-
+
diff --git a/addons/hr_recruitment/wizard/__init__.py b/addons/hr_recruitment/wizard/__init__.py
index acabd219857..607db0a93b4 100644
--- a/addons/hr_recruitment/wizard/__init__.py
+++ b/addons/hr_recruitment/wizard/__init__.py
@@ -23,6 +23,7 @@
import hr_recruitment_phonecall
import hr_recruitment_create_partner_job
import hr_recruitment_employee_hired
+import email_compose_message
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/wizard/email_compose_message.py b/addons/hr_recruitment/wizard/email_compose_message.py
new file mode 100644
index 00000000000..f5cc4883ef3
--- /dev/null
+++ b/addons/hr_recruitment/wizard/email_compose_message.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-Today OpenERP SA ()
+#
+# 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
+#
+##############################################################################
+
+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 == 'hr.applicant' 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:
diff --git a/addons/hr_timesheet/__openerp__.py b/addons/hr_timesheet/__openerp__.py
index 345f9c92df7..e58d09c296d 100644
--- a/addons/hr_timesheet/__openerp__.py
+++ b/addons/hr_timesheet/__openerp__.py
@@ -44,6 +44,7 @@ to set up a management by affair.
'init_xml': ['hr_timesheet_data.xml'],
'update_xml': [
'security/ir.model.access.csv',
+ 'security/hr_timesheet_security.xml',
'hr_timesheet_view.xml',
'hr_timesheet_report.xml',
'hr_timesheet_wizard.xml',
diff --git a/addons/hr_timesheet/security/hr_timesheet_security.xml b/addons/hr_timesheet/security/hr_timesheet_security.xml
new file mode 100644
index 00000000000..6b341e50f4b
--- /dev/null
+++ b/addons/hr_timesheet/security/hr_timesheet_security.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ HR Analytic Timesheet
+
+ [('user_id', '=', user.id)]
+
+
+
+
\ No newline at end of file
diff --git a/addons/hr_timesheet/security/ir.model.access.csv b/addons/hr_timesheet/security/ir.model.access.csv
index 6e932d4e8f8..ea34aa4ddc4 100644
--- a/addons/hr_timesheet/security/ir.model.access.csv
+++ b/addons/hr_timesheet/security/ir.model.access.csv
@@ -9,3 +9,4 @@
"access_account_fiscalyear_hr_user","account.account.fiscalyear.user","account.model_account_fiscalyear","base.group_hr_user",1,1,1,1
"hr.access_account_journal_view_hruser","account.journal.view hruser","account.model_account_journal_view","base.group_hr_user",1,0,0,0
"hr.access_account_journal_column_hruser","account.journal.column hruser","account.model_account_journal_column","base.group_hr_user",1,0,0,0
+"access_hr_analytic_timesheet_user","hr.analytic.timesheet.user","model_hr_analytic_timesheet","base.group_user",1,0,0,0
\ No newline at end of file
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
index 215c98c02ac..5c042c5c7e3 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
@@ -176,5 +176,20 @@ class account_invoice(osv.osv):
account_invoice()
+class account_move_line(osv.osv):
+ _inherit = "account.move.line"
+
+ def create_analytic_lines(self, cr, uid, ids, context=None):
+ res = super(account_move_line, self).create_analytic_lines(cr, uid, ids,context=context)
+ analytic_line_obj = self.pool.get('account.analytic.line')
+ for move_line in self.browse(cr, uid, ids, context=context):
+ for line in move_line.analytic_lines:
+ toinv = line.account_id.to_invoice.id
+ if toinv:
+ analytic_line_obj.write(cr, uid, line.id, {'to_invoice': toinv})
+ return res
+
+account_move_line()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py
index 33c23140358..ee66cc045b0 100644
--- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py
+++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py
@@ -47,6 +47,21 @@ class hr_timesheet_invoice_create(osv.osv_memory):
'name': lambda *args: 1
}
+ def view_init(self, cr, uid, fields, 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
+ """
+ analytic_obj = self.pool.get('account.analytic.line')
+ data = context and context.get('active_ids', [])
+ for analytic in analytic_obj.browse(cr, uid, data, context=context):
+ if analytic.invoice_id:
+ raise osv.except_osv(_('Warning !'), _("Invoice is already linked to some of the analytic line(s)!"))
+
def do_create(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
analytic_account_obj = self.pool.get('account.analytic.account')
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py
index 23ab63247e5..ea2b5017790 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py
@@ -251,7 +251,7 @@ class hr_timesheet_sheet(osv.osv):
if context is None:
context = {}
if not sheet.date_current == time.strftime('%Y-%m-%d'):
- raise osv.except_osv(_('Error !'), _('You can not sign in from an other date than today'))
+ raise osv.except_osv(_('Error !'), _('You cannot sign in/sign out from an other date than today'))
emp_id = sheet.employee_id.id
context['sheet_id']=ids[0]
emp_obj.attendance_action_change(cr, uid, [emp_id], type=typ, context=context,)
@@ -481,21 +481,22 @@ class hr_timesheet_line(osv.osv):
'date': _get_default_date,
}
- def create(self, cr, uid, vals, *args, **kwargs):
- if vals.get('sheet_id', False):
- ts = self.pool.get('hr_timesheet_sheet.sheet').browse(cr, uid, vals['sheet_id'])
- if not ts.state in ('draft', 'new'):
- raise osv.except_osv(_('Error !'), _('You can not modify an entry in a confirmed timesheet !'))
- return super(hr_timesheet_line,self).create(cr, uid, vals, *args, **kwargs)
+ def _check_sheet_state(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ for timesheet_line in self.browse(cr, uid, ids, context=context):
+ if timesheet_line.sheet_id and timesheet_line.sheet_id.state not in ('draft', 'new'):
+ return False
+ return True
+
+ _constraints = [
+ (_check_sheet_state, 'You can not modify an entry in a Confirmed/Done timesheet !.', ['state']),
+ ]
def unlink(self, cr, uid, ids, *args, **kwargs):
self._check(cr, uid, ids)
return super(hr_timesheet_line,self).unlink(cr, uid, ids,*args, **kwargs)
- def write(self, cr, uid, ids, *args, **kwargs):
- self._check(cr, uid, ids)
- return super(hr_timesheet_line,self).write(cr, uid, ids,*args, **kwargs)
-
def _check(self, cr, uid, ids):
for att in self.browse(cr, uid, ids):
if att.sheet_id and att.sheet_id.state not in ('draft', 'new'):
diff --git a/addons/hr_timesheet_sheet/i18n/pt_BR.po b/addons/hr_timesheet_sheet/i18n/pt_BR.po
index 1f60699b465..01c35333f17 100644
--- a/addons/hr_timesheet_sheet/i18n/pt_BR.po
+++ b/addons/hr_timesheet_sheet/i18n/pt_BR.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-15 15:37+0000\n"
-"Last-Translator: Joe Pimentel \n"
+"PO-Revision-Date: 2011-04-23 20:29+0000\n"
+"Last-Translator: Emerson \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-16 04:47+0000\n"
-"X-Generator: Launchpad (build 12559)\n"
+"X-Launchpad-Export-Date: 2011-04-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:188
@@ -40,7 +40,7 @@ msgstr "Planilha"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_timesheetdraft0
msgid "Service"
-msgstr ""
+msgstr "Serviço"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py:38
@@ -53,7 +53,7 @@ msgstr "Não há funcionário definido para seu usuário!"
#: view:hr_timesheet_sheet.sheet:0
#: view:timesheet.report:0
msgid "Group By..."
-msgstr ""
+msgstr "Agrupar Por..."
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,total_attendance:0
@@ -67,7 +67,7 @@ msgstr "Presença Total"
#: view:timesheet.report:0
#: field:timesheet.report,department_id:0
msgid "Department"
-msgstr ""
+msgstr "Departamento"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_tasktimesheet0
@@ -91,7 +91,7 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "March"
-msgstr ""
+msgstr "Março"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -100,7 +100,7 @@ msgstr ""
#: view:timesheet.report:0
#: field:timesheet.report,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Empresa"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -127,7 +127,7 @@ msgstr "Data até"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_invoiceonwork0
msgid "Based on the timesheet"
-msgstr ""
+msgstr "Baseado na planilha de apontamento"
#. module: hr_timesheet_sheet
#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_validatetimesheet0
@@ -151,7 +151,7 @@ msgstr "Presente"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
msgid "Total Cost"
-msgstr ""
+msgstr "Custo Total"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:608
@@ -195,12 +195,12 @@ msgstr "Você não pode efetuar entrada em uma data diferente de hoje"
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid " Month-1 "
-msgstr ""
+msgstr " Mês-1 "
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_validatetimesheet0
msgid "Validation"
-msgstr ""
+msgstr "Validação"
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:199
@@ -237,7 +237,7 @@ msgstr "Data de"
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid " Month "
-msgstr ""
+msgstr " Mês "
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -299,14 +299,14 @@ msgstr ""
#. module: hr_timesheet_sheet
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
-msgstr ""
+msgstr "Erro! Você não pode criar empresas recursivas."
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,state:0
#: view:timesheet.report:0
#: field:timesheet.report,state:0
msgid "State"
-msgstr ""
+msgstr "Status"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_confirmedtimesheet0
@@ -316,7 +316,7 @@ msgstr ""
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,employee_id:0
msgid "Employee"
-msgstr ""
+msgstr "Funcionário"
#. module: hr_timesheet_sheet
#: selection:hr_timesheet_sheet.sheet,state:0
@@ -363,7 +363,7 @@ msgstr "Linhas do Apontamento de Horas"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
msgid "Hours"
-msgstr ""
+msgstr "Horas"
#. module: hr_timesheet_sheet
#: view:timesheet.report:0
@@ -397,7 +397,7 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "July"
-msgstr ""
+msgstr "Julho"
#. module: hr_timesheet_sheet
#: view:res.company:0
@@ -427,7 +427,7 @@ msgstr "Visão Diária"
#: view:timesheet.report:0
#: field:timesheet.report,quantity:0
msgid "#Quantity"
-msgstr ""
+msgstr "#Quantidade"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,total_timesheet:0
@@ -466,18 +466,18 @@ msgstr "Ir para:"
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "September"
-msgstr ""
+msgstr "Setembro"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "December"
-msgstr ""
+msgstr "Dezembro"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "It will open your current timesheet"
-msgstr ""
+msgstr "Isto irá abrir sua planilha de apontamento atual"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -497,7 +497,7 @@ msgstr ""
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "In Draft"
-msgstr ""
+msgstr "Provisório"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_attendancetimesheet0
@@ -507,7 +507,7 @@ msgstr ""
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_invoiceontimesheet0
msgid "Billing"
-msgstr ""
+msgstr "Cobrança"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_timesheetdraft0
@@ -556,7 +556,7 @@ msgstr ""
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid " Year "
-msgstr ""
+msgstr " Ano "
#. module: hr_timesheet_sheet
#: selection:res.company,timesheet_range:0
@@ -567,13 +567,13 @@ msgstr "Semana"
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "August"
-msgstr ""
+msgstr "Agosto"
#. module: hr_timesheet_sheet
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "June"
-msgstr ""
+msgstr "Junho"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,state_attendance:0
@@ -618,13 +618,13 @@ msgstr "Data"
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "November"
-msgstr ""
+msgstr "Novembro"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
#: view:timesheet.report:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Filtros Extendidos..."
#. module: hr_timesheet_sheet
#: field:res.company,timesheet_range:0
@@ -645,7 +645,7 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "October"
-msgstr ""
+msgstr "Outubro"
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.act_hr_timesheet_sheet_form
@@ -659,7 +659,7 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "January"
-msgstr ""
+msgstr "Janeiro"
#. module: hr_timesheet_sheet
#: model:process.transition,note:hr_timesheet_sheet.process_transition_attendancetimesheet0
@@ -669,12 +669,12 @@ msgstr ""
#. module: hr_timesheet_sheet
#: model:ir.model,name:hr_timesheet_sheet.model_res_company
msgid "Companies"
-msgstr ""
+msgstr "Empresas"
#. module: hr_timesheet_sheet
#: field:hr.timesheet.report,quantity:0
msgid "Quantity"
-msgstr ""
+msgstr "Quantidade"
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
@@ -728,12 +728,12 @@ msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_validatedtimesheet0
msgid "Validated"
-msgstr ""
+msgstr "Validado"
#. module: hr_timesheet_sheet
#: model:process.node,name:hr_timesheet_sheet.process_node_invoiceonwork0
@@ -804,7 +804,7 @@ msgstr "Linha de Apontamento de Horas"
#: view:timesheet.report:0
#: field:timesheet.report,product_id:0
msgid "Product"
-msgstr ""
+msgstr "Produto"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
@@ -829,7 +829,7 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "May"
-msgstr ""
+msgstr "Maio"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_workontask0
@@ -879,12 +879,12 @@ msgstr "Ausente"
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "February"
-msgstr ""
+msgstr "Fevereiro"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Employees"
-msgstr ""
+msgstr "Funcionários"
#. module: hr_timesheet_sheet
#: model:process.node,note:hr_timesheet_sheet.process_node_timesheet0
@@ -895,12 +895,12 @@ msgstr ""
#: selection:hr.timesheet.report,month:0
#: selection:timesheet.report,month:0
msgid "April"
-msgstr ""
+msgstr "Abril"
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_confirmtimesheet0
msgid "Confirmation"
-msgstr ""
+msgstr "Confirmação"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet.account,invoice_rate:0
@@ -910,7 +910,7 @@ msgstr "Taxa da Fatura"
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Approve"
-msgstr ""
+msgstr "Aprovar"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,account_ids:0
@@ -921,7 +921,7 @@ msgstr "Contas analíticas"
#: view:timesheet.report:0
#: field:timesheet.report,to_invoice:0
msgid "Type of Invoicing"
-msgstr ""
+msgstr "Tipo de Faturamento"
#. module: hr_timesheet_sheet
#: view:timesheet.report:0
@@ -932,7 +932,7 @@ msgstr ""
#. module: hr_timesheet_sheet
#: field:hr.timesheet.report,cost:0
msgid "Cost"
-msgstr ""
+msgstr "Custo"
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,date_current:0
diff --git a/addons/idea/idea.py b/addons/idea/idea.py
index deda3ab1350..04ae4dff5df 100644
--- a/addons/idea/idea.py
+++ b/addons/idea/idea.py
@@ -31,11 +31,28 @@ DefaultVoteValue = '50'
class idea_category(osv.osv):
""" Category of Idea """
+ def name_get(self, cr, uid, ids, context=None):
+ if not len(ids):
+ return []
+ reads = self.read(cr, uid, ids, ['name','parent_id'], context=context)
+ res = []
+ for record in reads:
+ name = record['name']
+ if record['parent_id']:
+ name = record['parent_id'][1]+' / '+name
+ res.append((record['id'], name))
+ return res
+
+ def _categ_name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
+ res = self.name_get(cr, uid, ids, context=context)
+ return dict(res)
+
_name = "idea.category"
_description = "Idea Category"
_columns = {
'name': fields.char('Category', size=64, required=True),
+ 'complete_name': fields.function(_categ_name_get_fnc, method=True, type="char", string='Name'),
'summary': fields.text('Summary'),
'parent_id': fields.many2one('idea.category', 'Parent Categories', ondelete='set null'),
'child_ids': fields.one2many('idea.category', 'parent_id', 'Child Categories'),
@@ -46,6 +63,10 @@ class idea_category(osv.osv):
]
_order = 'parent_id,name asc'
+ _constraints = [
+ (osv.osv._check_recursion, 'Error ! You can not create recursive categories.', ['parent_id'])
+ ]
+
idea_category()
class idea_idea(osv.osv):
diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml
index 493fda2c01f..e4cfa4efbe7 100644
--- a/addons/idea/idea_view.xml
+++ b/addons/idea/idea_view.xml
@@ -46,7 +46,7 @@
child_ids
-
+
@@ -234,11 +234,11 @@
-
+
-
+
diff --git a/addons/knowledge/i18n/it.po b/addons/knowledge/i18n/it.po
index 6ea8185e2be..58bdb25ee37 100644
--- a/addons/knowledge/i18n/it.po
+++ b/addons/knowledge/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-12 13:16+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2011-04-23 12:03+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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:53+0000\n"
-"X-Generator: Launchpad (build 12177)\n"
+"X-Launchpad-Export-Date: 2011-04-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: knowledge
#: model:ir.ui.menu,name:knowledge.menu_document
@@ -72,7 +72,7 @@ msgstr ""
#. module: knowledge
#: view:knowledge.installer:0
msgid "Configure"
-msgstr ""
+msgstr "Configura"
#. module: knowledge
#: view:knowledge.installer:0
diff --git a/addons/l10n_br/i18n/tr.po b/addons/l10n_br/i18n/tr.po
new file mode 100644
index 00000000000..bd89cac59da
--- /dev/null
+++ b/addons/l10n_br/i18n/tr.po
@@ -0,0 +1,36 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-07 06:40+0000\n"
+"PO-Revision-Date: 2011-04-20 20:28+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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-21 04:38+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
+
+#. module: l10n_br
+#: model:ir.actions.todo,note:l10n_br.config_call_account_template_brazilian_localization
+msgid ""
+"Generate Chart of Accounts from a Chart Template. You will be asked to pass "
+"the name of the company, the chart template to follow, the no. of digits to "
+"generate the code for your accounts and Bank account, currency to create "
+"Journals. Thus,the pure copy of chart Template is generated.\n"
+" This is the same wizard that runs from Financial "
+"Management/Configuration/Financial Accounting/Financial Accounts/Generate "
+"Chart of Accounts from a Chart Template."
+msgstr ""
+
+#. module: l10n_br
+#: model:ir.module.module,description:l10n_br.module_meta_information
+#: model:ir.module.module,shortdesc:l10n_br.module_meta_information
+msgid "Brazilian Localization"
+msgstr ""
diff --git a/addons/l10n_ca/i18n/it.po b/addons/l10n_ca/i18n/it.po
index 436cee96aa4..049f1e72e18 100644
--- a/addons/l10n_ca/i18n/it.po
+++ b/addons/l10n_ca/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2010-08-02 21:08+0000\n"
-"PO-Revision-Date: 2011-01-13 23:14+0000\n"
-"Last-Translator: Nicola Riolini - Micronaet \n"
+"PO-Revision-Date: 2011-04-23 12:00+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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-14 05:51+0000\n"
-"X-Generator: Launchpad (build 12177)\n"
+"X-Launchpad-Export-Date: 2011-04-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: l10n_ca
#: model:account.account.type,name:l10n_ca.account_type_receivable
@@ -122,9 +122,9 @@ msgstr ""
#. module: l10n_ca
#: model:account.account.type,name:l10n_ca.account_type_income
msgid "Income"
-msgstr ""
+msgstr "Entrate"
#. module: l10n_ca
#: model:account.account.type,name:l10n_ca.account_type_view
msgid "View"
-msgstr ""
+msgstr "Visualizza"
diff --git a/addons/l10n_cr/i18n/it.po b/addons/l10n_cr/i18n/it.po
index de6eb7d021c..45579f226d4 100644
--- a/addons/l10n_cr/i18n/it.po
+++ b/addons/l10n_cr/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-07 05:56+0000\n"
-"PO-Revision-Date: 2011-02-15 15:37+0000\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2011-04-23 12:04+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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-16 05:03+0000\n"
-"X-Generator: Launchpad (build 12351)\n"
+"X-Launchpad-Export-Date: 2011-04-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: l10n_cr
#: model:res.partner.title,name:l10n_cr.res_partner_title_ing
@@ -156,7 +156,7 @@ msgstr ""
#. module: l10n_cr
#: model:res.partner.title,name:l10n_cr.res_partner_title_asoc
msgid "Asociation"
-msgstr ""
+msgstr "Associazione"
#. module: l10n_cr
#: model:res.partner.title,shortcut:l10n_cr.res_partner_title_asoc
diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml
index 0f6e8da73b9..87b1adb72f7 100644
--- a/addons/l10n_gt/l10n_gt_base.xml
+++ b/addons/l10n_gt/l10n_gt_base.xml
@@ -47,7 +47,7 @@
IVA por Cobrar
-
+
percent
@@ -56,6 +56,7 @@
purchase
+
@@ -63,7 +64,7 @@
IVA por Pagar
-
+
percent
@@ -72,6 +73,7 @@
sale
+
diff --git a/addons/mail/email_message.py b/addons/mail/email_message.py
index a0959337dda..e68597eb851 100644
--- a/addons/mail/email_message.py
+++ b/addons/mail/email_message.py
@@ -73,7 +73,7 @@ def format_date_tz(date, tz=None):
class email_message_common(osv.osv_memory):
_name = 'email.message.common'
_columns = {
- 'subject':fields.text('Subject', translate=True),
+ 'subject':fields.text('Subject'),
'model': fields.char('Object Name', size=128, select=1),
'res_id': fields.integer('Resource ID', select=1),
'date': fields.datetime('Date'),
@@ -88,8 +88,8 @@ class email_message_common(osv.osv_memory):
'sub_type': fields.selection(email_content_types, 'Sub Type'),
'headers': fields.text('x_headers'),
'priority':fields.integer('Priority'),
- 'body': fields.text('Description', translate=True),
- 'body_html': fields.text('HTML', translate=True, help="Contains HTML version of email"),
+ 'body': fields.text('Description'),
+ 'body_html': fields.text('HTML', help="Contains HTML version of email"),
'smtp_server_id':fields.many2one('ir.mail_server', 'SMTP Server'),
}
_rec_name = 'subject'
@@ -106,6 +106,19 @@ class email_message(osv.osv):
_description = 'Email Message'
_order = 'date desc'
+ def _check_email_recipients(self, cr, uid, ids, context=None):
+ '''
+ checks email_to, email_cc, email_bcc
+ '''
+ for message in self.browse(cr, uid, ids, context=context):
+ if not (message.email_to or message.email_cc or message.email_bcc) and message.history:
+ return False
+ return True
+
+ _constraints = [
+ (_check_email_recipients, 'No recipients were specified. Please enter a recipient!', ['email_to', 'email_cc', 'email_bcc']),
+ ]
+
def open_document(self, cr, uid, ids, context=None):
""" To Open Document
@param self: The object pointer.
@@ -169,7 +182,7 @@ class email_message(osv.osv):
for message in self.browse(cr, uid, ids, context=context):
msg_txt = ''
if message.history:
- msg_txt += (message.email_from or '/') + _(' wrote on ') + format_date_tz(message.date, tz) + ':\n\t'
+ msg_txt += _('%s wrote on %s: \n Subject: %s \n\t') % (message.email_from or '/', format_date_tz(message.date, tz), message.subject)
if message.body:
msg_txt += self.truncate_data(cr, uid, message.body, context=context)
else:
@@ -207,6 +220,10 @@ class email_message(osv.osv):
def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, email_cc=None, email_bcc=None, reply_to=False, attach=None,
message_id=False, references=False, openobject_id=False, debug=False, subtype='plain', x_headers={}, priority='3', smtp_server_id=False, context=None, auto_delete=False):
+ if context is None:
+ context = {}
+ if attach is None:
+ attach = {}
attachment_obj = self.pool.get('ir.attachment')
if email_to and type(email_to) != list:
email_to = [email_to]
@@ -239,23 +256,22 @@ class email_message(osv.osv):
'auto_delete': auto_delete
}
email_msg_id = self.create(cr, uid, msg_vals, context)
- if attach:
- attachment_ids = []
- for attachment in attach:
- attachment_data = {
- 'name': attachment[0],
- 'subject': (subject or '') + _(' (Email Attachment)'),
- 'datas': attachment[1],
- 'datas_fname': attachment[0],
- 'body': subject or _('No Description'),
- 'res_model':'email.message',
- 'res_id': email_msg_id,
- }
- if context.has_key('default_type'):
- del context['default_type']
- attachment_ids.append(attachment_obj.create(cr, uid, attachment_data, context))
- self.write(cr, uid, email_msg_id,
- { 'attachment_ids': [[6, 0, attachment_ids]] }, context)
+ attachment_ids = []
+ for fname, fcontent in attach.items():
+ attachment_data = {
+ 'name': fname,
+ 'subject': (subject or '') + _(' (Email Attachment)'),
+ 'datas': fcontent,
+ 'datas_fname': fname,
+ 'body': subject or _('No Description'),
+ 'res_model':'email.message',
+ 'res_id': email_msg_id,
+ }
+ if context.has_key('default_type'):
+ del context['default_type']
+ attachment_ids.append(attachment_obj.create(cr, uid, attachment_data, context))
+ self.write(cr, uid, email_msg_id,
+ { 'attachment_ids': [[6, 0, attachment_ids]] }, context)
return email_msg_id
def process_retry(self, cr, uid, ids, context=None):
@@ -293,6 +309,7 @@ class email_message(osv.osv):
"""Return Dictionary Object after parse EML Message String
@param message: email.message.Message object or string or unicode object
"""
+ msg_txt = message
if isinstance(message, str):
msg_txt = email.message_from_string(message)
@@ -302,7 +319,6 @@ class email_message(osv.osv):
message = message.encode('utf-8')
msg_txt = email.message_from_string(message)
- msg_txt = message
message_id = msg_txt.get('message-id', False)
msg = {}
diff --git a/addons/mail/email_thread.py b/addons/mail/email_thread.py
index 5730c7270f6..0fb6f45819e 100644
--- a/addons/mail/email_thread.py
+++ b/addons/mail/email_thread.py
@@ -75,14 +75,11 @@ class email_thread(osv.osv):
if not model:
model = self._name
model_pool = self.pool.get(model)
- if hasattr(model_pool, 'message_new'):
- res_id = model_pool.message_new(cr, uid, msg, context)
- else:
- fields = model_pool.fields_get(cr, uid, context=context)
- data = model_pool.default_get(cr, uid, fields, context=context)
- if 'name' in fields and not data.get('name',False):
- data['name'] = msg.get('from','')
- res_id = model_pool.create(cr, uid, data, context=context)
+ fields = model_pool.fields_get(cr, uid, context=context)
+ data = model_pool.default_get(cr, uid, fields, context=context)
+ if 'name' in fields and not data.get('name',False):
+ data['name'] = msg.get('from','')
+ res_id = model_pool.create(cr, uid, data, context=context)
attachments = msg.get('attachments', {})
self.history(cr, uid, [res_id], _('receive'), history=True,
@@ -93,7 +90,7 @@ class email_thread(osv.osv):
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.items(),
+ attach = attachments,
email_date = msg.get('date'),
body_html= msg.get('body_html', False),
sub_type = msg.get('sub_type', False),
@@ -113,8 +110,6 @@ class email_thread(osv.osv):
if not model:
model = self._name
model_pool = self.pool.get(model)
- if hasattr(model_pool, 'message_update'):
- model_pool.message_update(cr, uid, ids, msg, vals=vals, default_act=default_act, context=context)
attachments = msg.get('attachments', {})
self.history(cr, uid, ids, _('receive'), history=True,
subject = msg.get('subject'),
@@ -124,7 +119,7 @@ class email_thread(osv.osv):
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.items(),
+ attach = attachments,
email_date = msg.get('date'),
body_html= msg.get('body_html', False),
sub_type = msg.get('sub_type', False),
@@ -171,12 +166,9 @@ class email_thread(osv.osv):
if context is None:
context = {}
if attach is None:
- attach = []
+ attach = {}
+
- model = context.get('thread_model', False)
- if not model:
- model = self._name
- model_pool = self.pool.get(model)
if email_date:
edate = parsedate(email_date)
@@ -186,6 +178,10 @@ class email_thread(osv.osv):
# The script sends the ids of the threads and not the object list
if all(isinstance(thread_id, (int, long)) for thread_id in threads):
+ model = context.get('thread_model', False)
+ if not model:
+ model = self._name
+ model_pool = self.pool.get(model)
threads = model_pool.browse(cr, uid, threads, context=context)
att_obj = self.pool.get('ir.attachment')
@@ -193,11 +189,13 @@ class email_thread(osv.osv):
for thread in threads:
attachments = []
- for attachment in attach:
+ for fname, fcontent in attach.items():
+ if isinstance(fcontent, unicode):
+ fcontent = fcontent.encode('utf-8')
data_attach = {
- 'name': attachment[0],
- 'datas': binascii.b2a_base64(str(attachment[1])),
- 'datas_fname': attachment[0],
+ 'name': fname,
+ 'datas': binascii.b2a_base64(str(fcontent)),
+ 'datas_fname': fname,
'description': _('Mail attachment'),
'res_model': thread._name,
'res_id': thread.id,
@@ -319,7 +317,6 @@ class email_thread(osv.osv):
email_message_pool = self.pool.get('email.message')
res_id = False
-
# Parse Message
# Warning: message_from_string doesn't always work correctly on unicode,
# we must use utf-8 strings here :-(
@@ -330,9 +327,10 @@ class email_thread(osv.osv):
# Create New Record into particular model
def create_record(msg):
- new_res_id = self.message_new(cr, uid, msg, context=context)
- if custom_values:
- model_pool.write(cr, uid, [res_id], custom_values, context=context)
+ if hasattr(model_pool, 'message_new'):
+ new_res_id = model_pool.message_new(cr, uid, msg, context=context)
+ if custom_values:
+ model_pool.write(cr, uid, [new_res_id], custom_values, context=context)
return new_res_id
res_id = False
@@ -354,7 +352,8 @@ class email_thread(osv.osv):
if res_id:
res_id = int(res_id)
if model_pool.exists(cr, uid, res_id):
- self.message_update(cr, uid, [res_id], msg, {}, context=context)
+ if hasattr(model_pool, 'message_update'):
+ model_pool.message_update(cr, uid, [res_id], msg, {}, context=context)
if not res_id:
res_id = create_record(msg)
diff --git a/addons/mail/wizard/email_compose_message.py b/addons/mail/wizard/email_compose_message.py
index 3a06bc2171d..f758cf9486c 100644
--- a/addons/mail/wizard/email_compose_message.py
+++ b/addons/mail/wizard/email_compose_message.py
@@ -22,6 +22,8 @@
from osv import osv
from osv import fields
import tools
+from tools.safe_eval import safe_eval as eval
+import re
class email_compose_message(osv.osv_memory):
_name = 'email.compose.message'
@@ -29,106 +31,49 @@ class email_compose_message(osv.osv_memory):
_description = 'This is the wizard for Compose E-mail'
def default_get(self, cr, uid, fields, context=None):
+ """
+ Returns default values for fields
+ @param fields: list of fields, for which default values are required to be read
+ @param context: context arguments, like lang, time zone
+
+ @return: Returns a dictionary that contains default values for fields
+ """
if context is None:
context = {}
result = super(email_compose_message, self).default_get(cr, uid, fields, context=context)
vals = {}
- if context.get('email_model') and context.get('email_res_id'):
- vals = self.get_value(cr, uid, context.get('email_model'), context.get('email_res_id'), context)
- elif context.get('message_id', False):
- vals = self.get_message_data(cr, uid, int(context.get('message_id', False)), context)
+ if context.get('mass_mail'):
+ return result
+ if context.get('active_model') and context.get('active_id') and not context.get('mail')=='reply':
+ vals = self.get_value(cr, uid, context.get('active_model'), context.get('active_id'), context)
+
+ elif context.get('mail')=='reply' and context.get('active_id', False):
+ vals = self.get_message_data(cr, uid, int(context.get('active_id', False)), context)
+
else:
- result['model'] = context.get('email_model', False)
+ result['model'] = context.get('active_model', False)
if not vals:
return result
- if 'subject' in fields:
- result.update({'subject' : vals.get('subject','')})
-
- if 'email_to' in fields:
- result.update({'email_to' : vals.get('email_to','')})
-
- if 'email_from' in fields:
- result.update({'email_from' : vals.get('email_from','')})
-
- if 'body' in fields:
- result.update({'body' : vals.get('body','')})
-
- if 'model' in fields:
- result.update({'model' : vals.get('model','')})
-
- if 'email_cc' in fields:
- result.update({'email_cc' : vals.get('email_cc','')})
-
- if 'email_bcc' in fields:
- result.update({'email_bcc' : vals.get('email_bcc','')})
-
- if 'res_id' in fields:
- result.update({'res_id' : vals.get('res_id',0)})
-
- if 'reply_to' in fields:
- result['reply_to'] = vals.get('reply_to','')
-
- if 'message_id' in fields:
- result['message_id'] = vals.get('message_id','')
-
- if 'attachment_ids' in fields:
- result['attachment_ids'] = vals.get('attachment_ids',[])
-
- if 'user_id' in fields:
- result['user_id'] = vals.get('user_id',False)
-
- if 'references' in fields:
- result['references'] = vals.get('references',False)
-
- if 'sub_type' in fields:
- result['sub_type'] = vals.get('sub_type',False)
-
- if 'headers' in fields:
- result['headers'] = vals.get('headers',False)
-
- if 'priority' in fields:
- result['priority'] = vals.get('priority',False)
-
- if 'debug' in fields:
- result['debug'] = vals.get('debug',False)
-
+ for field in fields:
+ result.update({field : vals.get(field, False)})
return result
- def _get_records(self, cr, uid, context=None):
- """
- Return Records of particular Model
- """
- if context is None:
- context = {}
- record_ids = []
- model_pool = False
- if context.get('message_id'):
- message_pool = self.pool.get('email.message')
- message_data = message_pool.browse(cr, uid, int(context.get('message_id')), context)
- model_pool = self.pool.get(message_data.model)
- record_ids = [message_data.res_id]
- elif context.get('email_model',False):
- model = context.get('email_model')
- model_pool = self.pool.get(model)
- record_ids = context.get('email_res_id') and [context.get('email_res_id')] or []
- if not record_ids:
- record_ids = model_pool.search(cr, uid, [])
- if model_pool:
- return model_pool.name_get(cr, uid, record_ids, context)
- return []
-
_columns = {
'attachment_ids': fields.many2many('ir.attachment','email_message_send_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'),
- 'debug':fields.boolean('Debug', readonly=True),
- 'res_id':fields.selection(_get_records, 'Referred Document'),
+ 'auto_delete': fields.boolean('Auto Delete', help="Permanently delete emails after sending"),
+ 'filter_id': fields.many2one('ir.filters', 'Filters'),
}
def get_value(self, cr, uid, model, res_id, context=None):
return {}
def get_message_data(self, cr, uid, message_id, context=None):
+ '''
+ Called by default_get() to get message detail
+ @param message_id: Id of the email message
+ '''
if context is None:
context = {}
result = {}
@@ -136,11 +81,7 @@ class email_compose_message(osv.osv_memory):
if message_id:
message_data = message_pool.browse(cr, uid, message_id, context)
subject = tools.ustr(message_data and message_data.subject or '')
- if context.get('mail','') == 'reply':
- subject = "Re :- " + subject
-
description = message_data and message_data.body or ''
- message_body = False
if context.get('mail','') == 'reply':
header = '-------- Original Message --------'
sender = 'From: %s' % tools.ustr(message_data.email_from or '')
@@ -148,12 +89,14 @@ class email_compose_message(osv.osv_memory):
sentdate = 'Date: %s' % message_data.date
desc = '\n > \t %s' % tools.ustr(description.replace('\n', "\n > \t") or '')
description = '\n'.join([header, sender, email_to, sentdate, desc])
+ if not subject.startswith('Re: '):
+ subject = "Re: " + subject
result.update({
'body' : description,
'subject' : subject,
'message_id' : message_data and message_data.message_id or False,
- 'attachment_ids' : message_data and message_pool.read(cr, uid, message_id, ['attachment_ids'])['attachment_ids'] or [],
+ 'attachment_ids' : [],
'res_id' : message_data and message_data.res_id or False,
'email_from' : message_data and message_data.email_to or False,
'email_to' : message_data and message_data.email_from or False,
@@ -171,59 +114,82 @@ class email_compose_message(osv.osv_memory):
return result
- def on_change_referred_doc(self, cr, uid, ids, model, resource_id, context=None):
- if context is None:
- context = {}
- if context.get('mail') == 'reply':
- return {'value':{}}
- result = {}
- if resource_id and model:
- vals = self.get_value(cr, uid, model, resource_id, context)
- if vals:
- result.update({
- 'email_from': vals.get('email_from',''),
- 'email_to': vals.get('email_to',''),
- 'subject': vals.get('subject',''),
- 'body': vals.get('body',''),
- 'email_cc': vals.get('email_cc',''),
- 'email_bcc': vals.get('email_bcc',''),
- 'reply_to': vals.get('reply_to',''),
- })
- return {'value': result}
-
-
- def save_to_drafts(self, cr, uid, ids, context=None):
- if context is None:
- context = {}
- email_id = self.save_to_mailbox(cr, uid, ids, context=context)
- self.pool.get('email.message').write(cr, uid, email_id, {'state': 'outgoing'}, context)
- return {'type': 'ir.actions.act_window_close'}
-
def send_mail(self, cr, uid, ids, context=None):
+ '''
+ Sends the email
+ '''
if context is None:
context = {}
- email_id = self.save_to_mailbox(cr, uid, ids, context)
- return {'type': 'ir.actions.act_window_close'}
- def save_to_mailbox(self, cr, uid, ids, context=None):
- email_ids = []
email_message_pool = self.pool.get('email.message')
- attachment = []
+ attachment = {}
+ email_ids = []
for mail in self.browse(cr, uid, ids, context=context):
for attach in mail.attachment_ids:
- attachment.append((attach.datas_fname, attach.datas))
+ attachment[attach.datas_fname] = attach.datas
references = False
message_id = False
+
+ # Reply Email
if context.get('mail',False) == 'reply' and mail.message_id:
references = mail.references and mail.references + "," + mail.message_id or mail.message_id
else:
message_id = mail.message_id
- email_id = email_message_pool.schedule_with_attach(cr, uid, mail.email_from, mail.email_to, mail.subject, mail.body,
+
+ # Mass mailing
+ if context.get('mass_mail', False):
+ if context['active_ids'] and context['active_model']:
+ active_ids = context['active_ids']
+ active_model = context['active_model']
+
+ else:
+ active_model = mail.model
+ active_model_pool = self.pool.get(active_model)
+ active_ids = active_model_pool.search(cr, uid, eval(mail.filter_id.domain), context=eval(mail.filter_id.context))
+
+ for active_id in active_ids:
+ subject = self.get_template_value(cr, uid, mail.subject, active_model, active_id)
+ body = self.get_template_value(cr, uid, mail.body, active_model, active_id)
+ email_to = self.get_template_value(cr, uid, mail.email_to, active_model, active_id)
+ email_from = self.get_template_value(cr, uid, mail.email_from, active_model, active_id)
+ email_cc = self.get_template_value(cr, uid, mail.email_cc, active_model, active_id)
+ email_bcc = self.get_template_value(cr, uid, mail.email_bcc, active_model, active_id)
+ reply_to = self.get_template_value(cr, uid, mail.reply_to, active_model, active_id)
+
+ email_id = email_message_pool.schedule_with_attach(cr, uid, email_from, email_to, subject, body,
+ model=mail.model, email_cc=email_cc, email_bcc=email_bcc, reply_to=reply_to,
+ attach=attachment, message_id=message_id, references=references, openobject_id=int(mail.res_id),
+ subtype=mail.sub_type, x_headers=mail.headers, priority=mail.priority, smtp_server_id=mail.smtp_server_id and mail.smtp_server_id.id,
+ auto_delete=mail.auto_delete or False, context=context)
+ email_ids.append(email_id)
+
+ else:
+ email_id = email_message_pool.schedule_with_attach(cr, uid, mail.email_from, mail.email_to, mail.subject, mail.body,
model=mail.model, email_cc=mail.email_cc, email_bcc=mail.email_bcc, reply_to=mail.reply_to,
- attach=attachment, message_id=message_id, references=references, openobject_id=int(mail.res_id), debug=mail.debug,
- subtype=mail.sub_type, x_headers=mail.headers, priority=mail.priority, smtp_server_id=mail.smtp_server_id and mail.smtp_server_id.id, context=context)
- email_ids.append(email_id)
- return email_ids
+ attach=attachment, message_id=message_id, references=references, openobject_id=int(mail.res_id),
+ subtype=mail.sub_type, x_headers=mail.headers, priority=mail.priority, smtp_server_id=mail.smtp_server_id and mail.smtp_server_id.id,
+ auto_delete=mail.auto_delete, context=context)
+ email_ids.append(email_id)
+ return {'type': 'ir.actions.act_window_close'}
+
+
+ def get_template_value(self, cr, uid, message, model, resource_id, context=None):
+ if context is None:
+ context = {}
+ def merge(match):
+ exp = str(match.group()[2:-1]).strip()
+ result = eval(exp,
+ {
+ 'user' : self.pool.get('res.users').browse(cr, uid, uid, context=context),
+ 'context': dict(context), # copy context to prevent side-effects of eval
+ 'object' : self.pool.get(model).browse(cr, uid, resource_id),
+ })
+ if result in (None, False):
+ return str("--------")
+ return tools.ustr(result)
+
+ com = re.compile('(\$\{.+?\})')
+ return message and com.sub(merge, message)
email_compose_message()
diff --git a/addons/mail/wizard/email_compose_message_view.xml b/addons/mail/wizard/email_compose_message_view.xml
index eab36ebc522..dd89d0267ff 100644
--- a/addons/mail/wizard/email_compose_message_view.xml
+++ b/addons/mail/wizard/email_compose_message_view.xml
@@ -7,18 +7,18 @@
email.compose.message
form
-
@@ -41,7 +40,7 @@
- Send E-mail
+ Compose E-mail
email.compose.message
email.compose.message
ir.actions.act_window
@@ -50,5 +49,13 @@
new
+
diff --git a/addons/marketing/i18n/id.po b/addons/marketing/i18n/id.po
new file mode 100644
index 00000000000..c7c8a962b63
--- /dev/null
+++ b/addons/marketing/i18n/id.po
@@ -0,0 +1,119 @@
+# Indonesian 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-04-19 15:57+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Indonesian \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: marketing
+#: model:ir.module.module,description:marketing.module_meta_information
+msgid "Menu for Marketing"
+msgstr "Menu Untuk Marketing"
+
+#. module: marketing
+#: help:marketing.installer,marketing_campaign:0
+msgid ""
+"Helps you to manage marketing campaigns and automate actions and "
+"communication steps."
+msgstr ""
+"Membantu Anda untuk mengelola kampanye pemasaran dan langkah mengotomatisasi "
+"dan langkah komunikasi."
+
+#. module: marketing
+#: field:marketing.installer,progress:0
+msgid "Configuration Progress"
+msgstr "Kemajuan Konfigurasi"
+
+#. module: marketing
+#: view:marketing.installer:0
+msgid "title"
+msgstr "Judul:"
+
+#. module: marketing
+#: field:marketing.installer,email_template:0
+msgid "Automated E-Mails"
+msgstr "Email otomatis"
+
+#. module: marketing
+#: field:marketing.installer,config_logo:0
+msgid "Image"
+msgstr "Gambar"
+
+#. module: marketing
+#: view:marketing.installer:0
+msgid "Configure Your Marketing Application"
+msgstr "Konfigurasikan Aplikasi Pemasaran Anda"
+
+#. module: marketing
+#: help:marketing.installer,email_template:0
+msgid ""
+"Helps you to design templates of emails and integrate them in your different "
+"processes."
+msgstr ""
+"Membantu Anda untuk merancang template email dan mengintegrasikan mereka "
+"dalam proses yang berbeda."
+
+#. module: marketing
+#: model:ir.model,name:marketing.model_marketing_installer
+msgid "marketing.installer"
+msgstr ""
+
+#. module: marketing
+#: model:ir.module.module,shortdesc:marketing.module_meta_information
+msgid "Marketing"
+msgstr "Pemasaran"
+
+#. module: marketing
+#: field:marketing.installer,crm_profiling:0
+msgid "Profiling Tools"
+msgstr ""
+
+#. module: marketing
+#: view:marketing.installer:0
+msgid ""
+"OpenERP provides Addons to better manage your sales and marketing processes. "
+"Select the ones you would be interested in."
+msgstr ""
+"OpenERP menyediakan Addons untuk lebih baik mengelola proses penjualan dan "
+"pemasaran. Pilih salah satu yang menurut anda menarik."
+
+#. module: marketing
+#: view:marketing.installer:0
+msgid "Marketing Application Configuration"
+msgstr "Konfigurasi Aplikasi Pemasaran"
+
+#. module: marketing
+#: model:ir.actions.act_window,name:marketing.action_marketing_installer
+msgid "Marketing Modules Installation"
+msgstr "Instalasi Modul Marketing"
+
+#. module: marketing
+#: model:ir.module.module,shortdesc:marketing.module_meta_information
+msgid "Marketing Campaigns"
+msgstr "Kampanye Pemasaran"
+
+#. module: marketing
+#: help:marketing.installer,crm_profiling:0
+msgid ""
+"Helps you to perform segmentation of partners and design segmentation "
+"questionnaires"
+msgstr ""
+"Membantu Anda untuk melakukan segmentasi mitra dan desain kuesioner "
+"segmentasi"
+
+#. module: marketing
+#: view:marketing.installer:0
+msgid "Configure"
+msgstr "Pengaturan"
diff --git a/addons/mrp_repair/i18n/it.po b/addons/mrp_repair/i18n/it.po
index 4bc9f8888a0..c5138d7755d 100644
--- a/addons/mrp_repair/i18n/it.po
+++ b/addons/mrp_repair/i18n/it.po
@@ -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-12 14:03+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2011-04-23 12:05+0000\n"
+"Last-Translator: simone.sandri \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:47+0000\n"
-"X-Generator: Launchpad (build 12177)\n"
+"X-Launchpad-Export-Date: 2011-04-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: mrp_repair
#: view:mrp.repair:0
@@ -337,7 +337,7 @@ msgstr "Cerca ordini di riparazione"
#. module: mrp_repair
#: report:repair.order:0
msgid "(Add)"
-msgstr ""
+msgstr "(Aggiungi)"
#. module: mrp_repair
#: model:ir.model,name:mrp_repair.model_mrp_repair_line
@@ -412,7 +412,7 @@ msgstr "Prepara Fatture"
#. module: mrp_repair
#: report:repair.order:0
msgid "(Remove)"
-msgstr ""
+msgstr "(Rimuovi)"
#. module: mrp_repair
#: selection:mrp.repair.line,type:0
@@ -522,7 +522,7 @@ msgstr ""
#. module: mrp_repair
#: view:mrp.repair:0
msgid "Quotations"
-msgstr ""
+msgstr "Quotazioni"
#. module: mrp_repair
#: field:mrp.repair.fee,product_uom_qty:0
diff --git a/addons/outlook/i18n/tr.po b/addons/outlook/i18n/tr.po
index ed0f1b4c7ff..6d24ae529c4 100644
--- a/addons/outlook/i18n/tr.po
+++ b/addons/outlook/i18n/tr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-17 17:54+0000\n"
-"Last-Translator: Arif Aydogmus \n"
+"PO-Revision-Date: 2011-04-24 16:22+0000\n"
+"Last-Translator: lo_ol \n"
"Language-Team: Turkish \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:59+0000\n"
-"X-Generator: Launchpad (build 12559)\n"
+"X-Launchpad-Export-Date: 2011-04-25 04:50+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: outlook
#: field:outlook.installer,doc_file:0
@@ -93,14 +93,14 @@ msgstr "Belgeleme dosyası :- how to install Outlook Plug-in."
#. module: outlook
#: model:ir.model,name:outlook.model_outlook_installer
msgid "outlook.installer"
-msgstr ""
+msgstr "outlook.yükleyicisi"
#. module: outlook
#: model:ir.actions.act_window,name:outlook.action_outlook_installer
#: model:ir.actions.act_window,name:outlook.action_outlook_wizard
#: view:outlook.installer:0
msgid "Outlook Plug-In Configuration"
-msgstr ""
+msgstr "Outlook eklenti-içe özel yapılandırma ayarları"
#. module: outlook
#: field:outlook.installer,progress:0
@@ -123,6 +123,8 @@ msgid ""
"Allows you to select an object that you would like to add to your email and "
"its attachments."
msgstr ""
+"Size, e-postanıza ve eklerine eklemeniz için begendiğiniz bir nesneyi "
+"seçmeyi sağlar."
#. module: outlook
#: view:outlook.installer:0
@@ -149,8 +151,10 @@ msgstr "Resim"
msgid ""
"outlook plug-in file. Save as this file and install this plug-in in outlook."
msgstr ""
+"Outlook eklenti-içe dosyası. Bu dosyayı kayıt edin ve bu eklenti-içe'yi "
+"outlook'a yükleyin"
#. module: outlook
#: view:outlook.installer:0
msgid "Configure"
-msgstr ""
+msgstr "Yapılandır"
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py
index a05220ad7e0..87138554e16 100644
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py
+++ b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py
@@ -186,7 +186,6 @@ def check():
win32ui.MessageBox("No server running on host "+ server+" at port "+str(port), "OpenERP Connection", flag_excl)
return False
if str(NewConn.getitem('_login')) == 'False':
- win32ui.MessageBox("Please login to the database first", "OpenERP Connection", flag_excl)
return False
return True
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py
index 247b9c7a533..aa417b2cd59 100644
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py
+++ b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py
@@ -1,7 +1,7 @@
-#C:\workspace\openerp-outlook-plugin\dialogs\resources\dialogs.py
-#This is a generated file. Please edit C:\workspace\openerp-outlook-plugin\dialogs\resources\dialogs.rc instead.
+#C:\Program Files\Openerp Outlook Addin\dialogs\resources\dialogs.py
+#This is a generated file. Please edit C:\Program Files\Openerp Outlook Addin\dialogs\resources\dialogs.rc instead.
_rc_size_=16350
-_rc_mtime_=1296563638
+_rc_mtime_=1296608638
class FakeParser:
dialogs = {'IDD_OPEN_DOCUEMNT_DIALOG': [['Open Document', (0, 0, 200, 65), -1865940928, 1024, (8, 'Tahoma')], [130, 'Link to Document : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ', -1, (5, 3, 190, 25), 1342177280], [129, '', 2086, (5, 31, 190, 12), 1350631552], [128, 'Ok', 2, (150, 45, 45, 14), 1342242816]], 'IDD_VIEW_PARTNER_DIALOG': [['Open Contact', (0, 0, 350, 215), -1865940928, 1024, (8, 'Tahoma')], [130, 'Email ID : ', -1, (32, 17, 40, 12), 1342177280], [129, '', 2051, (70, 15, 200, 12), 1350631552], [128, 'Search Contact ', 2052, (280, 15, 60, 14), 1342242816], [130, 'Partner Name : ', -1, (13, 42, 50, 17), 1342177280], [129, '', 2064, (70, 42, 150, 12), 1350568064], [128, 'Search Partner', 2070, (225, 41, 60, 14), 1342242816], [128, 'New Partner', 2093, (290, 41, 50, 14), 1342242816], [128, 'Postal Address ', 2024, (10, 65, 175, 125), 1342177287], [130, 'Contact Name : ', -1, (18, 83, 50, 17), 1342177280], [129, '', 2046, (76, 82, 100, 12), 1350631552], [130, 'Street : ', -1, (18, 97, 50, 17), 1342177280], [129, '', 2053, (76, 96, 100, 12), 1350631552], [130, 'Street2 : ', -1, (18, 112, 50, 17), 1342177280], [129, '', 2054, (76, 111, 100, 12), 1350631552], [130, 'Zip : ', -1, (18, 126, 50, 14), 1342177280], [129, '', 40010, (76, 125, 100, 12), 1350631552], [130, 'City : ', -1, (18, 140, 50, 17), 1342177280], [129, '', 40011, (76, 139, 100, 12), 1350631552], [130, 'Fed. State : ', -1, (18, 154, 50, 17), 1342177280], [129, '', 2062, (76, 153, 54, 12), 1350568064], [128, 'Search', 2104, (135, 153, 40, 12), 1342242816], [130, 'Country :', -1, (18, 169, 35, 17), 1342177280], [129, '', 2063, (76, 168, 54, 12), 1350568064], [128, 'Search', 2105, (135, 168, 40, 12), 1342242816], [128, 'Communication ', 2024, (188, 65, 152, 125), 1342177287], [130, 'Phone : ', -1, (194, 83, 30, 17), 1342177280], [129, '', 2048, (224, 82, 100, 12), 1350631552], [130, 'Mobile : ', -1, (194, 97, 30, 17), 1342177280], [129, '', 2050, (224, 96, 100, 12), 1350631552], [130, 'Email : ', -1, (194, 111, 30, 17), 1342177280], [129, '', 2058, (224, 110, 100, 12), 1350568064], [130, 'Fax : ', -1, (194, 125, 30, 17), 1342177280], [129, '', 2047, (224, 124, 100, 12), 1350631552], [128, 'Create a New Contact', 2071, (124, 195, 82, 14), 1342242816], [128, 'Save', 2059, (213, 195, 60, 14), 1342242816], [128, 'Cancel', 2, (281, 195, 60, 14), 1342242816]], 'IDD_OPEN_PARTNER_DIALOG': [['Open Partner', (0, 0, 200, 65), -1865940928, 1024, (8, 'Tahoma')], [130, 'Link to Partner : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ', -1, (5, 3, 190, 25), 1342177280], [129, '', 2085, (5, 31, 190, 12), 1350631552], [128, 'Ok', 2, (150, 45, 45, 13), 1342242816]], 'IDD_SELECT_STATE': [['Search Fed. State', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2100, (55, 10, 100, 12), 1350631552], [128, 'Search', 40012, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2101, (8, 40, 200, 185), 1353711657], [128, 'Select', 2102, (170, 230, 40, 14), 1342242816]], 'IDD_GENERAL': [['Connection Parameters', (0, 0, 430, 210), 1355284544, None, (8, 'Tahoma')], [128, 'Connection Parameters', 2024, (10, 10, 250, 130), 1342177287], [130, 'Server : ', -1, (30, 30, 100, 17), 1342177280], [129, '', 2003, (85, 30, 120, 12), 1350633472], [128, 'Change', 2021, (210, 30, 30, 13), 1342242816], [130, 'Database : ', -1, (30, 50, 100, 17), 1342177280], [133, '', 2004, (85, 50, 154, 40), 1344339971], [130, 'Username : ', -1, (30, 70, 100, 17), 1342177280], [129, '', 2005, (85, 70, 154, 12), 1350631552], [130, 'Password : ', -1, (30, 90, 100, 17), 1342177280], [129, '', 2006, (85, 90, 154, 12), 1350631584], [128, 'Connect', 2007, (179, 110, 60, 13), 1342242816], [128, 'WebServer Parameters', 2024, (270, 10, 150, 130), 1342177287], [130, 'Server : ', -1, (280, 30, 50, 15), 1342177280], [129, '', 2080, (310, 29, 90, 12), 1350568064], [128, 'Change', 2082, (295, 50, 50, 12), 1342242816], [128, 'Connect', 2083, (350, 50, 50, 12), 1342242816]], 'IDD_OBJECT_SETTINGS': [['Documents Setting', (0, 0, 430, 210), 1355284672, 1024, (8, 'Tahoma')], [128, 'Document Attributes', 2024, (2, 2, 343, 32), 1342177287], [130, 'Title:', -1, (5, 16, 30, 17), 1342177280], [129, '', 2013, (22, 14, 57, 12), 1350631552], [130, 'Document Name:', -1, (83, 16, 60, 17), 1342177280], [129, '', 2014, (138, 14, 57, 12), 1350631552], [130, 'Image:', -1, (200, 16, 22, 17), 1342177280], [129, '', 2015, (223, 14, 57, 12), 1350631552], [128, 'Load Image', 2010, (289, 13, 50, 15), 1342242816], [128, 'Add', 2011, (350, 13, 38, 15), 1342242816], [128, 'Delete', 2012, (392, 13, 38, 15), 1342242816], ['SysListView32', 'List1', 2016, (8, 40, 535, 160), 1353711657]], 'IDD_NEW_PARTNER_DIALOG': [['Create a New Partner', (0, 0, 140, 40), -1865940928, 1024, (8, 'Tahoma')], [130, 'Name : ', -1, (5, 3, 100, 17), 1342177280], [129, '', 2036, (40, 3, 94, 12), 1350631552], [128, 'Cancel', 2, (90, 22, 45, 14), 1342242816], [128, 'Save', 2035, (40, 22, 45, 14), 1342242817]], 'IDD_MANAGER': [['OpenERP Configuration', (0, 0, 460, 260), -1865940800, None, (8, 'Tahoma')], [128, 'Close', 2008, (400, 239, 50, 14), 1342177281], ['SysTabControl32', '', 1068, (8, 7, 440, 228), 1342177280], ['SysListView32', '', 2016, (0, 0, 0, 0), 1353711657]], 'IDD_WEB_SERVER_PORT_DIALOG': [['OpenERP Connection', (0, 0, 160, 80), -1865940928, 1024, (8, 'Tahoma')], [130, 'Server : ', -1, (5, 3, 150, 17), 1342177280], [129, '', 2089, (40, 3, 100, 12), 1350631552], [130, 'Port : ', -1, (5, 18, 100, 17), 1342177280], [129, '', 2090, (40, 18, 100, 12), 1350631552], [128, 'Close', 2, (110, 50, 45, 14), 1342242816], [128, 'OK', 2091, (50, 50, 50, 14), 1342242817], [128, 'SSL (https)', 2111, (20, 35, 100, 14), 1342242819]], 'IDD_ABOUT': [['About', (0, 0, 430, 210), 1355284672, 1024, (8, 'Tahoma')], [128, 'About Plugin', -1, (7, 3, 422, 200), 1342177287], [130, '1062', 1062, (60, 30, 20, 20), 1342179342], [130, '', 2028, (80, 90, 300, 100), 1342177280]], 'IDD_NEW_CONTACT_DIALOG': [['Create a New Contact', (0, 0, 350, 180), -1865940928, 1024, (8, 'Tahoma')], [130, 'Select Partner : ', -1, (13, 20, 50, 17), 1342177280], [129, '', 2079, (70, 18, 150, 12), 1350568064], [128, 'Search Partner', 2033, (225, 17, 60, 14), 1342242816], [128, 'New Partner', 2092, (290, 17, 50, 14), 1342242816], [128, 'Postal Address ', 2024, (10, 35, 175, 123), 1342177287], [130, 'Contact Name : ', -1, (18, 53, 100, 17), 1342177280], [129, '', 40005, (76, 52, 100, 12), 1350631552], [130, 'Street : ', -1, (18, 67, 40, 17), 1342177280], [129, '', 2062, (76, 66, 100, 12), 1350631552], [130, 'Street2 : ', -1, (18, 81, 40, 17), 1342177280], [129, '', 2063, (76, 80, 100, 12), 1350631552], [130, 'Zip : ', -1, (18, 94, 50, 17), 1342177280], [129, '', 2068, (76, 93, 100, 12), 1350631552], [130, 'City : ', -1, (18, 106, 50, 17), 1342177280], [129, '', 2067, (76, 107, 100, 12), 1350631552], [130, 'Fed. State : ', -1, (18, 134, 50, 15), 1342177280], [129, '', 2106, (76, 135, 54, 12), 1350568064], [128, 'Search', 2107, (135, 136, 40, 12), 1342242816], [130, 'Country :', -1, (18, 121, 35, 15), 1342177280], [129, '', 2108, (76, 122, 54, 12), 1350568064], [128, 'Search', 2109, (135, 121, 40, 12), 1342242816], [128, 'Communication ', 2024, (188, 35, 150, 123), 1342177287], [130, 'Office : ', -1, (194, 53, 30, 17), 1342177280], [129, '', 40006, (224, 52, 100, 12), 1350631552], [130, 'Mobile : ', -1, (194, 67, 30, 17), 1342177280], [129, '', 40007, (224, 66, 100, 12), 1350631552], [130, 'Fax : ', -1, (194, 81, 30, 17), 1342177280], [129, '', 2066, (224, 80, 100, 12), 1350631552], [130, 'Email : ', -1, (194, 95, 30, 17), 1342177280], [129, '', 40008, (224, 94, 100, 12), 1350631552], [128, 'Cancel', 2, (290, 162, 45, 13), 1342242816], [128, 'Save', 40009, (240, 162, 45, 13), 1342242816]], 'IDD_SERVER_PORT_DIALOG': [['OpenERP Connection', (0, 0, 160, 90), -1865940928, 1024, (8, 'Tahoma')], [130, 'Server : ', -1, (5, 3, 150, 17), 1342177280], [129, '', 2001, (45, 3, 100, 12), 1350631552], [130, ' Port : ', -1, (5, 18, 100, 17), 1342177280], [129, '', 2002, (45, 18, 100, 12), 1350631552], [128, '', 2024, (5, 35, 150, 5), 1342177287], [130, 'Protocol Connection :', -1, (5, 45, 80, 17), 1342177280], [133, '', 2110, (75, 43, 75, 50), 1344339971], [128, 'Close', 2, (60, 70, 45, 14), 1342242816], [128, 'OK', 1, (110, 70, 45, 14), 1342242817]], 'IDD_SELECT_PARTNER': [['Search Partner', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2076, (55, 10, 100, 12), 1350631552], [128, 'Search', 2077, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2072, (8, 40, 200, 185), 1353711657], [128, 'Create New Partner', 2078, (10, 230, 100, 14), 1342242816], [128, 'Select', 2075, (170, 230, 40, 14), 1342242816]], 'IDD_SYNC': [['Push to OpenERP', (0, 0, 470, 320), -1865940928, 1024, (8, 'Tahoma')], [128, 'Link to an Existing Documents ', 2024, (8, 5, 250, 290), 1342242823], [130, 'Search : ', -1, (15, 17, 40, 12), 1342177280], [129, '', 40003, (60, 15, 120, 12), 1350631552], [128, 'Search', 40004, (187, 15, 40, 14), 1342242816], [130, 'Documents : ', -1, (15, 140, 100, 14), 1342177280], ['SysListView32', 'List1', 2026, (15, 150, 234, 110), 1350631433], [128, 'Push', 2019, (160, 270, 85, 14), 1342242816], [128, ' Create a New Document ', 2024, (263, 5, 202, 100), 1342242823], [130, 'Type of Document : ', -1, (266, 25, 100, 12), 1342177280], [133, '', 2025, (332, 24, 75, 45), 1344339971], [128, 'Create', 2020, (412, 23, 50, 14), 1342242816], [128, ' Create a New Contact ', 2024, (263, 110, 202, 185), 1342242823], [130, 'Create a New Contact : ', -1, (280, 140, 100, 12), 1342177280], [128, 'Create Contact', 2018, (360, 138, 60, 14), 1342242816], [128, 'Close', 2, (385, 300, 60, 14), 1342242816]], 'IDD_SELECT_COUNTRY': [['Search Country', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2095, (55, 10, 100, 12), 1350631552], [128, 'Search', 2098, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2096, (8, 40, 200, 185), 1353711657], [128, 'Select', 2097, (170, 230, 40, 14), 1342242816]]}
ids = {'IDC_BUT_DEL_OBJECT': 2012, 'IDD_OPEN_PARTNER_DIALOG': 2084, 'IDD_SELECT_STATE': 2099, 'IDC_DELAY1_SLIDER': 1056, 'IDC_PROGRESS': 1000, 'IDD_MANAGER': 101, 'IDC_ABOUT': 2028, 'IDD_DIAGNOSTIC': 113, 'IDET_PARTNER_COUNTRY': 2063, 'IDD_TRAINING': 102, 'ID_CONTACT_EMAIL_TEXT': 40008, 'IDC_DELAY2_TEXT': 1059, 'IDC_DELAY1_TEXT': 1057, 'IDD_WIZARD': 114, 'IDC_CHKBX': 2023, 'IDC_STATIC_HAM': 1002, 'IDC_PROGRESS_TEXT': 1001, 'IDR_XMLS_PROTOCOL': 2042, 'IDD_GENERAL': 108, 'IDD_ABOUT': 2027, 'IDD_SYNC': 40002, 'IDC_TAB': 1068, 'IDC_FOLDER_UNSURE': 1033, '_APS_NEXT_SYMED_VALUE': 101, 'IDC_VERBOSE_LOG': 1061, 'IDC_EDIT1': 1094, 'IDC_BROWSE': 1037, 'ID_DB_DROPDOWNLIST': 2004, 'IDC_BACK_BTN': 1069, 'ID_CONTACT_NAME_TEXT': 40005, 'IDPB_PARTNER_SEARCH': 2077, 'IDD_WIZARD_FINISHED_UNCONFIGURED': 119, 'IDC_ACTION_CERTAIN': 1025, 'IDC_BUT_ACT_ALL': 1019, 'IDD_FILTER_NOW': 104, 'IDET_WED_SERVER': 2080, 'ID_WEB_OK': 2091, 'ID_PROTOCOL_GRP': 2040, 'IDC_HEADER': 2017, 'IDC_MARK_SPAM_AS_READ': 1047, 'IDPB_NEW_PARTNER_BUTTON': 2092, 'ID_PARTNER_NAME_TEXT': 2036, 'IDC_RECOVER_RS': 1075, 'IDC_NAME_LIST1': 2037, 'ID_CONTACT_OFFICE_TEXT': 40006, 'IDC_STATIC': -1, 'IDC_PAGE_PLACEHOLDER': 1078, 'IDC_BROWSE_WATCH': 1039, 'IDET_ZIP': 40010, 'IDET_PARTNER_CITY': 40011, 'IDET_PARTNER_LINK_TEXT': 2085, 'IDC_FOLDER_HAM': 1083, 'IDC_LIST_COUNTRY': 2096, 'IDD_WIZARD_FOLDERS_REST': 117, 'IDC_SHOW_DATA_FOLDER': 1071, 'IDC_BUT_ACT_SCORE': 1018, 'IDET_STATE_SEARCH_NAME': 2100, 'IDET_WEB_SERVER': 2089, '_APS_NEXT_RESOURCE_VALUE': 128, 'ID_SET_WEB_CONNECTION': 2082, 'ID_DROPDOWNLIST_PROTOCOL': 2110, 'IDC_LIST_STATE': 2101, 'IDC_CONTACT_LIST': 2029, 'IDC_SLIDER_CERTAIN': 1023, 'IDET_PARTNER_STREET': 2053, 'IDC_BUT_UNREAD': 1020, 'ID_PARTNER_DROPDOWNLIST': 2032, 'ID_COUNTRY_DROPLIST': 2065, 'IDC_BUT_ABOUT': 1017, 'IDC_BUT_RESCORE': 1008, 'IDC_BUT_SEARCHSUB': 1041, 'IDC_BUT_TRAIN_FROM_SPAM_FOLDER': 1010, 'IDET_PARTNER_MOBILENO': 2050, 'ID_CONTACT_MOBILE_TEXT': 40007, 'IDD_VIEW_PARTNER_DIALOG': 2044, 'IDD_WIZARD_FOLDERS_TRAIN': 120, 'IDC_BUT_FILTER_ENABLE': 1013, 'IDPB_WEB_CONNECTION': 2083, 'IDC_ABOUT_BTN': 1072, 'IDD_WIZARD_FINISHED_TRAINED': 122, 'ID_SERVER': 2001, 'IDD_SELECT_PARTNER': 2073, 'IDET_NC_PARTNER_STATE': 2106, 'IDD_FOLDER_SELECTOR': 105, 'IDC_BUT_SET_SERVER_PORT': 2021, 'ID_DONE': 2008, 'IDC_LIST_FOLDERS': 1040, 'IDC_IMAGE_PATH': 2015, 'IDB_SBWIZLOGO': 125, 'IDB_OPENERPLOGO': 1062, 'ID_ZIP_TEXT': 2068, 'IDEB_OPENDOC_LINK_TEXT': 2086, 'IDD_NEW_PARTNER_DIALOG': 2034, 'ID_PARTNER_DROPLIST': 2069, 'IDC_BUT_VIEW_LOG': 1093, 'IDC_STATUS2': 1044, 'IDC_STATUS1': 1043, 'IDCANCEL': 2, 'IDC_BROWSE_HAM': 1004, 'ID_BUT_TESTCONNECTION': 2007, 'IDR_NETRPC_PROTOCOL': 2043, 'IDC_BROWSE_SPAM': 1005, 'IDCB_WEB_SECURE': 2111, 'IDD_OPEN_DOCUEMNT_DIALOG': 2087, 'IDD_WIZARD_FINISHED_UNTRAINED': 116, 'IDC_MARK_UNSURE_AS_READ': 1051, 'IDPB_SEARCH_COUNTRY1': 2105, 'ID_PARTNER_CITY_TEXT': 2067, 'IDC_BUT_WIZARD': 1070, 'IDC_VERSION': 1009, 'ID_NEW_PARTNER_BUTTON': 2033, 'IDC_FOLDER_NAMES': 1036, 'ID_ATT_METHOD_DROPDOWNLIST': 2025, 'IDC_BUT_TIMER_ENABLED': 1091, 'IDPB_WRITE_CHANGES': 2059, 'IDC_SLIDER_UNSURE': 1029, 'IDC_BUT_NEW': 1046, 'IDC_FOLDER_WATCH': 1038, 'IDPB_CREATE_NEW_PARTNER': 2078, 'IDC_BUT_UNTRAINED': 1088, 'IDC_STATIC_SPAM': 1003, 'IDD_NEW_CONTACT_DIALOG': 2031, 'IDC_EDIT_UNSURE': 1030, 'IDC_BUT_CLEARALL': 1042, 'IDC_BUT_UNSEEN': 1021, 'IDC_OBJECT_NAME': 2014, 'IDD_WIZARD_FOLDERS_WATCH': 118, 'IDPB_SEARCH_STATE': 2103, 'IDET_COUNTRY_SEARCH_NAME': 2095, 'IDC_BUT_SAVE_OBJECT': 2011, 'ID_FED_STATE_DROPLIST': 2064, 'ID_ALL_COUNTRY_DROPDOWNLIST': 2061, 'IDC_EDIT_CERTAIN': 1024, 'IDC_BUT_FILTER_DEFINE': 1016, 'ID_NEW_PART_BUTTON': 2070, 'ID_FAX_TEXT': 2066, 'IDD_WIZARD_TRAINING_IS_IMPORTANT': 123, 'ID_ALL_STATE_DROPDOWNLIST': 2060, 'IDPB_SEARCH_STATE1': 2104, 'IDC_INBOX_TIMER_ONLY': 1060, 'IDPB_SEARCH_PARTNER': 2052, 'ID_USERNAME': 2005, '_APS_NEXT_CONTROL_VALUE': 1096, 'IDC_WIZ_GRAPHIC': 1092, 'IDD_OBJECT_SETTINGS': 2009, 'IDD_FILTER_UNSURE': 111, 'IDC_DEL_SPAM_RS': 1074, 'IDD_SELECT_COUNTRY': 2094, 'ID_SERVER_PORT': 2003, 'IDR_XML_PROTOCOL': 2041, 'IDET_PARTNER_OFFICENO': 2048, 'IDB_FOLDERS': 127, 'IDC_BUT_PREPARATION': 1081, 'ID_STREET2_TEXT': 2063, 'IDC_DELAY2_SLIDER': 1058, 'IDET_PARTNER': 2064, 'IDC_SAVE_SPAM_SCORE': 1048, 'IDC_OBJECT_TITLE': 2013, 'IDC_FOLDER_CERTAIN': 1027, 'IDET_WEB_PORT': 2090, 'IDC_BROWSE_UNSURE': 1034, 'IDC_STATISTICS': 1095, 'IDPB_STATE_SEARCH': 40012, 'ID_MAKE_ATTACHMENT': 2019, 'IDC_BUT_LOAD_IMAGE': 2010, 'IDC_NAME_LIST': 2026, 'IDC_BUT_TRAIN_TO_SPAM_FOLDER': 1011, 'IDET_PARTNER_SEARCH_NAME': 2076, 'IDC_BUT_RESET': 1073, 'ID_SEARCH': 40004, 'IDET_PARTNER_CONTACT_NAME': 2046, 'IDPB_SELECT_STATE': 2102, 'IDC_ACTION_UNSURE': 1031, 'IDD_WIZARD_TRAIN': 121, 'IDC_STATIC_GROUP': 2024, 'IDPB_NEWPARTNER_BUTTON': 2071, 'ID_PARTNER_TEXT': 2079, 'IDD_WIZARD_FINISHED_TRAIN_LATER': 124, 'IDET_PARTNER_NAME': 2045, 'IDPB_NEW_PART_BUTTON': 2093, 'IDC_BUT_REBUILD': 1007, 'IDET_PARTNER_STREET2': 2054, 'IDPB_SEARCH_COUNTRY': 2098, 'ID_SAVE_PARTNER_BUTTON': 2035, 'IDPB_SELECT_PARTNER': 2075, 'ID_STREET_TEXT': 2062, '_APS_NEXT_COMMAND_VALUE': 40001, 'IDET_SEARCH_PARTNER': 2051, 'IDC_LIST_PARTNER': 2072, 'IDD_WEB_SERVER_PORT_DIALOG': 2088, 'ID_PORT': 2002, 'IDD_SERVER_PORT_DIALOG': 2022, 'IDET_PARTNER_STATE': 2062, 'IDPB_SELECT_COUNTRY': 2097, 'ID_SEARCH_TEXT': 40003, 'IDET_NC_PARTNER_COUNTRY': 2108, 'ID_CREATE_CONTACT': 2018, 'IDC_FORWARD_BTN': 1077, 'IDC_TRAINING_STATUS': 1035, 'IDD_WIZARD_WELCOME': 115, 'IDET_PARTNER_FAX': 2058, 'IDC_BUT_TRAIN': 1089, 'IDC_LIST': 2016, 'ID_CREATE_CASE': 2020, 'IDET_PARTNER_EMAIL': 2047, 'IDC_START': 1006, 'IDD_FILTER': 103, 'IDC_RELOAD': 2038, 'ID_PASSWORD': 2006, 'ID_NAME_TEXT': 2030, 'IDC_FILTER_STATUS': 1014, 'IDPB_NC_SEARCH_STATE1': 2107, 'ID_CONTACT_SAVE_BUTTON': 40009, 'IDOK': 1, 'IDC_BROWSE_CERTAIN': 1028, 'IDC_BUT_SHOW_DIAGNOSTICS': 1080, 'IDC_BUT_TRAIN_NOW': 1012, 'IDPB_NC_SEARCH_COUNTRY1': 2109}
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py
index 28244e84fe2..4bafe893704 100644
--- a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py
+++ b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py
@@ -20,6 +20,8 @@
##############################################################################
import xmlrpclib
+import binascii
+import base64
import sys
import socket
import os
@@ -146,6 +148,7 @@ class XMLRpcConn(object):
flag = False
new_msg = ext_msg =""
message_id = referances = None
+ context = {}
try:
session = win32com.client.Dispatch("MAPI.session")
session.Logon('Outlook')
@@ -177,10 +180,10 @@ class XMLRpcConn(object):
for rec in recs: #[('res.partner', 3, 'Agrolait')]
model = rec[0]
res_id = rec[1]
- #Check if mailgate installed
+ #Check if mail installed
object_id = execute ( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=','email.message')])
if not object_id:
- win32ui.MessageBox("Mailgate is not installed on your configured database '%s' !!\n\nPlease install it to archive the mail."%(self._dbname),"Mailgate not installed",win32con.MB_ICONERROR)
+ win32ui.MessageBox("Mail is not installed on your configured database '%s' !!\n\nPlease install it to archive the mail."%(self._dbname),"Mail not installed",win32con.MB_ICONERROR)
return
object_ids = execute ( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=',model)])
object_name = execute( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','read',object_ids,['name'])[0]['name']
@@ -201,14 +204,19 @@ class XMLRpcConn(object):
'message-id':message_id,
'references':ustr(referances),
}
- obj_list= ['crm.lead','project.issue','hr.applicant','res.partner']
- if rec[0] not in obj_list:
- self.CreateEmailAttachment(rec,mail)
result = {}
+ context['thread_model'] = model
if attachments:
result = self.MakeAttachment([rec], mail)
- attachment_ids = result.get(model, {}).get(res_id, [])
- execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'email.thread','history',model, res_id, msg, attachment_ids)
+ execute(conn,'execute',self._dbname,int(self._uid),self._pwd, \
+ 'email.thread','history', [res_id], 'receive', \
+ True, msg.get('subject',False),\
+ msg.get('to'), msg.get('body', False),\
+ msg.get('from'), msg.get('message-id'),\
+ msg.get('references', False), result,\
+ msg.get('cc'), False,\
+ msg.get('date'), context)
+
new_msg += """- {0} : {1}\n""".format(object_name,str(rec[2]))
flag = True
@@ -310,39 +318,28 @@ class XMLRpcConn(object):
return flag
def MakeAttachment(self, recs, mail):
- attachments = mail.Attachments
- result = {}
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- att_folder_path = os.path.abspath(os.path.dirname("%temp%\\"))
- if not os.path.exists(att_folder_path):
+ attachments = mail.Attachments
+ attachment = {}
+ conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
+ att_folder_path = os.path.abspath(os.path.dirname("%temp%\\"))
+ if not os.path.exists(att_folder_path):
os.makedirs(att_folder_path)
for rec in recs: #[('res.partner', 3, 'Agrolait')]
- obj = rec[0]
- obj_id = rec[1]
- res={}
- res['res_model'] = obj
- attachment_ids = []
- if obj not in result:
- result[obj] = {}
- for i in xrange(1, attachments.Count+1):
- fn = ustr(attachments[i].FileName)
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('.')
- fn = f[0][0:l] + '.' + f[-1]
- att_path = os.path.join(att_folder_path,fn)
- attachments[i].SaveAsFile(att_path)
- f=open(att_path,"rb")
- content = "".join(f.readlines()).encode('base64')
- f.close()
- res['name'] = ustr(attachments[i].DisplayName)
- res['datas_fname'] = ustr(fn)
- res['datas'] = content
- res['res_id'] = obj_id
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.attachment','create',res)
- attachment_ids.append(id)
- result[obj].update({obj_id: attachment_ids})
- return result
+ obj = rec[0]
+ obj_id = rec[1]
+ for i in xrange(1, attachments.Count+1):
+ fn = ustr(attachments[i].FileName)
+ if len(fn) > 64:
+ l = 64 - len(fn)
+ f = fn.split('.')
+ fn = f[0][0:l] + '.' + f[-1]
+ att_path = os.path.join(att_folder_path,fn)
+ attachments[i].SaveAsFile(att_path)
+ f=open(att_path,"rb")
+ content = "".join(f.readlines())
+ f.close()
+ attachment[fn] = content
+ return attachment
def CreateContact(self, res=None):
res=eval(str(res))
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index a2123cb287c..4eeb7b2dd9f 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -267,7 +267,7 @@ class pos_order(osv.osv):
'lines': fields.one2many('pos.order.line', 'order_id', 'Order Lines', states={'draft': [('readonly', False)]}, readonly=True),
'price_type': fields.selection([
('tax_excluded','Tax excluded')],
- 'Price method', required=True),
+ 'Price Method', required=True),
'statement_ids': fields.one2many('account.bank.statement.line', 'pos_statement_id', 'Payments', states={'draft': [('readonly', False)]}, readonly=True),
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', required=True, states={'draft': [('readonly', False)]}, readonly=True),
'partner_id': fields.many2one('res.partner', 'Customer', change_default=True, select=1, states={'draft': [('readonly', False)], 'paid': [('readonly', False)]}),
@@ -426,12 +426,15 @@ class pos_order(osv.osv):
move_obj = self.pool.get('stock.move')
pick_name = self.pool.get('ir.sequence').get(cr, uid, 'stock.picking.out')
orders = self.browse(cr, uid, ids, context=context)
+ partner_obj = self.pool.get('res.partner')
for order in orders:
+ addr = order.partner_id and partner_obj.address_get(cr, uid, [order.partner_id.id], ['delivery']) or {}
if not order.picking_id:
new = True
picking_id = picking_obj.create(cr, uid, {
'name': pick_name,
'origin': order.name,
+ 'address_id': addr.get('delivery',False),
'type': 'out',
'state': 'draft',
'move_type': 'direct',
diff --git a/addons/point_of_sale/wizard/pos_box_out.py b/addons/point_of_sale/wizard/pos_box_out.py
index a05c5f579e1..74f1a968bc7 100644
--- a/addons/point_of_sale/wizard/pos_box_out.py
+++ b/addons/point_of_sale/wizard/pos_box_out.py
@@ -72,8 +72,7 @@ class pos_box_out(osv.osv_memory):
vals = {}
statement_obj = self.pool.get('account.bank.statement')
statement_line_obj = self.pool.get('account.bank.statement.line')
- product_obj = self.pool.get('product.template')
- productp_obj = self.pool.get('product.product')
+ product_obj = self.pool.get('product.product')
res_obj = self.pool.get('res.users')
for data in self.read(cr, uid, ids, context=context):
curr_company = res_obj.browse(cr, uid, uid, context=context).company_id.id
@@ -84,8 +83,8 @@ class pos_box_out(osv.osv_memory):
stat_done = statement_obj.browse(cr, uid, done_statmt, context=context)
address_u = res_obj.browse(cr, uid, uid, context=context).address_id
am = 0.0
-
- amount_check = productp_obj.browse(cr, uid, data['product_id'], context=context).am_out or False
+ product = product_obj.browse(cr, uid, data['product_id'], context=context)
+ amount_check = product.am_out or False
for st in stat_done:
for s in st.line_ids:
if address_u and s.partner_id == address_u.partner_id and s.am_out:
@@ -94,9 +93,9 @@ class pos_box_out(osv.osv_memory):
val = (res_obj.browse(cr, uid, uid).company_id.max_diff or 0.0) + am
raise osv.except_osv(_('Error !'), _('The maximum value you can still withdraw is exceeded. \n Remaining value is equal to %d ')%(val))
- acc_id = product_obj.browse(cr, uid, data['product_id'], context=context).property_account_income
+ acc_id = product.property_account_income
if not acc_id:
- raise osv.except_osv(_('Error !'), _('please check that account is set to %s')%(product_obj.browse(cr, uid, data['product_id'], context=context).name))
+ raise osv.except_osv(_('Error !'), _('please check that account is set to %s')%(product.name))
if not statement_id:
raise osv.except_osv(_('Error !'), _('You have to open at least one cashbox'))
if statement_id:
@@ -116,10 +115,10 @@ class pos_box_out(osv.osv_memory):
if data['amount'] > 0:
amount = -data['amount']
vals['amount'] = amount
- if productp_obj.browse(cr, uid, data['product_id'], context=context).am_out:
+ if product.am_out:
vals['am_out'] = True
vals['ref'] = data['ref'] or ''
- vals['name'] = "%s: %s " % (product_obj.browse(cr, uid, data['product_id'], context=context).name, data['name'].decode('utf8'))
+ vals['name'] = "%s: %s " % (product.name, data['name'])
address_u = res_obj.browse(cr, uid, uid, context=context).address_id
if address_u:
vals['partner_id'] = address_u.partner_id and address_u.partner_id.id or None
diff --git a/addons/procurement/i18n/tr.po b/addons/procurement/i18n/tr.po
new file mode 100644
index 00000000000..278c74b1fb4
--- /dev/null
+++ b/addons/procurement/i18n/tr.po
@@ -0,0 +1,906 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-04-25 11:45+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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: procurement
+#: view:make.procurement:0
+msgid "Ask New Products"
+msgstr "Yeni Ürün Oluştur"
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_sched
+msgid "Schedulers"
+msgstr "Zamanlayıcılar"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_make_procurement
+msgid "Make Procurements"
+msgstr "Sipariş Oluştur"
+
+#. module: procurement
+#: help:procurement.order.compute.all,automatic:0
+msgid ""
+"Triggers an automatic procurement for all products that have a virtual stock "
+"under 0. You should probably not use this option, we suggest using a MTO "
+"configuration on products."
+msgstr ""
+"Stok miktarı 0 ın altına inen tüm ürünler için otomatik bir tedarik sürecini "
+"tetikler. Bu seçeneği muhtemelen kullanmamalısınız, ürünler için MTO "
+"ayarlarını kullanmanızı tavsiye ederiz."
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Group By..."
+msgstr "Grupla..."
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Draft procurement of the product and location of that orderpoint"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:288
+#, python-format
+msgid "No supplier defined for this product !"
+msgstr "Bu ürün için tedarikçi tanımı bulunamadı!"
+
+#. module: procurement
+#: field:make.procurement,uom_id:0
+msgid "Unit of Measure"
+msgstr "Ölçü Birimi"
+
+#. module: procurement
+#: field:procurement.order,procure_method:0
+msgid "Procurement Method"
+msgstr "Satınalma Yöntemi"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:298
+#, python-format
+msgid "No address defined for the supplier"
+msgstr "Bu tedarikçi için bir adres tanımı bulunamadı!"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_procurement_compute
+msgid "Compute Stock Minimum Rules Only"
+msgstr "Sadece Minimum Stok Kuralını Hesapla"
+
+#. module: procurement
+#: field:procurement.order,company_id:0
+#: field:stock.warehouse.orderpoint,company_id:0
+msgid "Company"
+msgstr "Firma"
+
+#. module: procurement
+#: field:procurement.order,product_uos_qty:0
+msgid "UoS Quantity"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,name:0
+msgid "Reason"
+msgstr "Sebep"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "Compute Procurements"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,message:0
+msgid "Latest error"
+msgstr "Son Hata"
+
+#. module: procurement
+#: help:mrp.property,composition:0
+msgid "Not used in computations, for information purpose only."
+msgstr "Sadece bilgi amaçlıdır, hesaplamalarda kullanılmaz."
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_id:0
+msgid "Latest procurement"
+msgstr "Son satınalma"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Notes"
+msgstr "Notlar"
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "on order"
+msgstr "Sipariş"
+
+#. module: procurement
+#: help:procurement.order,message:0
+msgid "Exception occurred while computing procurement orders."
+msgstr "Satınalma emirlerini işlerken bir istisna oluştu."
+
+#. module: procurement
+#: help:procurement.order,state:0
+msgid ""
+"When a procurement is created the state is set to 'Draft'.\n"
+" If the procurement is confirmed, the state is set to 'Confirmed'. "
+" \n"
+"After confirming the state is set to 'Running'.\n"
+" If any exception arises in the order then the state is set to 'Exception'.\n"
+" Once the exception is removed the state becomes 'Ready'.\n"
+" It is in 'Waiting'. state when the procurement is waiting for another one "
+"to finish."
+msgstr ""
+"Satınalma ilk 'Taslak' durumunda oluşturulur.\n"
+" Satınalma onaylandığında durumu 'Onaylandı' olur. \n"
+"Onaylandıktan sonra durumu 'Yolda' olur.\n"
+" Bir istisna oluşursa durumu 'İstisna' olur.\n"
+" İstisna kaldırıldıktan sonra 'Hazır' durumuna geçer.\n"
+" Başka bir satınalmanın tamamlanmasını bekliyorsa 'Beklemede' durumundadır."
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules Search"
+msgstr "Minimum Stok Kuralı Arama"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_min_qty:0
+msgid ""
+"When the virtual stock goes belong the Min Quantity, OpenERP generates a "
+"procurement to bring the virtual stock to the Max Quantity."
+msgstr ""
+"Stok Min. Değer altına indiğinde, OpenERP stoğu Max. Değere getirecek bir "
+"satınalma oluşturur."
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid "Scheduler Parameters"
+msgstr "Zamanlayıcı Parametreleri"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_move
+msgid "Stock Move"
+msgstr "Stok Hareketi"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Planification"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Ready"
+msgstr "Hazır"
+
+#. module: procurement
+#: field:procurement.order.compute.all,automatic:0
+msgid "Automatic orderpoint"
+msgstr "Otomatik Sipariş Noktası"
+
+#. module: procurement
+#: field:mrp.property,composition:0
+msgid "Properties composition"
+msgstr "Özellik Birleşimi"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Confirmed"
+msgstr "Onaylandı"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Retry"
+msgstr "Yeniden Dene"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+#: view:procurement.orderpoint.compute:0
+msgid "Parameters"
+msgstr "Parametreler"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Confirm"
+msgstr "Onayla"
+
+#. module: procurement
+#: help:procurement.order,origin:0
+msgid ""
+"Reference of the document that created this Procurement.\n"
+"This is automatically completed by OpenERP."
+msgstr ""
+"Open ERP, bu satınalmayı başlatan belgeyi otomatik olarak kapamıştır."
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Procurement Orders to Process"
+msgstr ""
+
+#. module: procurement
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Hata! İç içe tekrarlayan şirketler seçemezsiniz."
+
+#. module: procurement
+#: field:procurement.order,priority:0
+msgid "Priority"
+msgstr "Öncelik"
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,state:0
+msgid "State"
+msgstr "Durum"
+
+#. module: procurement
+#: field:procurement.order,location_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,location_id:0
+msgid "Location"
+msgstr "Lokasyon"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_picking
+msgid "Picking List"
+msgstr "Paket Listesi"
+
+#. module: procurement
+#: field:make.procurement,warehouse_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,warehouse_id:0
+msgid "Warehouse"
+msgstr "Depo"
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Best price (not yet active!)"
+msgstr "En İyi Fiyat(Henüz aktif değil)"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Product & Location"
+msgstr "Ürün & Lokasyon Bilgisi"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute
+msgid "Compute Procurement"
+msgstr "Satınalmayı Hesapla"
+
+#. module: procurement
+#: model:ir.module.module,shortdesc:procurement.module_meta_information
+#: field:stock.move,procurements:0
+msgid "Procurements"
+msgstr "Satınalmalar"
+
+#. module: procurement
+#: field:res.company,schedule_range:0
+msgid "Scheduler Range Days"
+msgstr "Zamanlayıcı Gün Aralığı"
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_action
+msgid ""
+"A procurement order is used to record a need for a specific product at a "
+"specific location. A procurement order is usually created automatically from "
+"sales orders, a Pull Logistics rule or Minimum Stock Rules. When the "
+"procurement order is confirmed, it automatically creates the necessary "
+"operations to fullfil the need: purchase order proposition, manufacturing "
+"order, etc."
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,date_planned:0
+msgid "Planned Date"
+msgstr "Planlanan Tarih"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Group By"
+msgstr "Grupla"
+
+#. module: procurement
+#: field:make.procurement,qty:0
+#: field:procurement.order,product_qty:0
+msgid "Quantity"
+msgstr "Miktar"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:370
+#, python-format
+msgid "Not enough stock and no minimum orderpoint rule defined."
+msgstr "Yeterli stok yok ve minimum sipariş noktası kuralı tanımlı değil!"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:137
+#, python-format
+msgid "Invalid action !"
+msgstr "Geçersiz eylem !"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "References"
+msgstr "Referanslar"
+
+#. module: procurement
+#: view:res.company:0
+msgid "Configuration"
+msgstr "Yapılandırma"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,qty_multiple:0
+msgid "Qty Multiple"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,procure_method:0
+msgid ""
+"If you encode manually a Procurement, you probably want to use a make to "
+"order method."
+msgstr ""
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement
+msgid "Automatic Procurements"
+msgstr "Otomatik Satınalmalar"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_max_qty:0
+msgid "Max Quantity"
+msgstr "Max Miktar"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order
+#: model:process.process,name:procurement.process_process_procurementprocess0
+#: view:procurement.order:0
+msgid "Procurement"
+msgstr "Satınalma"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action
+msgid "Procurement Orders"
+msgstr "Satınalma Siparişleri"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "To Fix"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Exceptions"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_serviceonorder0
+msgid "Assignment from Production or Purchase Order."
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property
+msgid "Property"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_make_procurement
+#: view:make.procurement:0
+msgid "Procurement Request"
+msgstr "Satınalma İsteği"
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid "Compute Stock"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Late"
+msgstr "Geç"
+
+#. module: procurement
+#: model:process.process,name:procurement.process_process_serviceproductprocess0
+msgid "Service"
+msgstr "Hizmet"
+
+#. module: procurement
+#: model:ir.module.module,description:procurement.module_meta_information
+msgid ""
+"\n"
+" This is the module for computing Procurements.\n"
+" "
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Related Procurement Orders"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid ""
+"Wizard checks all the stock minimum rules and generate procurement order."
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_min_qty:0
+msgid "Min Quantity"
+msgstr "Min. Miktar"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Urgent"
+msgstr "Acil"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "plus"
+msgstr "artı"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:319
+#, python-format
+msgid ""
+"Please check the Quantity in Procurement Order(s), it should not be less "
+"than 1!"
+msgstr ""
+"Lütfen satınalma sipariş(ler)indeki miktarı kontrol ediniz, 1 günden az "
+"olamaz!"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the "
+"orderpoint without removing it."
+msgstr ""
+"Seçili alan 'False' ise, satınalma noktasını kaldırmadan gizlemenize izin "
+"verecektir."
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_max_qty:0
+msgid ""
+"When the virtual stock goes belong the Max Quantity, OpenERP generates a "
+"procurement to bring the virtual stock to the Max Quantity."
+msgstr ""
+
+#. module: procurement
+#: help:procurement.orderpoint.compute,automatic:0
+msgid "If the stock of a product is under 0, it will act like an orderpoint"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Lines"
+msgstr "Satınalma Kalemleri"
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid ""
+"This wizard allows you to run all procurement, production and/or purchase "
+"orders that should be processed based on their configuration. By default, "
+"the scheduler is launched automatically every night by OpenERP. You can use "
+"this menu to force it to be launched now. Note that it runs in the "
+"background, you may have to wait for a few minutes until it has finished "
+"computing."
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,note:0
+msgid "Note"
+msgstr "Not"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Draft"
+msgstr "Taslak"
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "This wizard will schedule procurements."
+msgstr "Bu sihirbaz satınalmaları zamanlayacaktır."
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Status"
+msgstr "Durum"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Normal"
+msgstr "Normal"
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr "Aynı üründen olmayan bir sarf atamaya çalışıyorsunuz"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,active:0
+msgid "Active"
+msgstr "Aktif"
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_procureproducts0
+msgid "Procure Products"
+msgstr "Ürünleri Satınal"
+
+#. module: procurement
+#: field:procurement.order,date_planned:0
+msgid "Scheduled date"
+msgstr "Planlanan Tarih"
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:179
+#, python-format
+msgid "Automatic OP: %s"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_orderpoint_compute
+msgid "Automatic Order Point"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Extra Information"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,name:0
+msgid "Procurement name."
+msgstr ""
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Reason"
+msgstr ""
+
+#. module: procurement
+#: sql_constraint:stock.warehouse.orderpoint:0
+msgid "Qty Multiple must be greater than zero."
+msgstr ""
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Order to Max"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,date_close:0
+msgid "Date Closed"
+msgstr "Kapanış Tarihi"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:372
+#, python-format
+msgid "Procurement '%s' is in exception: not enough stock."
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:138
+#, python-format
+msgid "Cannot delete Procurement Order(s) which are in %s State!"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:318
+#, python-format
+msgid "Data Insufficient !"
+msgstr "Yetersiz Bilgi !"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property_group
+#: field:mrp.property,group_id:0
+#: field:mrp.property.group,name:0
+msgid "Property Group"
+msgstr "Özellik Grubu"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Misc"
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Locations"
+msgstr "Lokasyonlar"
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "from stock"
+msgstr "Stoktan"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "General Information"
+msgstr "Genel Bilgi"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Run Procurement"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Done"
+msgstr "Tamamlandı"
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,qty_multiple:0
+msgid "The procurement quantity will by rounded up to this multiple."
+msgstr ""
+
+#. module: procurement
+#: view:make.procurement:0
+#: view:procurement.order:0
+#: selection:procurement.order,state:0
+#: view:procurement.order.compute:0
+#: view:procurement.order.compute.all:0
+#: view:procurement.orderpoint.compute:0
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,logic:0
+msgid "Reordering Mode"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,origin:0
+msgid "Source Document"
+msgstr "Kaynak Belge"
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Not urgent"
+msgstr "Acil Değil"
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute_all
+msgid "Compute all schedulers"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Current"
+msgstr "Mevcut"
+
+#. module: procurement
+#: view:board.board:0
+msgid "Procurements in Exception"
+msgstr "İstisnai Satınalmalar"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Details"
+msgstr "Detaylar"
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action5
+#: model:ir.actions.act_window,name:procurement.procurement_action_board
+#: model:ir.actions.act_window,name:procurement.procurement_exceptions
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
+msgid "Procurement Exceptions"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_product_product_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_stock_warehouse_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.action_orderpoint_form
+#: model:ir.ui.menu,name:procurement.menu_stock_order_points
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,close_move:0
+msgid "Close Move at end"
+msgstr "Son Hareketi Kapat"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Scheduled Date"
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,product_id:0
+#: view:procurement.order:0
+#: field:procurement.order,product_id:0
+#: field:stock.warehouse.orderpoint,product_id:0
+msgid "Product"
+msgstr "Ürün"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Temporary"
+msgstr "Geçici"
+
+#. module: procurement
+#: field:mrp.property,description:0
+#: field:mrp.property.group,description:0
+msgid "Description"
+msgstr "Açıklama"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "min"
+msgstr "dk"
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Quantity Rules"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Running"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_uom:0
+msgid "Product UOM"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_serviceonorder0
+msgid "Make to Order"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "UOM"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Waiting"
+msgstr "Beklemede"
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.action_orderpoint_form
+msgid ""
+"You can define your minimum stock rules, so that OpenERP will automatically "
+"create draft manufacturing orders or purchase quotations according to the "
+"stock level. Once the virtual stock of a product (= stock on hand minus all "
+"confirmed orders and reservations) is below the minimum quantity, OpenERP "
+"will generate a procurement request to increase the stock up to the maximum "
+"quantity."
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,move_id:0
+msgid "Reservation"
+msgstr "Rezervasyon"
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_procureproducts0
+msgid "The way to procurement depends on the product type."
+msgstr ""
+
+#. module: procurement
+#: view:make.procurement:0
+msgid ""
+"This wizard will plan the procurement for this product. This procurement may "
+"generate task, production orders or purchase orders."
+msgstr ""
+
+#. module: procurement
+#: view:res.company:0
+msgid "MRP & Logistics Scheduler"
+msgstr ""
+
+#. module: procurement
+#: field:mrp.property,name:0
+#: field:stock.warehouse.orderpoint,name:0
+msgid "Name"
+msgstr "Ad"
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "max"
+msgstr "maks"
+
+#. module: procurement
+#: field:procurement.order,product_uos:0
+msgid "Product UoS"
+msgstr "Stok 2.Birim"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:347
+#, python-format
+msgid "from stock: products assigned."
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_compute_schedulers
+#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
+#: view:procurement.order.compute.all:0
+msgid "Compute Schedulers"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_exceptions
+msgid ""
+"Procurement Orders represent the need for a certain quantity of products, at "
+"a given time, in a given location. Sales Orders are one typical source of "
+"Procurement Orders (but these are distinct documents). Depending on the "
+"procurement parameters and the product configuration, the procurement engine "
+"will attempt to satisfy the need by reserving products from stock, ordering "
+"products from a supplier, or passing a manufacturing order, etc. A "
+"Procurement Exception occurs when the system cannot find a way to fulfill a "
+"procurement. Some exceptions will resolve themselves automatically, but "
+"others require manual intervention (those are identified by a specific error "
+"message)."
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,product_uom:0
+msgid "Product UoM"
+msgstr "Birim"
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Search Procurement"
+msgstr ""
+
+#. module: procurement
+#: help:res.company,schedule_range:0
+msgid ""
+"This is the time frame analysed by the scheduler when computing "
+"procurements. All procurements that are not between today and today+range "
+"are skipped for future computation."
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Very Urgent"
+msgstr "Çok Acil"
+
+#. module: procurement
+#: field:procurement.orderpoint.compute,automatic:0
+msgid "Automatic Orderpoint"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Details"
+msgstr "Satınalma Detayları"
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:180
+#, python-format
+msgid "SCHEDULER"
+msgstr "ZAMANLAYICI"
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 3257f0a5694..1f808f2bef6 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -512,13 +512,13 @@ class stock_warehouse_orderpoint(osv.osv):
'product_id': fields.many2one('product.product', 'Product', required=True, ondelete='cascade', domain=[('type','=','product')]),
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
'product_min_qty': fields.float('Min Quantity', required=True,
- help="When the virtual stock goes belong the Min Quantity, OpenERP generates "\
+ help="When the virtual stock goes below the Min Quantity specified for this field, OpenERP generates "\
"a procurement to bring the virtual stock to the Max Quantity."),
'product_max_qty': fields.float('Max Quantity', required=True,
- help="When the virtual stock goes belong the Max Quantity, OpenERP generates "\
- "a procurement to bring the virtual stock to the Max Quantity."),
+ help="When the virtual stock goes below the Min Quantity, OpenERP generates "\
+ "a procurement to bring the virtual stock to the Quantity specified as Max Quantity."),
'qty_multiple': fields.integer('Qty Multiple', required=True,
- help="The procurement quantity will by rounded up to this multiple."),
+ help="The procurement quantity will be rounded up to this multiple."),
'procurement_id': fields.many2one('procurement.order', 'Latest procurement', ondelete="set null"),
'company_id': fields.many2one('res.company','Company',required=True),
'procurement_draft_ids': fields.function(_get_draft_procurements, method=True, type='many2many', relation="procurement.order", \
diff --git a/addons/profile_tools/i18n/ru.po b/addons/profile_tools/i18n/ru.po
new file mode 100644
index 00000000000..f5206b9b282
--- /dev/null
+++ b/addons/profile_tools/i18n/ru.po
@@ -0,0 +1,144 @@
+# Russian 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-04-23 20:51+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Russian \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-24 04:37+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
+
+#. module: profile_tools
+#: help:misc_tools.installer,idea:0
+msgid "Promote ideas of the employees, votes and discussion on best ideas."
+msgstr ""
+
+#. module: profile_tools
+#: help:misc_tools.installer,share:0
+msgid ""
+"Allows you to give restricted access to your OpenERP documents to external "
+"users, such as customers, suppliers, or accountants. You can share any "
+"OpenERP Menu such as your project tasks, support requests, invoices, etc."
+msgstr ""
+
+#. module: profile_tools
+#: help:misc_tools.installer,lunch:0
+msgid "A simple module to help you to manage Lunch orders."
+msgstr ""
+
+#. module: profile_tools
+#: field:misc_tools.installer,subscription:0
+msgid "Recurring Documents"
+msgstr "Повторяющийся документ"
+
+#. module: profile_tools
+#: model:ir.model,name:profile_tools.model_misc_tools_installer
+msgid "misc_tools.installer"
+msgstr "misc_tools.installer"
+
+#. module: profile_tools
+#: model:ir.module.module,description:profile_tools.module_meta_information
+msgid ""
+"Installs tools for lunch,survey,subscription and audittrail\n"
+" module\n"
+" "
+msgstr ""
+
+#. module: profile_tools
+#: view:misc_tools.installer:0
+msgid ""
+"Extra Tools are applications that can help you improve your organization "
+"although they are not key for company management."
+msgstr ""
+
+#. module: profile_tools
+#: view:misc_tools.installer:0
+msgid "Configure"
+msgstr "Настройки"
+
+#. module: profile_tools
+#: help:misc_tools.installer,survey:0
+msgid "Allows you to organize surveys."
+msgstr "Позволяет организовать опросы."
+
+#. module: profile_tools
+#: model:ir.module.module,shortdesc:profile_tools.module_meta_information
+msgid "Miscellaneous Tools"
+msgstr "Разные инструменты"
+
+#. module: profile_tools
+#: help:misc_tools.installer,pad:0
+msgid ""
+"This module creates a tighter integration between a Pad instance of your "
+"choosing and your OpenERP Web Client by letting you easily link pads to "
+"OpenERP objects via OpenERP attachments."
+msgstr ""
+
+#. module: profile_tools
+#: field:misc_tools.installer,lunch:0
+msgid "Lunch"
+msgstr ""
+
+#. module: profile_tools
+#: view:misc_tools.installer:0
+msgid "Extra Tools Configuration"
+msgstr "Дополнительные инструменты настройки"
+
+#. module: profile_tools
+#: field:misc_tools.installer,idea:0
+msgid "Ideas Box"
+msgstr ""
+
+#. module: profile_tools
+#: help:misc_tools.installer,subscription:0
+msgid "Helps to generate automatically recurring documents."
+msgstr "Помогает генерировать автоматически повторяющиеся документы."
+
+#. module: profile_tools
+#: model:ir.actions.act_window,name:profile_tools.action_misc_tools_installer
+msgid "Tools Configuration"
+msgstr "Средства настройки"
+
+#. module: profile_tools
+#: field:misc_tools.installer,pad:0
+msgid "Collaborative Note Pads"
+msgstr ""
+
+#. module: profile_tools
+#: field:misc_tools.installer,survey:0
+msgid "Survey"
+msgstr "Опрос"
+
+#. module: profile_tools
+#: view:misc_tools.installer:0
+msgid "Configure Extra Tools"
+msgstr "Настроить дополнительные инструменты"
+
+#. module: profile_tools
+#: field:misc_tools.installer,progress:0
+msgid "Configuration Progress"
+msgstr "Настройка выполняется"
+
+#. module: profile_tools
+#: field:misc_tools.installer,config_logo:0
+msgid "Image"
+msgstr "Изображение"
+
+#. module: profile_tools
+#: view:misc_tools.installer:0
+msgid "title"
+msgstr ""
+
+#. module: profile_tools
+#: field:misc_tools.installer,share:0
+msgid "Web Share"
+msgstr ""
diff --git a/addons/project/i18n/ro.po b/addons/project/i18n/ro.po
index 16683f155ea..5f70f4580e6 100644
--- a/addons/project/i18n/ro.po
+++ b/addons/project/i18n/ro.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2009-02-03 06:25+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-04-26 18:27+0000\n"
+"Last-Translator: Dorin \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:38+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"
#. module: project
#: model:ir.actions.act_window,name:project.act_res_users_2_project_task_opened
msgid "Assigned tasks"
-msgstr ""
+msgstr "Sarcini atribuite"
#. module: project
#: help:project.task.delegate,new_task_description:0
@@ -59,7 +59,7 @@ msgstr ""
#: code:addons/project/project.py:121
#, python-format
msgid "Operation Not Permitted !"
-msgstr ""
+msgstr "Operație nepermisă !"
#. module: project
#: code:addons/project/wizard/project_task_delegate.py:67
@@ -102,7 +102,7 @@ msgstr ""
#: view:report.project.task.user:0
#: field:report.project.task.user,progress:0
msgid "Progress"
-msgstr ""
+msgstr "Progres"
#. module: project
#: help:project.task,remaining_hours:0
@@ -129,7 +129,7 @@ msgstr ""
#. module: project
#: field:project.project,members:0
msgid "Project Members"
-msgstr ""
+msgstr "Membrii proiectului"
#. module: project
#: model:process.node,name:project.process_node_taskbydelegate0
@@ -139,7 +139,7 @@ msgstr ""
#. module: project
#: selection:report.project.task.user,month:0
msgid "March"
-msgstr ""
+msgstr "Matrie"
#. module: project
#: view:project.task:0
@@ -161,7 +161,7 @@ msgstr ""
#. module: project
#: view:project.task:0
msgid "My Tasks"
-msgstr ""
+msgstr "Sarcinile mele"
#. module: project
#: constraint:project.task:0
@@ -174,7 +174,7 @@ msgstr ""
#: view:report.project.task.user:0
#: field:report.project.task.user,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Firma"
#. module: project
#: field:project.installer,project_scrum:0
@@ -194,7 +194,7 @@ msgstr ""
#. module: project
#: field:project.task.type,name:0
msgid "Stage Name"
-msgstr ""
+msgstr "Numele etapei"
#. module: project
#: model:process.transition.action,name:project.process_transition_action_openpendingtask0
@@ -238,7 +238,7 @@ msgstr ""
#: field:report.project.task.user,day:0
#: field:task.by.days,day:0
msgid "Day"
-msgstr ""
+msgstr "Zi"
#. module: project
#: code:addons/project/project.py:571
@@ -261,12 +261,12 @@ msgstr ""
#: field:project.task.work,task_id:0
#: view:report.project.task.user:0
msgid "Task"
-msgstr ""
+msgstr "Sarcină"
#. module: project
#: view:project.project:0
msgid "Members"
-msgstr ""
+msgstr "Membrii"
#. module: project
#: help:project.task,planned_hours:0
@@ -285,7 +285,7 @@ msgstr ""
#: view:project.task:0
#: field:project.task,notes:0
msgid "Notes"
-msgstr ""
+msgstr "Notițe"
#. module: project
#: view:project.vs.hours:0
@@ -310,7 +310,7 @@ msgstr ""
#. module: project
#: view:project.task:0
msgid "Start Task"
-msgstr ""
+msgstr "Start sarcină"
#. module: project
#: help:project.installer,project_timesheet:0
@@ -331,7 +331,7 @@ msgstr ""
#: selection:report.project.task.user,state:0
#: selection:task.by.days,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Anulat"
#. module: project
#: view:board.board:0
@@ -375,12 +375,12 @@ msgstr ""
#: field:project.task,date_end:0
#: field:report.project.task.user,date_end:0
msgid "Ending Date"
-msgstr ""
+msgstr "Data de sfârşit"
#. module: project
#: view:report.project.task.user:0
msgid " Month "
-msgstr ""
+msgstr " Lună "
#. module: project
#: model:process.transition,note:project.process_transition_delegate0
@@ -392,7 +392,7 @@ msgstr ""
#: view:project.task:0
#: view:report.project.task.user:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupează după..."
#. module: project
#: help:project.task,effective_hours:0
@@ -409,12 +409,12 @@ msgstr ""
#. module: project
#: model:ir.model,name:project.model_res_users
msgid "res.users"
-msgstr ""
+msgstr "res.users"
#. module: project
#: model:project.task.type,name:project.project_tt_testing
msgid "Testing"
-msgstr ""
+msgstr "Testare"
#. module: project
#: help:project.task.delegate,planned_hours:0
@@ -436,31 +436,31 @@ msgstr ""
#: model:ir.model,name:project.model_account_analytic_account
#: field:project.project,analytic_account_id:0
msgid "Analytic Account"
-msgstr ""
+msgstr "Cont analitic"
#. module: project
#: field:project.task.work,user_id:0
msgid "Done by"
-msgstr ""
+msgstr "Realizat de"
#. module: project
#: view:project.task:0
msgid "Planning"
-msgstr ""
+msgstr "Planificare"
#. module: project
#: view:project.task:0
#: field:project.task,date_deadline:0
#: field:report.project.task.user,date_deadline:0
msgid "Deadline"
-msgstr ""
+msgstr "Termen-limită"
#. module: project
#: view:project.task.close:0
#: view:project.task.delegate:0
#: view:project.task.reevaluate:0
msgid "_Cancel"
-msgstr ""
+msgstr "_Renunță"
#. module: project
#: model:ir.model,name:project.model_res_partner
@@ -469,7 +469,7 @@ msgstr ""
#: view:report.project.task.user:0
#: field:report.project.task.user,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partener"
#. module: project
#: constraint:account.analytic.account:0
diff --git a/addons/project/project.py b/addons/project/project.py
index 134364d8b1a..7fbe39219a8 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -405,12 +405,6 @@ class task(osv.osv):
default.update({'name':new_name})
return super(task, self).copy_data(cr, uid, id, default, context)
- def _check_dates(self, cr, uid, ids, context=None):
- task = self.read(cr, uid, ids[0], ['date_start', 'date_end'])
- if task['date_start'] and task['date_end']:
- if task['date_start'] > task['date_end']:
- return False
- return True
def _is_template(self, cr, uid, ids, field_name, arg, context=None):
res = {}
diff --git a/addons/project/wizard/email_compose_message.py b/addons/project/wizard/email_compose_message.py
index 68445661716..921cbf1b081 100644
--- a/addons/project/wizard/email_compose_message.py
+++ b/addons/project/wizard/email_compose_message.py
@@ -27,6 +27,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)
@@ -54,9 +61,9 @@ class email_compose_message(osv.osv_memory):
if partner and len(partner.address):
result.update({'email_to': result.get('email_to',False) and result.get('email_to') + ',' + partner.address[0].email})
result.update({
- 'description': description or False,
+ 'body': description or False,
'email_to': task_data.project_id.user_id and task_data.project_id.user_id.user_email or False,
- 'name': _("Task '%s' Closed") % task_data.name,
+ 'subject': _("Task '%s' Closed") % task_data.name,
'model': model,
'res_id': resource_id,
})
diff --git a/addons/project_gtd/wizard/project_gtd_empty_view.xml b/addons/project_gtd/wizard/project_gtd_empty_view.xml
index b39391728a4..b7ebeb1bd00 100644
--- a/addons/project_gtd/wizard/project_gtd_empty_view.xml
+++ b/addons/project_gtd/wizard/project_gtd_empty_view.xml
@@ -10,9 +10,10 @@
diff --git a/addons/project_gtd/wizard/project_gtd_fill_view.xml b/addons/project_gtd/wizard/project_gtd_fill_view.xml
index 6206a0a5d89..41b99eb1b1e 100644
--- a/addons/project_gtd/wizard/project_gtd_fill_view.xml
+++ b/addons/project_gtd/wizard/project_gtd_fill_view.xml
@@ -11,6 +11,7 @@
+
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index fb759da3868..5bbd94c5a34 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -28,8 +28,6 @@ import time
import tools
from crm import wizard
-wizard.email_compose_message.email_model.append('project.issue')
-
class project_issue_version(osv.osv):
_name = "project.issue.version"
_order = "name desc"
@@ -45,7 +43,7 @@ project_issue_version()
class project_issue(crm.crm_case, osv.osv):
_name = "project.issue"
_description = "Project Issue"
- _order = "priority, id desc"
+ _order = "priority, create_date desc"
_inherit = ['email.thread']
def case_open(self, cr, uid, ids, *args):
@@ -214,7 +212,7 @@ class project_issue(crm.crm_case, osv.osv):
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
method=True, multi='compute_day', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \
- method=True, multi='working_days_close', type="float", store=True),
+ method=True, multi='compute_day', type="float", store=True),
'message_ids': fields.one2many('email.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
@@ -374,7 +372,7 @@ class project_issue(crm.crm_case, osv.osv):
else:
raise osv.except_osv(_('Warning !'), _('You cannot escalate this issue.\nThe relevant Project has not configured the Escalation Project!'))
self.write(cr, uid, [case.id], data)
- self._history(cr, uid, cases, _('Escalate'))
+ self.history(cr, uid, cases, _('Escalate'))
return True
def message_new(self, cr, uid, msg, context=None):
@@ -408,9 +406,23 @@ class project_issue(crm.crm_case, osv.osv):
if res:
vals.update(res)
context.update({'state_to' : 'draft'})
- res = self.create(cr, uid, vals, context=context)
- self.convert_to_bug(cr, uid, [res], context=context)
- return res
+
+ 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)
+ self.convert_to_bug(cr, uid, [res_id], context=context)
+ return res_id
def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None):
"""
@@ -453,6 +465,19 @@ class project_issue(crm.crm_case, osv.osv):
vals.update(vls)
res = self.write(cr, uid, ids, vals)
+
+ 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 copy(self, cr, uid, id, default=None, context=None):
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 054a332b992..b861a7f2f20 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -142,7 +142,6 @@
icon="terp-document-new" type="action" />
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
index 14dc8617757..6b56a254a4a 100644
--- a/addons/project_issue/report/project_issue_report.py
+++ b/addons/project_issue/report/project_issue_report.py
@@ -101,8 +101,9 @@ class project_issue_report(osv.osv):
c.task_id,
date_trunc('day',c.create_date) as create_date,
extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open,
- extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close,
+ extract('epoch' from (c.date_closed-c.date_open))/(3600*24) as delay_close,
(SELECT count(id) FROM email_message WHERE model='project.issue' AND res_id=c.id) AS email
+
FROM
project_issue c
WHERE c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
diff --git a/addons/project_issue/wizard/__init__.py b/addons/project_issue/wizard/__init__.py
new file mode 100644
index 00000000000..51d4faa47d6
--- /dev/null
+++ b/addons/project_issue/wizard/__init__.py
@@ -0,0 +1,25 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (). 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 .
+#
+##############################################################################
+
+import email_compose_message
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_issue/wizard/email_compose_message.py b/addons/project_issue/wizard/email_compose_message.py
new file mode 100644
index 00000000000..df1133245d2
--- /dev/null
+++ b/addons/project_issue/wizard/email_compose_message.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-Today OpenERP SA ()
+#
+# 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
+#
+##############################################################################
+
+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 == 'project.issue' 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:
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index c2bc55db212..4620fc81a7a 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -731,6 +731,7 @@ class project_task(osv.osv):
task = self.browse(cr, uid, task_id, context=context)
duration = str(task.planned_hours )+ 'H'
str_resource = False
+ parent = task.parent_ids
if task.phase_id.resource_ids:
str_resource = ('%s | '*len(task.phase_id.resource_ids))[:-2]
str_resource = str_resource % tuple(map(lambda x: 'Resource_%s'%x.resource_id.id, task.phase_id.resource_ids))
@@ -742,7 +743,10 @@ class project_task(osv.osv):
effort = \'%s\'
resource = %s
'''%(task.id, task.name, duration, str_resource)
- #start = datetime.strftime((datetime.strptime(start, "%Y-%m-%d")), "%Y-%m-%d")
+ if parent:
+ s +='''
+ start = up.Task_%s.end
+'''%(parent[0].id)
else:
s = '''
def Task_%s():
@@ -750,6 +754,10 @@ class project_task(osv.osv):
effort = \'%s\'
resource = %s
'''%(task.id, task.name, duration, str_resource)
+ if parent:
+ s +='''
+ start = up.Task_%s.end
+'''%(parent[0].id)
s += '\n'
return s
project_task()
diff --git a/addons/project_mailgate/i18n/it.po b/addons/project_mailgate/i18n/it.po
index 971b25adfc3..496ea120808 100644
--- a/addons/project_mailgate/i18n/it.po
+++ b/addons/project_mailgate/i18n/it.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-13 23:08+0000\n"
-"Last-Translator: Nicola Riolini - Micronaet \n"
+"PO-Revision-Date: 2011-04-22 09:54+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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:57+0000\n"
-"X-Generator: Launchpad (build 12177)\n"
+"X-Launchpad-Export-Date: 2011-04-23 04:53+0000\n"
+"X-Generator: Launchpad (build 12758)\n"
#. module: project_mailgate
#: view:project.task:0
msgid "History Information"
-msgstr ""
+msgstr "Storico informazioni"
#. module: project_mailgate
#: model:ir.model,name:project_mailgate.model_project_task
@@ -87,13 +87,13 @@ msgstr "Annulla"
#: code:addons/project_mailgate/project_mailgate.py:143
#, python-format
msgid "Done"
-msgstr ""
+msgstr "Completato"
#. module: project_mailgate
#: code:addons/project_mailgate/project_mailgate.py:129
#, python-format
msgid "Open"
-msgstr ""
+msgstr "Apri"
#. module: project_mailgate
#: code:addons/project_mailgate/project_mailgate.py:135
diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py
index 29c813b5d8a..cea05b3fa44 100644
--- a/addons/project_mailgate/project_mailgate.py
+++ b/addons/project_mailgate/project_mailgate.py
@@ -52,9 +52,24 @@ class project_tasks(osv.osv):
res = thread_obj.get_partner(cr, uid, msg_from)
if res:
data.update(res)
- return self.create(cr, uid, data)
+ res_id = self.create(cr, uid, vals, context)
- def message_update(self, cr, uid, id, msg, data={}, default_act='pending'):
+ 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, data={}, default_act='pending'):
thread_obj = self.pool.get('email.thread')
msg_actions, body_data = thread_obj.msg_act_get(msg)
data.update({
@@ -75,8 +90,21 @@ class project_tasks(osv.osv):
if msg_actions['priority'] in ('1','2','3','4','5'):
data['priority'] = msg_actions['priority']
- self.write(cr, uid, [id], data)
- getattr(self,act)(cr, uid, [id])
+ self.write(cr, uid, ids, data)
+ getattr(self,act)(cr, uid, ids)
+
+ 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 True
def thread_followers(self, cr, uid, ids, context=None):
@@ -92,30 +120,22 @@ class project_tasks(osv.osv):
return len(res) and res[0] or False
return res
- 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 do_draft(self, cr, uid, ids, *args, **kwargs):
res = super(project_tasks, self).do_draft(cr, uid, ids, *args, **kwargs)
tasks = self.browse(cr, uid, ids)
- self._history(cr, uid, tasks, _('Draft'))
+ self.history(cr, uid, tasks, _('Draft'))
return res
def do_open(self, cr, uid, ids, *args, **kwargs):
res = super(project_tasks, self).do_open(cr, uid, ids, *args, **kwargs)
tasks = self.browse(cr, uid, ids)
- self._history(cr, uid, tasks, _('Open'))
+ self.history(cr, uid, tasks, _('Open'))
return res
def do_pending(self, cr, uid, ids, *args, **kwargs):
res = super(project_tasks, self).do_pending(cr, uid, ids, *args, **kwargs)
tasks = self.browse(cr, uid, ids)
- self._history(cr, uid, tasks, _('Pending'))
+ self.history(cr, uid, tasks, _('Pending'))
return res
def do_close(self, cr, uid, ids, *args, **kwargs):
@@ -123,13 +143,13 @@ class project_tasks(osv.osv):
tasks = self.browse(cr, uid, ids)
for task in tasks:
if task.state == 'done':
- self._history(cr, uid, tasks, _('Done'))
+ self.history(cr, uid, tasks, _('Done'))
return res
def do_cancel(self, cr, uid, ids, *args, **kwargs):
res = super(project_tasks, self).do_cancel(cr, uid, ids, *args, **kwargs)
tasks = self.browse(cr, uid, ids)
- self._history(cr, uid, tasks, _('Cancel'))
+ self.history(cr, uid, tasks, _('Cancel'))
return res
project_tasks()
diff --git a/addons/project_planning/__init__.py b/addons/project_planning/__init__.py
index 3cf91b8b9f7..e664a57cf92 100644
--- a/addons/project_planning/__init__.py
+++ b/addons/project_planning/__init__.py
@@ -21,5 +21,6 @@
import project_planning
import report
+import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_planning/i18n/it.po b/addons/project_planning/i18n/it.po
index 469ebb0a801..9874347a7da 100644
--- a/addons/project_planning/i18n/it.po
+++ b/addons/project_planning/i18n/it.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-10 19:57+0000\n"
-"Last-Translator: Nicola Riolini - Micronaet \n"
+"PO-Revision-Date: 2011-04-25 10:56+0000\n"
+"Last-Translator: simone.sandri \n"
"Language-Team: Italian \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:58+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: project_planning
#: constraint:account.analytic.account:0
@@ -52,7 +52,7 @@ msgstr "Riga Pianificazione"
#. module: project_planning
#: view:report_account_analytic.planning:0
msgid "Total Unallocated Time"
-msgstr ""
+msgstr "Totale tempo non allocato"
#. module: project_planning
#: field:report_account_analytic.planning,name:0
@@ -273,12 +273,12 @@ msgstr "Totale Pianificato"
#. module: project_planning
#: view:report_account_analytic.planning:0
msgid "Time Encoding"
-msgstr ""
+msgstr "Orario codificato"
#. module: project_planning
#: field:report_account_analytic.planning.user,free:0
msgid "Unallocated Time"
-msgstr ""
+msgstr "Orario non codificato"
#. module: project_planning
#: help:report_account_analytic.planning.user,plan_open:0
@@ -292,7 +292,7 @@ msgstr ""
#. module: project_planning
#: view:report_account_analytic.planning:0
msgid "Delegate"
-msgstr ""
+msgstr "Delega"
#. module: project_planning
#: help:report_account_analytic.planning.user,free:0
@@ -300,6 +300,8 @@ msgid ""
"Computed as Business Days - (Time Allocation of Tasks + Time Allocation "
"without Tasks + Holiday Leaves)"
msgstr ""
+"Calcolato come un giorno lavorativo - (Tempo allocato per attività + Tempo "
+"allocato senza attività + Permessi ferie)"
#. module: project_planning
#: help:report_account_analytic.planning,business_days:0
@@ -340,7 +342,7 @@ msgstr "Pianificazioni per conto (in giorni)"
#. module: project_planning
#: report:report_account_analytic.planning.print:0
msgid "Time without tasks"
-msgstr ""
+msgstr "Tempo senza attività"
#. module: project_planning
#: field:report_account_analytic.planning,date_from:0
@@ -350,7 +352,7 @@ msgstr "Data inizio"
#. module: project_planning
#: field:report_account_analytic.planning,total_free:0
msgid "Total Free"
-msgstr ""
+msgstr "Totalmente Libero"
#. module: project_planning
#: help:report_account_analytic.planning.account,plan_tasks:0
@@ -470,12 +472,12 @@ msgstr "Aziende"
#. module: project_planning
#: field:report_account_analytic.planning.line,amount_in_base_uom:0
msgid "Quantity in base uom"
-msgstr ""
+msgstr "Quantità nell'u.m. di base"
#. module: project_planning
#: field:report_account_analytic.planning.user,plan_tasks:0
msgid "Time Planned on Tasks"
-msgstr ""
+msgstr "Tempo pianificato per attività"
#. module: project_planning
#: field:report_account_analytic.planning.line,amount:0
@@ -518,7 +520,7 @@ msgstr "Statistiche di Pianificazione"
#: view:report_account_analytic.planning:0
#: selection:report_account_analytic.planning,state:0
msgid "Open"
-msgstr ""
+msgstr "Apri"
#. module: project_planning
#: model:ir.model,name:project_planning.model_report_account_analytic_planning_user
@@ -564,7 +566,7 @@ msgstr "Cronologia per Utente"
#. module: project_planning
#: view:report_account_analytic.planning:0
msgid "Total Time Allocation without Tasks"
-msgstr ""
+msgstr "Totale tempo allocato senza attività"
#. module: project_planning
#: field:report_account_analytic.planning.user,holiday:0
diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml
index 3aac5c7f466..016a10d940f 100644
--- a/addons/project_planning/project_planning_view.xml
+++ b/addons/project_planning/project_planning_view.xml
@@ -109,7 +109,7 @@
-
+
diff --git a/addons/project_planning/wizard/__init__.py b/addons/project_planning/wizard/__init__.py
new file mode 100644
index 00000000000..f32421ada61
--- /dev/null
+++ b/addons/project_planning/wizard/__init__.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL ().
+#
+# 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 .
+#
+##############################################################################
+
+import email_compose_message
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_planning/wizard/email_compose_message.py b/addons/project_planning/wizard/email_compose_message.py
new file mode 100644
index 00000000000..6fd89bea634
--- /dev/null
+++ b/addons/project_planning/wizard/email_compose_message.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-Today OpenERP SA ()
+#
+# 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
+#
+##############################################################################
+
+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 == 'project.task' 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.user_id.user_email 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 '')),
+ 'model': model,
+ 'res_id': resource_id,
+ })
+ return result
+
+email_compose_message()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 014d920d83d..d5766ab9cec 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -63,7 +63,7 @@
+ icon="gtk-convert" attrs="{'invisible':[('state','in',['done', 'cancel'])]}"/>
@@ -398,7 +398,7 @@
+ />
diff --git a/addons/project_scrum/wizard/email_compose_message.py b/addons/project_scrum/wizard/email_compose_message.py
index 1a639fbd198..0eee41ae894 100644
--- a/addons/project_scrum/wizard/email_compose_message.py
+++ b/addons/project_scrum/wizard/email_compose_message.py
@@ -27,6 +27,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)
@@ -47,8 +54,8 @@ class email_compose_message(osv.osv_memory):
subject = _("Scrum Meeting : %s") %(meeting.date)
message = _("Hello , \nI am sending you Scrum Meeting : %s for the Sprint '%s' of Project '%s'") %(meeting.date, sprint.name, sprint.project_id.name)
result.update({
- 'name': subject,
- 'description': message,
+ 'subject': subject,
+ 'body': message,
'model': model,
'res_id': resource_id
})
diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml
index 7663a5af5d4..424955d0584 100644
--- a/addons/resource/resource_view.xml
+++ b/addons/resource/resource_view.xml
@@ -225,7 +225,7 @@
-
+
diff --git a/addons/sale/i18n/gl.po b/addons/sale/i18n/gl.po
new file mode 100644
index 00000000000..1e2e54272c6
--- /dev/null
+++ b/addons/sale/i18n/gl.po
@@ -0,0 +1,2074 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-19 14:52+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Galician \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: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_by_salesman
+msgid "Sales by Salesman in last 90 days"
+msgstr ""
+
+#. module: sale
+#: help:sale.installer,delivery:0
+msgid "Allows you to compute delivery costs on your quotations."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,picking_policy:0
+msgid ""
+"If you don't have enough stock available to deliver all at once, do you "
+"accept partial shipments or not?"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_shipping_id:0
+msgid "Shipping address for current sales order."
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,qtty:0
+#: report:sale.order:0
+msgid "Quantity"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,day:0
+msgid "Day"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancelorder0
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid "Configure Sales Order Logistics"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:603
+#, python-format
+msgid "The quotation '%s' has been converted to a sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Payment Before Delivery"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice.py:42
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "VAT"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleorderprocurement0
+msgid "Drives procurement orders for every sales order line."
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,picking_policy:0
+msgid "All at Once"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,project_id:0
+#: view:sale.report:0
+#: field:sale.report,analytic_account_id:0
+#: field:sale.shop,project_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_line_tree2
+msgid ""
+"Here is a list of each sales order line to be invoiced. You can invoice "
+"sales orders partially, by lines of sales order. You do not need this list "
+"if you invoice from the delivery orders or if you invoice sales totally."
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_saleprocurement0
+msgid "Procurement Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Line"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_form
+msgid ""
+"Sales Orders help you manage quotations and orders from your customers. "
+"OpenERP suggests that you start by creating a quotation. Once it is "
+"confirmed, the quotation will be converted into a Sales Order. OpenERP can "
+"handle several types of products so that a sales order may trigger tasks, "
+"delivery orders, manufacturing orders, purchases and so on. Based on the "
+"configuration of the sales order, a draft invoice will be generated so that "
+"you just have to confirm it when you want to bill your customer."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_quantity:0
+msgid ""
+"The sale order will automatically create the invoice proposition (draft "
+"invoice). Ordered and delivered quantities may not be the same. You have to "
+"choose if you want your invoice based on ordered or shipped quantities. If "
+"the product is a service, shipped quantities means hours spent on the "
+"associated tasks."
+msgstr ""
+"O pedido de venda creará automáticamente a proposta de factura (factura "
+"borrador). As cantidades pedidas e entregadas poden non ser as mesmas. Debe "
+"elixir se desexa que a sua factura se basee nas cantidades pedidas ou "
+"entregadas. Se o producto e un servizo, as cantidades enviadas son as horas "
+"dedicadas as tarefas asociadas."
+
+#. module: sale
+#: field:sale.shop,payment_default_id:0
+msgid "Default Payment Term"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_config_picking_policy
+msgid "Configure Picking Policy for Sales Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+#: field:sale.order.line,state:0
+#: view:sale.report:0
+msgid "State"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Disc.(%)"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_forceassignation0
+msgid "Force Assignation"
+msgstr ""
+
+#. module: sale
+#: help:sale.make.invoice,grouped:0
+msgid "Check the box to group the invoices for the same customers"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Ordered Quantities"
+msgstr "Cantidades Pedidas"
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Salesman"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,move_ids:0
+msgid "Inventory Moves"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,name:0
+#: field:sale.order.line,order_id:0
+msgid "Order Reference"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Other Information"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Dates"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_invoiceafterdelivery0
+msgid ""
+"The invoice is created automatically if the shipping policy is 'Invoice from "
+"pick' or 'Invoice on order after delivery'."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_make_invoice
+msgid "Sales Make Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Recreate Packing"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,discount:0
+msgid "Discount (%)"
+msgstr ""
+
+#. module: sale
+#: help:res.company,security_lead:0
+msgid ""
+"This is the days added to what you promise to customers for security purpose"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.open_board_sales_manager
+#: model:ir.ui.menu,name:sale.menu_board_sales_manager
+msgid "Sales Manager Dashboard"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_packaging:0
+msgid "Packaging"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleinvoice0
+msgid "From a sales order"
+msgstr ""
+
+#. module: sale
+#: field:sale.shop,name:0
+msgid "Shop Name"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1014
+#, python-format
+msgid "No Customer Defined !"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree2
+msgid "Sales in Exception"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Conditions"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,order_policy:0
+msgid ""
+"The Shipping Policy is used to synchronise invoice and delivery operations.\n"
+" - The 'Pay Before delivery' choice will first generate the invoice and "
+"then generate the picking order after the payment of this invoice.\n"
+" - The 'Shipping & Manual Invoice' will create the picking order directly "
+"and wait for the user to manually click on the 'Invoice' button to generate "
+"the draft invoice.\n"
+" - The 'Invoice On Order After Delivery' choice will generate the draft "
+"invoice based on sales order after all picking lists have been finished.\n"
+" - The 'Invoice From The Picking' choice is used to create an invoice "
+"during the picking process."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:939
+#, python-format
+msgid ""
+"There is no income category account defined in default Properties for "
+"Product Category or Fiscal Position is not defined !"
+msgstr ""
+
+#. module: sale
+#: view:sale.installer:0
+msgid "Configure"
+msgstr ""
+
+#. module: sale
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:620
+#, python-format
+msgid "invalid mode for test_state"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:584
+#, python-format
+msgid "Could not cancel this sales order !"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_report
+msgid "Sales Orders Statistics"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,project_id:0
+msgid "The analytic account related to a sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_quotation_for_sale
+#: view:sale.order:0
+#: view:sale.report:0
+msgid "Quotations"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,pricelist_id:0
+msgid "Pricelist for current sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,step:0
+msgid "Delivery Order Only"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "TVA :"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,delay:0
+msgid ""
+"Number of days between the order confirmation the shipping of the products "
+"to the customer"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation Date"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,fiscal_position:0
+msgid "Fiscal Position"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "UoM"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,number_packages:0
+msgid "Number Packages"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_confirmquotation0
+msgid ""
+"The salesman confirms the quotation. The state of the sales order becomes "
+"'In progress' or 'Manual in progress'."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:971
+#, python-format
+msgid "You must first cancel stock moves attached to this sales order line."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1042
+#, python-format
+msgid "(n/a)"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,product_id:0
+msgid ""
+"Select a product of type service which is called 'Advance Product'. You may "
+"have to create it and set it as a default value on this field."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Tel. :"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:64
+#, python-format
+msgid ""
+"You cannot make an advance on a sales order "
+"that is defined as 'Automatic Invoice after delivery'."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,note:0
+#: view:sale.order.line:0
+#: field:sale.order.line,notes:0
+msgid "Notes"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_invoice_id:0
+msgid "Invoice address for current sales order."
+msgstr ""
+
+#. module: sale
+#: view:sale.installer:0
+msgid "Enhance your core Sales Application with additional functionalities."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced_rate:0
+#: field:sale.order.line,invoiced:0
+msgid "Invoiced"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_deliveryorder0
+msgid "Delivery Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_confirm:0
+msgid "Confirmation Date"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,address_allotment_id:0
+msgid "Allotment Partner"
+msgstr ""
+
+#. module: sale
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "March"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_total:0
+msgid "The total amount."
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,price_subtotal:0
+msgid "Subtotal"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Invoice address :"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleorderprocurement0
+msgid ""
+"For every sales order line, a procurement order is created to supply the "
+"sold product."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,incoterm:0
+msgid ""
+"Incoterm which stands for 'International Commercial terms' implies its a "
+"series of sales terms which are used in the commercial transaction."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_invoice_id:0
+msgid "Invoice Address"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Search Uninvoiced Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.report.xml,name:sale.report_sale_order
+msgid "Quotation / Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,nbr:0
+msgid "# of Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_open_invoice
+msgid "Sales Open Invoice"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line
+#: field:stock.move,sale_line_id:0
+msgid "Sales Order Line"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid "Setup your sales workflow and default values."
+msgstr ""
+
+#. module: sale
+#: field:sale.shop,warehouse_id:0
+msgid "Warehouse"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Order N°"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,order_line:0
+msgid "Order Lines"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree2
+#: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines
+msgid "Lines to Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uom_qty:0
+msgid "Quantity (UoM)"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree3
+msgid "Uninvoiced and Delivered Lines"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Total :"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "My Sales"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:290
+#: code:addons/sale/sale.py:966
+#: code:addons/sale/sale.py:1165
+#, python-format
+msgid "Invalid action !"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,pricelist_id:0
+#: field:sale.report,pricelist_id:0
+#: field:sale.shop,pricelist_id:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,product_uom_qty:0
+msgid "# of Qty"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Date"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+#: field:sale.report,shipped:0
+msgid "Shipped"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree5
+msgid "All Quotations"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Invoice On Order After Delivery"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,categ_id:0
+msgid "Category of Product"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Taxes :"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Stock Moves"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid " Year "
+msgstr ""
+
+#. module: sale
+#: field:sale.order,state:0
+#: field:sale.report,state:0
+msgid "Order State"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Do you really want to create the invoice(s) ?"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales By Month"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:970
+#, python-format
+msgid "Could not cancel sales order line!"
+msgstr ""
+
+#. module: sale
+#: field:res.company,security_lead:0
+msgid "Security Days"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleorderprocurement0
+msgid "Procurement of sold material"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Create Final Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_shipping_id:0
+msgid "Shipping Address"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,shipped:0
+msgid ""
+"It indicates that the sales order has been delivered. This field is updated "
+"only after the scheduler(s) have been launched."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: sale
+#: model:ir.module.module,description:sale.module_meta_information
+msgid ""
+"\n"
+" The base module to manage quotations and sales orders.\n"
+"\n"
+" * Workflow with validation steps:\n"
+" - Quotation -> Sales order -> Invoice\n"
+" * Invoicing methods:\n"
+" - Invoice on order (before or after shipping)\n"
+" - Invoice on delivery\n"
+" - Invoice on timesheets\n"
+" - Advance invoice\n"
+" * Partners preferences (shipping, invoicing, incoterm, ...)\n"
+" * Products stocks and prices\n"
+" * Delivery methods:\n"
+" - all at once, multi-parcel\n"
+" - delivery costs\n"
+" * Dashboard for salesman that includes:\n"
+" * Your open quotations\n"
+" * Top 10 sales of the month\n"
+" * Cases statistics\n"
+" * Graph of sales by product\n"
+" * Graph of cases of the month\n"
+" "
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_shop
+#: view:sale.shop:0
+msgid "Sales Shop"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,picking_policy:0
+msgid "Picking Default Policy"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_ids:0
+msgid ""
+"This is the list of invoices that have been generated for this sales order. "
+"The same sales order may have been invoiced in several times (by line for "
+"example)."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Your Reference"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_order_id:0
+msgid ""
+"The name and address of the contact who requested the order or quotation."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:966
+#, python-format
+msgid "You cannot cancel a sales order line that has already been invoiced !"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "Qty"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "References"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancel0
+#: model:process.transition.action,name:sale.process_transition_action_cancel1
+#: model:process.transition.action,name:sale.process_transition_action_cancel2
+#: view:sale.advance.payment.inv:0
+#: view:sale.make.invoice:0
+#: view:sale.order.line:0
+#: view:sale.order.line.make.invoice:0
+msgid "Cancel"
+msgstr ""
+
+#. module: sale
+#: field:sale.installer,sale_order_dates:0
+msgid "Sales Order Dates"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_invoice0
+#: model:process.transition,name:sale.process_transition_invoiceafterdelivery0
+#: model:process.transition.action,name:sale.process_transition_action_createinvoice0
+#: view:sale.advance.payment.inv:0
+#: view:sale.order.line:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.installer,sale_margin:0
+msgid "Margins in Sales Orders"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Total Tax Excluded"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Partner"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_order_id:0
+msgid "Ordering Contact"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_view_sale_open_invoice
+#: view:sale.open.invoice:0
+msgid "Open Invoice"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: view:sale.order.line:0
+msgid "Price"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_sale_installer
+#: view:sale.config.picking_policy:0
+#: view:sale.installer:0
+msgid "Sales Application Configuration"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,price_total:0
+msgid "Total Price"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "on order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_invoiceafterdelivery0
+msgid "Based on the shipped or on the ordered quantities."
+msgstr "Basado en nas cantidades enviadas ou pedidas."
+
+#. module: sale
+#: field:sale.order,picking_ids:0
+msgid "Related Picking"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,name:0
+msgid "Name"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Shipping address :"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_by_partner
+msgid "Sales per Customer in last 90 days"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_quotation0
+msgid "Draft state of sales order"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_deliver0
+msgid "Create Delivery Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.installer,delivery:0
+msgid "Delivery Costs"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Total Tax Included"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_packing0
+msgid "Create Pick List"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Sales by Product Category"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,picking_policy:0
+msgid "Partial Delivery"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_confirmquotation0
+msgid "Confirm Quotation"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,origin:0
+msgid "Reference of the document that generated this sales order request."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+#: view:sale.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.outgoing_picking_list_to_invoice
+#: model:ir.ui.menu,name:sale.menu_action_picking_list_to_invoice
+msgid "Deliveries to Invoice"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Waiting Schedule"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,type:0
+msgid "Procurement Method"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+#: view:sale.installer:0
+msgid "title"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_packinglist0
+msgid "Pick List"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order date"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_packinglist0
+msgid "Document of the move to the output or to the customer."
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_validate0
+msgid "Validate"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleprocurement0
+msgid "Create Procurement Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,amount_tax:0
+#: field:sale.order.line,tax_id:0
+msgid "Taxes"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,order_policy:0
+msgid "Shipping Policy"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,create_date:0
+msgid "Date on which sales order is created."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Create Invoices"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Fax :"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,amount:0
+msgid "Advance Amount"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Shipped Quantities"
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,order_policy:0
+msgid "Invoice Based on Sales Orders"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:387
+#: code:addons/sale/sale.py:920
+#: code:addons/sale/sale.py:938
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:570
+#, python-format
+msgid "Could not cancel sales order !"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,procurement_id:0
+msgid "Procurement"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Shipping Exception"
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,grouped:0
+msgid "Group the invoices"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Shipping & Manual Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1051
+#, python-format
+msgid "Picking Information !"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: sale
+#: model:ir.module.module,shortdesc:sale.module_meta_information
+msgid "Sales Management"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Invoice From The Picking"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_invoice0
+msgid "To be reviewed by the accountant."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,uom_name:0
+msgid "Reference UoM"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line_make_invoice
+msgid "Sale OrderLine Make_invoice"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.picking_policy,step:0
+msgid ""
+"By default, OpenERP is able to manage complex routing and paths of products "
+"in your warehouse and partner locations. This will configure the most common "
+"and simple methods to deliver products to the customer in one or two "
+"operations by the worker."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree
+msgid "Old Quotations"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced:0
+msgid "Paid"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_report_all
+#: model:ir.ui.menu,name:sale.menu_report_product_all
+#: view:sale.report:0
+msgid "Sales Analysis"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,property_ids:0
+msgid "Properties"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_quotation0
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Quotation"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_invoice0
+msgid ""
+"The Salesman creates an invoice manually, if the sales order shipping policy "
+"is 'Shipping and Manual in Progress'. The invoice is created automatically "
+"if the shipping policy is 'Payment before Delivery'."
+msgstr ""
+
+#. module: sale
+#: help:sale.config.picking_policy,order_policy:0
+msgid ""
+"You can generate invoices based on sales orders or based on shippings."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.act_res_partner_2_sale_order
+#: model:process.process,name:sale.process_process_salesprocess0
+#: view:sale.order:0
+#: view:sale.report:0
+msgid "Sales"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order.line,price_unit:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: view:sale.order.line:0
+#: selection:sale.order.line,state:0
+#: selection:sale.report,state:0
+msgid "Done"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_installer
+msgid "sale.installer"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_invoice0
+#: model:process.node,name:sale.process_node_invoiceafterdelivery0
+msgid "Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1014
+#, python-format
+msgid ""
+"You have to select a customer in the sales form !\n"
+"Please set one customer before choosing a product."
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,step:0
+msgid "Picking List & Delivery Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,origin:0
+msgid "Source Document"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "To Do"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,picking_policy:0
+msgid "Picking Policy"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_deliveryorder0
+msgid "Document of the move to the customer."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_untaxed:0
+msgid "The amount without tax."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:571
+#, python-format
+msgid "You must first cancel all picking attached to this sales order."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_advance_payment_inv
+msgid "Sales Advance Payment Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,incoterm:0
+msgid "Incoterm"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+#: field:sale.order.line,product_id:0
+#: view:sale.report:0
+#: field:sale.report,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: sale
+#: model:ir.ui.menu,name:sale.menu_invoiced
+msgid "Invoicing"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancelassignation0
+msgid "Cancel Assignation"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_config_picking_policy
+msgid "sale.config.picking_policy"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,state:0
+msgid ""
+"Gives the state of the quotation or sales order. \n"
+"The exception state is automatically set when a cancel operation occurs in "
+"the invoice validation (Invoice Exception) or in the picking list process "
+"(Shipping Exception). \n"
+"The 'Waiting Schedule' state is set when the invoice is confirmed but "
+"waiting for the scheduler to run on the date 'Ordered Date'."
+msgstr ""
+"Indica o estado do presuposto o pedido de venda.\n"
+"O estado de excepción establecese automáticamente cando se produce unha "
+"operación de cancelación na validación da factura (excepción de factura) ou "
+"no procesado do albará (excepción de envío).\n"
+"O estado 'Esperando planificación' establece cando se confirma a factura, "
+"pero está esperando que o planificador a active na data de \"Data pedido\"."
+
+#. module: sale
+#: field:sale.order,invoice_quantity:0
+msgid "Invoice on"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Date Ordered"
+msgstr "Data Pedido"
+
+#. module: sale
+#: field:sale.order.line,product_uos:0
+msgid "Product UoS"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Manual In Progress"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uom:0
+msgid "Product UoM"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Logistic"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:921
+#, python-format
+msgid "There is no income account defined for this product: \"%s\" (id:%d)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Ignore Exception"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleinvoice0
+msgid ""
+"Depending on the Invoicing control of the sales order, the invoice can be "
+"based on delivered or on ordered quantities. Thus, a sales order can "
+"generates an invoice or a delivery order as soon as it is confirmed by the "
+"salesman."
+msgstr ""
+"En función do control de facturación dos pedidos de venda, a factura pode "
+"estar baseada nas cantidades enviadas ou vendidas. Polo tanto, un pedido de "
+"venda pode xerar unha factura ou un albará tan pronto como sea confirmada "
+"polo comercial."
+
+#. module: sale
+#: code:addons/sale/sale.py:1116
+#, python-format
+msgid ""
+"You plan to sell %.2f %s but you only have %.2f %s available !\n"
+"The real stock is %.2f %s. (without reservations)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.picking_policy:0
+msgid "res_config_contents"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,client_order_ref:0
+msgid "Customer Reference"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,amount_total:0
+#: view:sale.order.line:0
+msgid "Total"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:388
+#, python-format
+msgid "There is no sales journal defined for this company: \"%s\" (id:%d)"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_deliver0
+msgid ""
+"Depending on the configuration of the location Output, the move between the "
+"output area and the customer is done through the Delivery Order manually or "
+"automatically."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1165
+#, python-format
+msgid "Cannot delete a sales order line which is %s !"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice
+#: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice
+#: view:sale.order:0
+msgid "Make Invoices"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "To Invoice"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,date_confirm:0
+msgid "Date on which sales order is confirmed."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,company_id:0
+#: field:sale.order.line,company_id:0
+#: view:sale.report:0
+#: field:sale.report,company_id:0
+#: field:sale.shop,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,invoice_date:0
+msgid "Invoice Date"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,amount:0
+msgid "The amount to be invoiced in advance."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Invoice Exception"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,picking_ids:0
+msgid ""
+"This is a list of picking that has been generated for this sales order."
+msgstr ""
+
+#. module: sale
+#: help:sale.installer,sale_margin:0
+msgid ""
+"Gives the margin of profitability by calculating the difference between Unit "
+"Price and Cost Price."
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Create invoices"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.order.line,state:0
+#: selection:sale.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_shop_form
+#: model:ir.ui.menu,name:sale.menu_action_shop_form
+#: field:sale.order,shop_id:0
+#: view:sale.report:0
+#: field:sale.report,shop_id:0
+msgid "Shop"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid " Month "
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date_confirm:0
+msgid "Date Confirm"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:111
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_view_sales_by_month
+msgid "Sales by Month"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1045
+#, python-format
+msgid ""
+"You selected a quantity of %d Units.\n"
+"But it's not compatible with the selected packaging.\n"
+"Here is a proposition of quantities according to the packaging:\n"
+"\n"
+"EAN: %s Quantity: %s Type of ul: %s"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order
+#: model:process.node,name:sale.process_node_order0
+#: model:process.node,name:sale.process_node_saleorder0
+#: model:res.request.link,name:sale.req_link_sale_order
+#: view:sale.order:0
+#: field:stock.picking,sale_id:0
+msgid "Sales Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uos_qty:0
+msgid "Quantity (UoS)"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_packing0
+msgid ""
+"The Pick List form is created as soon as the sales order is confirmed, in "
+"the same time as the procurement order. It represents the assignment of "
+"parts to the sales order. There is 1 pick list by sales order line which "
+"evolves with the availability of parts."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_confirm0
+msgid "Confirm"
+msgstr ""
+
+#. module: sale
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_sales_product_total_price
+msgid "Sales by Product's Category in last 90 days"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order.line,invoice_lines:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "Sales Order Lines"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,delay:0
+msgid "Delivery Lead Time"
+msgstr ""
+
+#. module: sale
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,picking_policy:0
+msgid "Complete Delivery"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid " Month-1 "
+msgstr ""
+
+#. module: sale
+#: help:sale.config.picking_policy,picking_policy:0
+msgid ""
+"The Shipping Policy is used to configure per order if you want to deliver as "
+"soon as possible when one product is available or you wait that all products "
+"are available.."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:111
+#, python-format
+msgid ""
+"Invoice cannot be created for this Sales Order Line due to one of the "
+"following reasons:\n"
+"1.The state of this sales order line is either \"draft\" or \"cancel\"!\n"
+"2.The Sales Order Line is Invoiced!"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,th_weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0
+#: view:sale.order:0
+#: field:sale.order,invoice_ids:0
+msgid "Invoices"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,config_logo:0
+#: field:sale.installer,config_logo:0
+msgid "Image"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleprocurement0
+msgid ""
+"A procurement order is automatically created as soon as a sales order is "
+"confirmed or as the invoice is paid. It drives the purchasing and the "
+"production of products regarding to the rules and to the sales order's "
+"parameters. "
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Uninvoiced"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: view:sale.order:0
+#: field:sale.order,user_id:0
+#: view:sale.order.line:0
+#: field:sale.order.line,salesman_id:0
+#: view:sale.report:0
+#: field:sale.report,user_id:0
+msgid "Salesman"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleorder0
+msgid "Drives procurement and invoicing"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,amount_untaxed:0
+msgid "Untaxed Amount"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:163
+#: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv
+#: view:sale.advance.payment.inv:0
+#: view:sale.order:0
+#, python-format
+msgid "Advance Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:591
+#, python-format
+msgid "The sales order '%s' has been cancelled."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,state:0
+msgid ""
+"* The 'Draft' state is set when the related sales order in draft state. "
+" \n"
+"* The 'Confirmed' state is set when the related sales order is confirmed. "
+" \n"
+"* The 'Exception' state is set when the related sales order is set as "
+"exception. \n"
+"* The 'Done' state is set when the sales order line has been picked. "
+" \n"
+"* The 'Cancelled' state is set when a user cancel the sales order related."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_tax:0
+msgid "The tax amount."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Packings"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,progress:0
+#: field:sale.installer,progress:0
+msgid "Configuration Progress"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_product_tree
+msgid "Product sales"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_order:0
+msgid "Ordered Date"
+msgstr "Fecha Pedido"
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_form
+#: model:ir.ui.menu,name:sale.menu_sale_order
+#: view:sale.order:0
+msgid "Sales Orders"
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,picking_policy:0
+msgid "Direct Delivery"
+msgstr ""
+
+#. module: sale
+#: field:sale.installer,sale_journal:0
+msgid "Invoicing journals"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,product_id:0
+msgid "Advance Product"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,shipped_qty_1:0
+msgid "Shipped Qty"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0
+msgid "You invoice has been successfully created!"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:585
+#, python-format
+msgid "You must first cancel all invoices attached to this sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: sale
+#: view:sale.installer:0
+msgid "Configure Your Sales Management Application"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree4
+msgid "Sales Order in Progress"
+msgstr ""
+
+#. module: sale
+#: field:sale.installer,sale_layout:0
+msgid "Sales Order Layout Improvement"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:63
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,delay:0
+msgid "Commitment Delay"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleprocurement0
+msgid ""
+"One Procurement order for each sales order line and for each of the "
+"components."
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_assign0
+msgid "Assign"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date:0
+msgid "Date Order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_order0
+msgid "Confirmed sales order to invoice."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:290
+#, python-format
+msgid "Cannot delete Sales Order(s) which are already confirmed !"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:316
+#, python-format
+msgid "The sales order '%s' has been set in draft state."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "from stock"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,order_policy:0
+msgid "Shipping Default Policy"
+msgstr ""
+
+#. module: sale
+#: view:sale.open.invoice:0
+msgid "Close"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,shipped:0
+msgid "Delivered"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:1115
+#, python-format
+msgid "Not enough stock !"
+msgstr ""
+
+#. module: sale
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,sequence:0
+msgid "Layout Sequence"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_shop_form
+msgid ""
+"If you have more than one shop reselling your company products, you can "
+"create and manage that from here. Whenever you will record a new quotation "
+"or sales order, it has to be linked to a shop. The shop also defines the "
+"warehouse from which the products will be delivered for each particular "
+"sales."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoiced:0
+msgid "It indicates that an invoice has been paid."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order.line,name:0
+msgid "Description"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: sale
+#: help:sale.installer,sale_order_dates:0
+msgid "Adds commitment, requested and effective dates on Sales Orders."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,partner_id:0
+#: field:sale.order.line,order_partner_id:0
+msgid "Customer"
+msgstr ""
+
+#. module: sale
+#: model:product.template,name:sale.advance_product_0_product_template
+msgid "Advance"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: sale
+#: help:sale.installer,sale_journal:0
+msgid ""
+"Allows you to group and invoice your delivery orders according to different "
+"invoicing types: daily, weekly, etc."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: sale
+#: view:sale.shop:0
+msgid "Accounting"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.picking_policy,step:0
+msgid "Steps To Deliver a Sales Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "Search Sales Order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_saleorderprocurement0
+msgid "Sales Order Requisition"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order,payment_term:0
+msgid "Payment Term"
+msgstr ""
+
+#. module: sale
+#: help:sale.installer,sale_layout:0
+msgid ""
+"Provides some features to improve the layout of the Sales Order reports."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_report_all
+msgid ""
+"This report performs analysis on your quotations and sales orders. Analysis "
+"check your sales revenues and sort it by different group criteria (salesman, "
+"partner, product, etc.) Use this report to perform analysis on sales not "
+"having invoiced yet. If you want to analyse your turnover, you should use "
+"the Invoice Analysis report in the Accounting application."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation N°"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,picked_rate:0
+#: view:sale.report:0
+msgid "Picked"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,year:0
+msgid "Year"
+msgstr ""
+
+#. module: sale
+#: selection:sale.config.picking_policy,order_policy:0
+msgid "Invoice Based on Deliveries"
+msgstr ""
diff --git a/addons/sale/i18n/ru.po b/addons/sale/i18n/ru.po
index 81c1b81fac3..badd0a459d6 100644
--- a/addons/sale/i18n/ru.po
+++ b/addons/sale/i18n/ru.po
@@ -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:16+0000\n"
-"PO-Revision-Date: 2011-03-23 14:07+0000\n"
-"Last-Translator: Chertykov Denis \n"
+"PO-Revision-Date: 2011-04-21 13:03+0000\n"
+"Last-Translator: Stanislav Hanzhin \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-24 04:50+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: sale
#: view:board.board:0
@@ -457,6 +457,9 @@ msgid ""
"Select a product of type service which is called 'Advance Product'. You may "
"have to create it and set it as a default value on this field."
msgstr ""
+"Выберите значение с названием «Предварительное изделие» имеющий тип "
+"«Услуга». Возможно вам понадобится создать его и установить в качестве "
+"значения по-умолчанию для этого поля."
#. module: sale
#: report:sale.order:0
@@ -1892,7 +1895,7 @@ msgstr "Журналы счетов"
#. module: sale
#: field:sale.advance.payment.inv,product_id:0
msgid "Advance Product"
-msgstr ""
+msgstr "Продвижение продукта"
#. module: sale
#: view:sale.report:0
@@ -2088,7 +2091,7 @@ msgstr "Апрель"
#. module: sale
#: view:sale.shop:0
msgid "Accounting"
-msgstr "Бухгалтерский учет"
+msgstr "Бухгалтерия"
#. module: sale
#: field:sale.config.picking_policy,step:0
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index f80d610eb03..61c0afd4ad4 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -710,7 +710,7 @@ class sale_order(osv.osv):
'note': line.notes,
'company_id': order.company_id.id,
})
-
+
if line.product_id:
proc_id = self.pool.get('procurement.order').create(cr, uid, {
'name': line.name,
@@ -1180,12 +1180,14 @@ class sale_config_picking_policy(osv.osv_memory):
'picking_policy': fields.selection([
('direct', 'Direct Delivery'),
('one', 'All at Once')
- ], 'Picking Default Policy', required=True, help="The Shipping Policy is used to configure per order if you want to deliver as soon as possible when one product is available or you wait that all products are available.."),
+ ], 'Picking Default Policy', required=True, help="If you are sure that you have enough stock to send complete order at once please select 'All at Once'. If you want to send the order in the partial shipments please select 'Direct Delivery'..."),
'order_policy': fields.selection([
('manual', 'Invoice Based on Sales Orders'),
('picking', 'Invoice Based on Deliveries'),
], 'Shipping Default Policy', required=True,
- help="You can generate invoices based on sales orders or based on shippings."),
+ help="""The Shipping Policy is used to synchronise invoice and delivery operations.
+ - The "Invoice Based on Sales Orders" option will create the picking order directly and wait for the user to manually click on the 'Invoice' button to generate the draft invoice.
+ - The "Invoice Based on Deliveries" option is used to create an invoice during the picking process."""),
'step': fields.selection([
('one', 'Delivery Order Only'),
('two', 'Picking List & Delivery Order')
@@ -1202,15 +1204,20 @@ class sale_config_picking_policy(osv.osv_memory):
}
def execute(self, cr, uid, ids, context=None):
+ ir_values_obj = self.pool.get('ir.values')
+ ir_model_data_obj = self.pool.get('ir.model.data')
+ stock_location_obj = self.pool.get('stock.location')
+ location_id = ir_model_data_obj.get_object_reference(cr, uid, 'stock', 'stock_location_output')
+ location_id = location_id and location_id[1] or False
+ chaining_type = False
for o in self.browse(cr, uid, ids, context=context):
- ir_values_obj = self.pool.get('ir.values')
ir_values_obj.set(cr, uid, 'default', False, 'picking_policy', ['sale.order'], o.picking_policy)
ir_values_obj.set(cr, uid, 'default', False, 'order_policy', ['sale.order'], o.order_policy)
- if o.step == 'two':
- md = self.pool.get('ir.model.data')
- location_id = md.get_object_reference(cr, uid, 'stock', 'stock_location_output')
- location_id = location_id and location_id[1] or False
- self.pool.get('stock.location').write(cr, uid, [location_id], {'chained_auto_packing': 'manual'})
+ if o.step == 'one':
+ chaining_type = 'transparent'
+ else:
+ chaining_type = 'manual'
+ stock_location_obj.write(cr, uid, [location_id], {'chained_auto_packing': chaining_type})
sale_config_picking_policy()
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 9925354346b..9b6664daf20 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -135,10 +135,10 @@
name="product_uom_qty"
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, True)"
/>
-
-
+
+
\n"
+"PO-Revision-Date: 2011-04-25 10:56+0000\n"
+"Last-Translator: simone.sandri \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:46+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: sale_crm
#: field:crm.make.sale,partner_id:0
@@ -30,7 +30,7 @@ msgstr "Converti in preventivo"
#: code:addons/sale_crm/wizard/crm_make_sale.py:108
#, python-format
msgid "Opportunity '%s' is converted to Quotation."
-msgstr ""
+msgstr "L'opportunità '%s' è stata convertita in Quotazione."
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:89
diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py
index f48df128e31..2c7f6cb0d69 100644
--- a/addons/sale_crm/wizard/crm_make_sale.py
+++ b/addons/sale_crm/wizard/crm_make_sale.py
@@ -107,7 +107,7 @@ class crm_make_sale(osv.osv_memory):
new_ids.append(new_id)
message = _("Opportunity '%s' is converted to Quotation.") % (case.name)
self.log(cr, uid, case.id, message)
- case_obj._history(cr, uid, [case], _("Converted to Sales Quotation(id: %s).") % (new_id))
+ case_obj.history(cr, uid, [case], _("Converted to Sales Quotation(id: %s).") % (new_id))
if make.close:
case_obj.case_close(cr, uid, data)
diff --git a/addons/sale_mrp/i18n/ru.po b/addons/sale_mrp/i18n/ru.po
index bbc8dd0e71b..10e2fb3de1d 100644
--- a/addons/sale_mrp/i18n/ru.po
+++ b/addons/sale_mrp/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-12-25 11:19+0000\n"
-"Last-Translator: Chertykov Denis \n"
+"PO-Revision-Date: 2011-04-25 08:59+0000\n"
+"Last-Translator: Stanislav Hanzhin \n"
"Language-Team: Russian \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:51+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: sale_mrp
#: help:mrp.production,sale_ref:0
diff --git a/addons/share/i18n/ru.po b/addons/share/i18n/ru.po
new file mode 100644
index 00000000000..ba1a12542e1
--- /dev/null
+++ b/addons/share/i18n/ru.po
@@ -0,0 +1,485 @@
+# Russian 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-26 05:57+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Russian \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: share
+#: code:addons/share/web/editors.py:15
+#, python-format
+msgid "Sharing"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:434
+#, python-format
+msgid ""
+"This additional data has been automatically added to your current access.\n"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Existing External Users"
+msgstr ""
+
+#. module: share
+#: help:res.groups,share:0
+msgid "Group created to set access rights for sharing data with some users."
+msgstr ""
+
+#. module: share
+#: model:ir.module.module,shortdesc:share.module_meta_information
+msgid "Share Management"
+msgstr ""
+
+#. module: share
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr "Не может быть двух пользователей с одинаковым именем пользователя!"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:76
+#, python-format
+msgid "Sharing Wizard - Step 1"
+msgstr ""
+
+#. module: share
+#: model:ir.actions.act_window,name:share.action_share_wizard
+#: model:ir.ui.menu,name:share.menu_action_share_wizard
+msgid "Share Access Rules"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:453
+#, python-format
+msgid ""
+"Dear,\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+
+#. module: share
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr ""
+"Выбранная компания отсутствует в списке разрешённых компаний для этого "
+"пользователя"
+
+#. module: share
+#: model:ir.model,name:share.model_res_users
+msgid "res.users"
+msgstr "res.users"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Next"
+msgstr "Далее"
+
+#. module: share
+#: help:share.wizard,action_id:0
+msgid ""
+"The action that opens the screen containing the data you wish to share."
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:68
+#, python-format
+msgid "Please specify \"share_root_url\" in context"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Congratulations, you have successfully setup a new shared access!"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:247
+#, python-format
+msgid "(Copy for sharing)"
+msgstr ""
+
+#. module: share
+#: field:share.wizard.result.line,newly_created:0
+msgid "Newly created"
+msgstr "Вновь созданный"
+
+#. module: share
+#: field:share.wizard,share_root_url:0
+msgid "Generic Share Access URL"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:457
+#, python-format
+msgid ""
+"You may use the following login and password to get access to this protected "
+"area:\n"
+msgstr ""
+
+#. module: share
+#: view:res.groups:0
+msgid "Regular groups only (no share groups"
+msgstr ""
+
+#. module: share
+#: selection:share.wizard,access_mode:0
+msgid "Read & Write"
+msgstr "Чтение и запись"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Share wizard: step 2"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Share wizard: step 0"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Share wizard: step 1"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:430
+#: field:share.wizard.result.line,login:0
+#, python-format
+msgid "Username"
+msgstr "Имя пользователя"
+
+#. module: share
+#: field:res.users,share:0
+msgid "Share User"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:424
+#, python-format
+msgid "%s has shared OpenERP %s information with you"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Finish"
+msgstr "Завершить"
+
+#. module: share
+#: field:share.wizard,user_ids:0
+#: field:share.wizard.user,user_id:0
+msgid "Users"
+msgstr "Пользователи"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:103
+#, python-format
+msgid ""
+"This username (%s) already exists, perhaps data has already been shared with "
+"this person.\n"
+"You may want to try selecting existing shared users instead."
+msgstr ""
+
+#. module: share
+#: field:share.wizard,new_users:0
+msgid "New users"
+msgstr "Новые пользователи"
+
+#. module: share
+#: model:ir.model,name:share.model_res_groups
+msgid "res.groups"
+msgstr "res.groups"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:121
+#, python-format
+msgid "%s (Shared)"
+msgstr ""
+
+#. module: share
+#: sql_constraint:res.groups:0
+msgid "The name of the group must be unique !"
+msgstr "Название группы должно быть уникальным !"
+
+#. module: share
+#: selection:share.wizard,user_type:0
+msgid "New users (emails required)"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:390
+#, python-format
+msgid "Sharing filter created by user %s (%s) for group %s"
+msgstr ""
+
+#. module: share
+#: view:res.groups:0
+msgid "Groups"
+msgstr "Группы"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Select the desired shared access mode:"
+msgstr ""
+
+#. module: share
+#: field:res.groups,share:0
+msgid "Share Group"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:431
+#: field:share.wizard.result.line,password:0
+#, python-format
+msgid "Password"
+msgstr "Пароль"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Who would you want to share this data with?"
+msgstr ""
+
+#. module: share
+#: model:ir.module.module,description:share.module_meta_information
+msgid ""
+"The goal is to implement a generic sharing mechanism, where user of OpenERP\n"
+"can share data from OpenERP to their colleagues, customers, or friends.\n"
+"The system will work by creating new users and groups on the fly, and by\n"
+"combining the appropriate access rights and ir.rules to ensure that the "
+"/shared\n"
+"users/ will only have access to the correct data.\n"
+" "
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:102
+#, python-format
+msgid "User already exists"
+msgstr "Пользователь уже существует"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Send Email Notification(s)"
+msgstr "Отправить уведомление по эл. почте"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:435
+#, python-format
+msgid ""
+"You may use your existing login and password to view it. As a reminder, your "
+"login is %s.\n"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:432
+#, python-format
+msgid "Database"
+msgstr "База данных"
+
+#. module: share
+#: model:ir.model,name:share.model_share_wizard_user
+msgid "share.wizard.user"
+msgstr "share.wizard.user"
+
+#. module: share
+#: view:share.wizard:0
+msgid ""
+"Please select the action that opens the screen containing the data you want "
+"to share."
+msgstr ""
+
+#. module: share
+#: selection:share.wizard,user_type:0
+msgid "Existing external users"
+msgstr "Cуществующие внешние пользователи"
+
+#. module: share
+#: view:share.wizard:0
+#: field:share.wizard,result_line_ids:0
+msgid "Summary"
+msgstr "Содержание"
+
+#. module: share
+#: field:share.wizard,user_type:0
+msgid "Users to share with"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:276
+#, python-format
+msgid "Indirect sharing filter created by user %s (%s) for group %s"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:420
+#, python-format
+msgid "Email required"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:212
+#, python-format
+msgid "Copied access for sharing"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid ""
+"Optionally, you may specify an additional domain restriction that will be "
+"applied to the shared data."
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "New Users (please provide one e-mail address per line below)"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:420
+#, python-format
+msgid ""
+"The current user must have an email address configured in User Preferences "
+"to be able to send outgoing emails."
+msgstr ""
+
+#. module: share
+#: view:res.users:0
+msgid "Regular users only (no share user)"
+msgstr ""
+
+#. module: share
+#: field:share.wizard.result.line,share_url:0
+msgid "Share URL"
+msgstr ""
+
+#. module: share
+#: field:share.wizard,domain:0
+msgid "Domain"
+msgstr "Домен"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:286
+#, python-format
+msgid ""
+"Sorry, the current screen and filter you are trying to share are not "
+"supported at the moment.\n"
+"You may want to try a simpler filter."
+msgstr ""
+
+#. module: share
+#: field:share.wizard,access_mode:0
+msgid "Access Mode"
+msgstr "Режим доступа"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Access info"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:426
+#, python-format
+msgid ""
+"To access it, you can go to the following URL:\n"
+" %s"
+msgstr ""
+
+#. module: share
+#: field:share.wizard,action_id:0
+msgid "Action to share"
+msgstr ""
+
+#. module: share
+#: code:addons/share/web/editors.py:18
+#, python-format
+msgid "Share"
+msgstr ""
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:406
+#, python-format
+msgid "Sharing Wizard - Step 2"
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Here is a summary of the access points you have just created:"
+msgstr ""
+
+#. module: share
+#: model:ir.model,name:share.model_share_wizard_result_line
+msgid "share.wizard.result.line"
+msgstr "share.wizard.result.line"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:285
+#, python-format
+msgid "Sharing access could not be setup"
+msgstr ""
+
+#. module: share
+#: model:ir.actions.act_window,name:share.action_share_wizard_step1
+#: model:ir.model,name:share.model_share_wizard
+#: field:share.wizard.result.line,share_wizard_id:0
+#: field:share.wizard.user,share_wizard_id:0
+msgid "Share Wizard"
+msgstr ""
+
+#. module: share
+#: help:share.wizard,user_type:0
+msgid "Select the type of user(s) you would like to share data with."
+msgstr ""
+
+#. module: share
+#: view:share.wizard:0
+msgid "Cancel"
+msgstr "Отменить"
+
+#. module: share
+#: view:share.wizard:0
+msgid "Close"
+msgstr "Закрыть"
+
+#. module: share
+#: help:res.users,share:0
+msgid ""
+"External user with limited access, created only for the purpose of sharing "
+"data."
+msgstr ""
+
+#. module: share
+#: help:share.wizard,domain:0
+msgid "Optional domain for further data filtering"
+msgstr "Дополнительный домен для дальнейшей фильтрации данных"
+
+#. module: share
+#: selection:share.wizard,access_mode:0
+msgid "Read-only"
+msgstr "Только чтение"
+
+#. module: share
+#: code:addons/share/wizard/share_wizard.py:295
+#, python-format
+msgid "*usual password*"
+msgstr "*Обычный пароль*"
+
+#, python-format
+#~ msgid ""
+#~ "You may use the following login and password to get access to this protected "
+#~ "area:"
+#~ msgstr ""
+#~ "Вы можете использовать следующие логин и пароль, для доступа к этой "
+#~ "защищенной зоне:"
diff --git a/addons/stock/report/report_stock_move.py b/addons/stock/report/report_stock_move.py
index 15e430d0599..07289a4379a 100644
--- a/addons/stock/report/report_stock_move.py
+++ b/addons/stock/report/report_stock_move.py
@@ -176,18 +176,22 @@ CREATE OR REPLACE view report_stock_inventory AS (
m.product_id as product_id, pt.categ_id as product_categ_id, l.usage as location_type,
m.company_id,
m.state as state, m.prodlot_id as prodlot_id,
- coalesce(sum(-m.product_qty * u.factor)::decimal, 0.0) as product_qty,
- coalesce(sum(-pt.standard_price * m.product_qty * u.factor)::decimal, 0.0) as value
+ coalesce(sum(-pt.standard_price * m.product_qty)::decimal, 0.0) as value,
+ CASE when pt.uom_id = m.product_uom THEN
+ coalesce(sum(-m.product_qty)::decimal, 0.0)
+ ELSE
+ coalesce(sum(-m.product_qty * pu.factor)::decimal, 0.0) END as product_qty
FROM
stock_move m
LEFT JOIN stock_picking p ON (m.picking_id=p.id)
LEFT JOIN product_product pp ON (m.product_id=pp.id)
LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id)
+ LEFT JOIN product_uom pu ON (pt.uom_id=pu.id)
LEFT JOIN product_uom u ON (m.product_uom=u.id)
LEFT JOIN stock_location l ON (m.location_id=l.id)
GROUP BY
m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id, m.location_id, m.location_dest_id,
- m.prodlot_id, m.date, m.state, l.usage, m.company_id
+ m.prodlot_id, m.date, m.state, l.usage, m.company_id, pt.uom_id
) UNION ALL (
SELECT
-m.id as id, m.date as date,
@@ -195,18 +199,22 @@ CREATE OR REPLACE view report_stock_inventory AS (
m.product_id as product_id, pt.categ_id as product_categ_id, l.usage as location_type,
m.company_id,
m.state as state, m.prodlot_id as prodlot_id,
- coalesce(sum(m.product_qty*u.factor)::decimal, 0.0) as product_qty,
- coalesce(sum(pt.standard_price * m.product_qty * u.factor)::decimal, 0.0) as value
+ coalesce(sum(pt.standard_price * m.product_qty )::decimal, 0.0) as value,
+ CASE when pt.uom_id = m.product_uom THEN
+ coalesce(sum(m.product_qty)::decimal, 0.0)
+ ELSE
+ coalesce(sum(m.product_qty * pu.factor)::decimal, 0.0) END as product_qty
FROM
stock_move m
LEFT JOIN stock_picking p ON (m.picking_id=p.id)
LEFT JOIN product_product pp ON (m.product_id=pp.id)
LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id)
+ LEFT JOIN product_uom pu ON (pt.uom_id=pu.id)
LEFT JOIN product_uom u ON (m.product_uom=u.id)
LEFT JOIN stock_location l ON (m.location_dest_id=l.id)
GROUP BY
m.id, m.product_id, m.product_uom, pt.categ_id, m.address_id, m.location_id, m.location_dest_id,
- m.prodlot_id, m.date, m.state, l.usage, m.company_id
+ m.prodlot_id, m.date, m.state, l.usage, m.company_id, pt.uom_id
)
);
""")
diff --git a/addons/stock/security/ir.model.access.csv b/addons/stock/security/ir.model.access.csv
index 8c7c53ed8ba..68a210e535d 100644
--- a/addons/stock/security/ir.model.access.csv
+++ b/addons/stock/security/ir.model.access.csv
@@ -3,6 +3,7 @@
"access_stock_incoterms_manager","stock.incoterms manager","model_stock_incoterms","stock.group_stock_manager",1,1,1,1
"access_stock_warehouse_manager","stock.warehouse.manager","model_stock_warehouse","stock.group_stock_manager",1,1,1,1
"access_stock_warehouse_user","stock.warehouse.user","model_stock_warehouse","base.group_user",1,0,0,0
+"access_stock_location__partner_manager","stock.location.partner.manager","model_stock_location","base.group_partner_manager",1,1,1,1
"access_stock_location_manager","stock.location.manager","model_stock_location","stock.group_stock_manager",1,1,1,1
"access_stock_location_user","stock.location.user","model_stock_location","base.group_user",1,0,0,0
"access_stock_journal_user","stock.journal.user","model_stock_journal","base.group_user",1,0,0,0
diff --git a/addons/subscription/i18n/gl.po b/addons/subscription/i18n/gl.po
new file mode 100644
index 00000000000..d1fee1eb4be
--- /dev/null
+++ b/addons/subscription/i18n/gl.po
@@ -0,0 +1,341 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-14 18:27+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Galician \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: subscription
+#: field:subscription.subscription,doc_source:0
+#: field:subscription.subscription.history,document_id:0
+msgid "Source Document"
+msgstr "Documento orixe"
+
+#. module: subscription
+#: field:subscription.document,model:0
+msgid "Object"
+msgstr "Obxecto"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "This Week"
+msgstr "Esta semana"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Search Subscription"
+msgstr "Buscar subscrición"
+
+#. module: subscription
+#: field:subscription.subscription,date_init:0
+msgid "First Date"
+msgstr "Primeira data"
+
+#. module: subscription
+#: field:subscription.document.fields,field:0
+msgid "Field"
+msgstr "Campo"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: field:subscription.subscription,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: subscription
+#: model:ir.model,name:subscription.model_subscription_subscription_history
+msgid "Subscription history"
+msgstr "Historial de documentos periódicos"
+
+#. module: subscription
+#: selection:subscription.subscription,state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: subscription
+#: selection:subscription.document.fields,value:0
+msgid "Current Date"
+msgstr "Data actual"
+
+#. module: subscription
+#: selection:subscription.subscription,interval_type:0
+msgid "Weeks"
+msgstr "Semanas"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Today"
+msgstr "Hoxe"
+
+#. module: subscription
+#: code:addons/subscription/subscription.py:44
+#, python-format
+msgid "Error !"
+msgstr "Erro!"
+
+#. module: subscription
+#: model:ir.actions.act_window,name:subscription.action_subscription_form
+#: model:ir.ui.menu,name:subscription.menu_action_subscription_form
+#: view:subscription.subscription:0
+msgid "Subscriptions"
+msgstr "Subscricións"
+
+#. module: subscription
+#: field:subscription.subscription,interval_number:0
+msgid "Interval Qty"
+msgstr "Período: Cantidade de tempo"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Stop"
+msgstr ""
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Set to Draft"
+msgstr "Establecer como borrador"
+
+#. module: subscription
+#: model:ir.module.module,description:subscription.module_meta_information
+msgid ""
+"Module allows to create new documents and add subscription on that document."
+msgstr ""
+"Este módulo permite crear novos documentos e engadir subscricións a este "
+"documento."
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: selection:subscription.subscription,state:0
+msgid "Running"
+msgstr "Executándose"
+
+#. module: subscription
+#: view:subscription.subscription.history:0
+msgid "Subscription History"
+msgstr "Historial de documentos periódicos"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: field:subscription.subscription,user_id:0
+msgid "User"
+msgstr "Usuario"
+
+#. module: subscription
+#: field:subscription.subscription,interval_type:0
+msgid "Interval Unit"
+msgstr "Unidade de intervalo"
+
+#. module: subscription
+#: field:subscription.subscription.history,date:0
+msgid "Date"
+msgstr "Data"
+
+#. module: subscription
+#: field:subscription.subscription,exec_init:0
+msgid "Number of documents"
+msgstr "Número de documentos"
+
+#. module: subscription
+#: help:subscription.document,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the "
+"subscription document without removing it."
+msgstr ""
+"Se se desmarca o campo activo, permite ocultar o documento de subscrición "
+"sen eliminalo."
+
+#. module: subscription
+#: selection:subscription.subscription.history,document_id:0
+msgid "Sale Order"
+msgstr "Pedido de venda"
+
+#. module: subscription
+#: field:subscription.document,name:0
+#: field:subscription.subscription,name:0
+msgid "Name"
+msgstr "Nome"
+
+#. module: subscription
+#: code:addons/subscription/subscription.py:44
+#, python-format
+msgid ""
+"You cannot modify the Object linked to the Document Type!\n"
+"Create another Document instead !"
+msgstr ""
+"Non pode modificar o obxecto vinculado ó tipo de documento! Cree outro "
+"documento no seu lugar!"
+
+#. module: subscription
+#: field:subscription.document,field_ids:0
+msgid "Fields"
+msgstr "Campos"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: field:subscription.subscription,note:0
+#: field:subscription.subscription,notes:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: subscription
+#: selection:subscription.subscription,interval_type:0
+msgid "Months"
+msgstr "Meses"
+
+#. module: subscription
+#: selection:subscription.subscription,interval_type:0
+msgid "Days"
+msgstr "Días"
+
+#. module: subscription
+#: field:subscription.document,active:0
+#: field:subscription.subscription,active:0
+msgid "Active"
+msgstr "Activo"
+
+#. module: subscription
+#: field:subscription.subscription,cron_id:0
+msgid "Cron Job"
+msgstr "Tarea de Cron"
+
+#. module: subscription
+#: model:ir.model,name:subscription.model_subscription_subscription
+#: field:subscription.subscription.history,subscription_id:0
+msgid "Subscription"
+msgstr "Subscrición"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: field:subscription.subscription,partner_id:0
+msgid "Partner"
+msgstr "Socio"
+
+#. module: subscription
+#: help:subscription.subscription,cron_id:0
+msgid "Scheduler which runs on subscription"
+msgstr "Planificador que executa a subscrición."
+
+#. module: subscription
+#: model:ir.ui.menu,name:subscription.config_recuuring_event
+#: model:ir.ui.menu,name:subscription.next_id_45
+msgid "Recurring Events"
+msgstr "Eventos recorrentes"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Subsription Data"
+msgstr "Datos da subscrición"
+
+#. module: subscription
+#: help:subscription.subscription,note:0
+msgid "Description or Summary of Subscription"
+msgstr "Descrición ou resumo da subscrición."
+
+#. module: subscription
+#: model:ir.model,name:subscription.model_subscription_document
+#: view:subscription.document:0
+#: field:subscription.document.fields,document_id:0
+msgid "Subscription Document"
+msgstr "Documento de subscrición"
+
+#. module: subscription
+#: help:subscription.subscription,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the "
+"subscription without removing it."
+msgstr ""
+"Se se desmarca o campo activo, permite ocultar a subscrición sen eliminala."
+
+#. module: subscription
+#: help:subscription.document.fields,value:0
+msgid "Default value is considered for field when new document is generated."
+msgstr ""
+"Tense en conta o valor por defecto do campo cando se xera un novo documento."
+
+#. module: subscription
+#: selection:subscription.document.fields,value:0
+msgid "False"
+msgstr "Falso"
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: subscription
+#: view:subscription.subscription:0
+msgid "Process"
+msgstr "Proceso"
+
+#. module: subscription
+#: model:ir.module.module,shortdesc:subscription.module_meta_information
+msgid "Subscription and recurring operations"
+msgstr "Subscricións e operacións recorrentes"
+
+#. module: subscription
+#: help:subscription.subscription,doc_source:0
+msgid ""
+"User can choose the source document on which he wants to create documents"
+msgstr ""
+"O usuario pode seleccionar o documento orixinal sobre o cal desexa crear os "
+"documentos."
+
+#. module: subscription
+#: model:ir.actions.act_window,name:subscription.action_document_form
+#: model:ir.ui.menu,name:subscription.menu_action_document_form
+msgid "Document Types"
+msgstr "Tipos de documento"
+
+#. module: subscription
+#: code:addons/subscription/subscription.py:115
+#, python-format
+msgid "Wrong Source Document !"
+msgstr "Documento fonte erróneo!"
+
+#. module: subscription
+#: model:ir.model,name:subscription.model_subscription_document_fields
+#: view:subscription.document.fields:0
+msgid "Subscription Document Fields"
+msgstr "Campos do documento de subscrición"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: selection:subscription.subscription,state:0
+msgid "Done"
+msgstr "Feito"
+
+#. module: subscription
+#: selection:subscription.subscription.history,document_id:0
+msgid "Invoice"
+msgstr "Factura"
+
+#. module: subscription
+#: code:addons/subscription/subscription.py:115
+#, python-format
+msgid ""
+"Please provide another source document.\n"
+"This one does not exist !"
+msgstr "Por favor, proporcione outro documento fonte. Este non existe!"
+
+#. module: subscription
+#: field:subscription.document.fields,value:0
+msgid "Default Value"
+msgstr "Valor predeterminado"
+
+#. module: subscription
+#: view:subscription.subscription:0
+#: field:subscription.subscription,doc_lines:0
+msgid "Documents created"
+msgstr "Documentos creados"
diff --git a/addons/survey/i18n/ca.po b/addons/survey/i18n/ca.po
new file mode 100644
index 00000000000..858f5b3952b
--- /dev/null
+++ b/addons/survey/i18n/ca.po
@@ -0,0 +1,1717 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-03 16:58+0000\n"
+"PO-Revision-Date: 2011-04-16 13:20+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Catalan \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-17 04:36+0000\n"
+"X-Generator: Launchpad (build 12735)\n"
+
+#. module: survey
+#: view:survey.print:0
+#: view:survey.print.answer:0
+msgid "Print Option"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:422
+#, python-format
+msgid ""
+"Minimum Required Answer you entered is "
+"greater than the number of answer. "
+"Please use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: view:survey.question.wiz:0
+msgid "Your Messages"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_valid_type:0
+#: field:survey.question,validation_type:0
+msgid "Text Validation"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:434
+#, python-format
+msgid ""
+"Maximum Required Answer you entered for "
+"your maximum is greater than the number of answer. "
+" Please use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: field:survey,invited_user_ids:0
+msgid "Invited User"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Character"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_survey_form1
+#: model:ir.ui.menu,name:survey.menu_print_survey_form
+#: model:ir.ui.menu,name:survey.menu_reporting
+#: model:ir.ui.menu,name:survey.menu_survey_form
+#: model:ir.ui.menu,name:survey.menu_surveys
+msgid "Surveys"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Set to draft"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,in_visible_answer_type:0
+msgid "Is Answer Type Invisible?"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+#: view:survey.request:0
+msgid "Group By..."
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation.log:0
+msgid "Results :"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+msgid "Survey Request"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,required_type:0
+msgid "A Range"
+msgstr ""
+
+#. module: survey
+#: view:survey.response.line:0
+msgid "Table Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.history,date:0
+msgid "Date started"
+msgstr ""
+
+#. module: survey
+#: field:survey,history:0
+msgid "History Lines"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:448
+#, python-format
+msgid ""
+"You must enter one or more menu choices in "
+"column heading (white spaces not allowed)"
+msgstr ""
+
+#. module: survey
+#: field:survey.question.column.heading,in_visible_menu_choice:0
+msgid "Is Menu Choice Invisible??"
+msgstr ""
+
+#. module: survey
+#: field:survey.send.invitation,mail:0
+msgid "Body"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,allow_comment:0
+msgid "Allow Comment Field"
+msgstr ""
+
+#. module: survey
+#: selection:survey.print,paper_size:0
+#: selection:survey.print.answer,paper_size:0
+msgid "A4 (210mm x 297mm)"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_maximum_date:0
+#: field:survey.question,validation_maximum_date:0
+msgid "Maximum date"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,in_visible_menu_choice:0
+msgid "Is Menu Choice Invisible?"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Completed"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,required_type:0
+msgid "Exactly"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Open Date"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,is_comment_require:0
+msgid "Add Comment Field"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:401
+#, python-format
+msgid ""
+"#Required Answer you entered is greater "
+"than the number of answer. Please use a "
+"number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: field:survey.question,tot_resp:0
+msgid "Total Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.tbl.column.heading,name:0
+msgid "Row Number"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_name_wiz
+msgid "survey.name.wiz"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_survey_question_form
+msgid "Survey Questions"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Matrix of Choices (Only One Answers Per Row)"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:475
+#, python-format
+msgid ""
+"Maximum Required Answer you entered for your maximum is greater than the "
+"number of answer. Please use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_question_message
+#: model:ir.model,name:survey.model_survey_question
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Survey Question"
+msgstr ""
+
+#. module: survey
+#: view:survey.question.column.heading:0
+msgid "Use if question type is rating_scale"
+msgstr ""
+
+#. module: survey
+#: field:survey.print,page_number:0
+#: field:survey.print.answer,page_number:0
+msgid "Include Page Number"
+msgstr ""
+
+#. module: survey
+#: view:survey.page:0
+#: view:survey.question:0
+#: view:survey.send.invitation.log:0
+msgid "Ok"
+msgstr ""
+
+#. module: survey
+#: field:survey.page,title:0
+msgid "Page Title"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_define_survey
+msgid "Define Surveys"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_history
+msgid "Survey History"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.answer,comment:0
+#: field:survey.response.line,comment:0
+msgid "Notes"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.request:0
+msgid "Search Survey"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.answer,answer:0
+#: field:survey.tbl.column.heading,value:0
+msgid "Value"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,column_heading_ids:0
+msgid " Column heading"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_run_survey_form
+msgid "Answer a Survey"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:92
+#, python-format
+msgid "Error!"
+msgstr ""
+
+#. module: survey
+#: field:survey,tot_comp_survey:0
+msgid "Total Completed Survey"
+msgstr ""
+
+#. module: survey
+#: view:survey.response.answer:0
+msgid "(Use Only Question Type is matrix_of_drop_down_menus)"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.report.xml,name:survey.survey_analysis
+msgid "Survey Statistics"
+msgstr ""
+
+#. module: survey
+#: selection:survey,state:0
+#: view:survey.request:0
+#: selection:survey.request,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Rating Scale"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_field_type:0
+msgid "Comment Field Type"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:375
+#: code:addons/survey/survey.py:387
+#: code:addons/survey/survey.py:401
+#: code:addons/survey/survey.py:406
+#: code:addons/survey/survey.py:416
+#: code:addons/survey/survey.py:422
+#: code:addons/survey/survey.py:428
+#: code:addons/survey/survey.py:434
+#: code:addons/survey/survey.py:438
+#: code:addons/survey/survey.py:444
+#: code:addons/survey/survey.py:448
+#: code:addons/survey/survey.py:458
+#: code:addons/survey/survey.py:462
+#: code:addons/survey/survey.py:467
+#: code:addons/survey/survey.py:473
+#: code:addons/survey/survey.py:475
+#: code:addons/survey/survey.py:477
+#: code:addons/survey/survey.py:482
+#: code:addons/survey/survey.py:484
+#: code:addons/survey/survey.py:642
+#: code:addons/survey/wizard/survey_answer.py:124
+#: code:addons/survey/wizard/survey_answer.py:131
+#: code:addons/survey/wizard/survey_answer.py:699
+#: code:addons/survey/wizard/survey_answer.py:738
+#: code:addons/survey/wizard/survey_answer.py:758
+#: code:addons/survey/wizard/survey_answer.py:787
+#: code:addons/survey/wizard/survey_answer.py:792
+#: code:addons/survey/wizard/survey_answer.py:800
+#: code:addons/survey/wizard/survey_answer.py:811
+#: code:addons/survey/wizard/survey_answer.py:820
+#: code:addons/survey/wizard/survey_answer.py:825
+#: code:addons/survey/wizard/survey_answer.py:899
+#: code:addons/survey/wizard/survey_answer.py:935
+#: code:addons/survey/wizard/survey_answer.py:953
+#: code:addons/survey/wizard/survey_answer.py:981
+#: code:addons/survey/wizard/survey_answer.py:984
+#: code:addons/survey/wizard/survey_answer.py:987
+#: code:addons/survey/wizard/survey_answer.py:999
+#: code:addons/survey/wizard/survey_answer.py:1006
+#: code:addons/survey/wizard/survey_answer.py:1009
+#: code:addons/survey/wizard/survey_selection.py:134
+#: code:addons/survey/wizard/survey_selection.py:138
+#: code:addons/survey/wizard/survey_send_invitation.py:74
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_field_type:0
+msgid "Single Line Of Text"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation:0
+#: field:survey.send.invitation,send_mail_existing:0
+msgid "Send reminder for existing user"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Multiple Choice (Multiple Answer)"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Edit Survey"
+msgstr ""
+
+#. module: survey
+#: view:survey.response.line:0
+msgid "Survey Answer Line"
+msgstr ""
+
+#. module: survey
+#: field:survey.question.column.heading,menu_choice:0
+msgid "Menu Choice"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,required_type:0
+msgid "At Most"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,is_validation_require:0
+msgid "Validate Text"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.line,single_text:0
+msgid "Text"
+msgstr ""
+
+#. module: survey
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr ""
+
+#. module: survey
+#: selection:survey.print,paper_size:0
+#: selection:survey.print.answer,paper_size:0
+msgid "Letter (8.5\" x 11\")"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: field:survey,responsible_id:0
+msgid "Responsible"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_request
+msgid "survey.request"
+msgstr ""
+
+#. module: survey
+#: field:survey.send.invitation,mail_subject:0
+#: field:survey.send.invitation,mail_subject_existing:0
+msgid "Subject"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_maximum_float:0
+#: field:survey.question,validation_maximum_float:0
+msgid "Maximum decimal number"
+msgstr ""
+
+#. module: survey
+#: selection:survey.request,state:0
+msgid "Wating Answer"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+msgid "Late"
+msgstr ""
+
+#. module: survey
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr ""
+
+#. module: survey
+#: field:survey.send.invitation,mail_from:0
+msgid "From"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Don't Validate Comment Text."
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Must Be A Whole Number"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,question_id:0
+#: field:survey.page,question_ids:0
+#: field:survey.question,question:0
+#: field:survey.question.column.heading,question_id:0
+#: field:survey.response.line,question_id:0
+msgid "Question"
+msgstr ""
+
+#. module: survey
+#: view:survey.page:0
+msgid "Search Survey Page"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation:0
+msgid "Send"
+msgstr ""
+
+#. module: survey
+#: field:survey.question.wiz,name:0
+msgid "Number"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:444
+#, python-format
+msgid ""
+"You must enter one or more menu choices in "
+"column heading"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,help:survey.action_survey_form1
+msgid ""
+"You can create survey for different purposes: recruitment interviews, "
+"employee's periodical evaluations, marketing campaigns, etc. A survey is "
+"made of pages containing questions of several types: text, multiple choices, "
+"etc. You can edit survey manually or click on the 'Edit Survey' for a "
+"WYSIWYG interface."
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.request:0
+#: field:survey.request,state:0
+msgid "State"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+msgid "Evaluation Plan Phase"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Between"
+msgstr ""
+
+#. module: survey
+#: view:survey.print:0
+#: view:survey.print.answer:0
+#: view:survey.print.statistics:0
+msgid "Print"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,make_comment_field:0
+msgid "Make Comment Field an Answer Choice"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: field:survey,type:0
+msgid "Type"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Email"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_answer_surveys
+msgid "Answer Surveys"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response,state:0
+msgid "Not Finished"
+msgstr ""
+
+#. module: survey
+#: view:survey.print:0
+msgid "Survey Print"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation:0
+msgid "Select Partner"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,type:0
+msgid "Question Type"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:131
+#, python-format
+msgid "You can not answer this survey more than %s times"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.act_survey_answer
+msgid "Answers"
+msgstr ""
+
+#. module: survey
+#: model:ir.module.module,description:survey.module_meta_information
+msgid ""
+"\n"
+" This module is used for surveying. It depends on the answers or reviews "
+"of some questions by different users.\n"
+" A survey may have multiple pages. Each page may contain multiple "
+"questions and each question may have multiple answers.\n"
+" Different users may give different answers of question and according to "
+"that survey is done. \n"
+" Partners are also sent mails with user name and password for the "
+"invitation of the survey\n"
+" "
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:124
+#, python-format
+msgid "You can not answer because the survey is not open"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response,response_type:0
+msgid "Link"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_survey_type_form
+#: model:ir.model,name:survey.model_survey_type
+#: view:survey.type:0
+msgid "Survey Type"
+msgstr ""
+
+#. module: survey
+#: field:survey.page,sequence:0
+msgid "Page Nr"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+#: field:survey.question,descriptive_text:0
+#: selection:survey.question,type:0
+msgid "Descriptive Text"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,minimum_req_ans:0
+msgid "Minimum Required Answer"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:484
+#, python-format
+msgid ""
+"You must enter one or more menu choices in column heading (white spaces not "
+"allowed)"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,req_error_msg:0
+msgid "Error Message"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:482
+#, python-format
+msgid "You must enter one or more menu choices in column heading"
+msgstr ""
+
+#. module: survey
+#: field:survey.request,date_deadline:0
+msgid "Deadline date"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Must Be A Date"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_print
+msgid "survey.print"
+msgstr ""
+
+#. module: survey
+#: view:survey.question.column.heading:0
+#: field:survey.question.column.heading,title:0
+msgid "Column Heading"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,is_require_answer:0
+msgid "Require Answer to Question"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_survey_request_tree
+#: model:ir.ui.menu,name:survey.menu_survey_type_form1
+msgid "Survey Requests"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:375
+#: code:addons/survey/survey.py:462
+#, python-format
+msgid "You must enter one or more column heading."
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:758
+#: code:addons/survey/wizard/survey_answer.py:953
+#, python-format
+msgid "Please enter an integer value"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_browse_answer
+msgid "survey.browse.answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_field_type:0
+msgid "Paragraph of Text"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:428
+#, python-format
+msgid ""
+"Maximum Required Answer you entered for "
+"your maximum is greater than the number of answer. "
+" Please use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+msgid "Watting Answer"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "When the question is not answered, display this error message:"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Options"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_browse_survey_response
+msgid "Browse Answers"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.answer,comment_field:0
+#: view:survey.response.line:0
+msgid "Comment"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_answer
+#: model:ir.model,name:survey.model_survey_response_answer
+#: view:survey.answer:0
+#: view:survey.response:0
+#: view:survey.response.answer:0
+#: view:survey.response.line:0
+msgid "Survey Answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Selection"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_browse_survey_response
+#: view:survey:0
+msgid "Answer Survey"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Comment Field"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response,response_type:0
+msgid "Manually"
+msgstr ""
+
+#. module: survey
+#: help:survey,responsible_id:0
+msgid "User responsible for survey"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_column:0
+msgid "Add comment column in matrix"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,response:0
+msgid "#Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.print,without_pagebreak:0
+#: field:survey.print.answer,without_pagebreak:0
+msgid "Print Without Page Breaks"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "When the comment is an invalid format, display this error message"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_selection.py:138
+#, python-format
+msgid ""
+"You can not give more response. Please contact the author of this survey for "
+"further assistance."
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.act_survey_page_question
+#: model:ir.actions.act_window,name:survey.act_survey_question
+msgid "Questions"
+msgstr ""
+
+#. module: survey
+#: help:survey,response_user:0
+msgid "Set to one if you require only one Answer per user"
+msgstr ""
+
+#. module: survey
+#: field:survey,users:0
+msgid "Users"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation:0
+msgid "Message"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.request:0
+msgid "MY"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,maximum_req_ans:0
+msgid "Maximum Required Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.name.wiz,page_no:0
+msgid "Page Number"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:92
+#, python-format
+msgid "Cannot locate survey for the question wizard!"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "and"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_print_statistics
+#: view:survey.print.statistics:0
+msgid "Survey Print Statistics"
+msgstr ""
+
+#. module: survey
+#: field:survey.send.invitation.log,note:0
+msgid "Log"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "When the choices do not add up correctly, display this error message"
+msgstr ""
+
+#. module: survey
+#: field:survey,date_close:0
+msgid "Survey Close Date"
+msgstr ""
+
+#. module: survey
+#: field:survey,date_open:0
+msgid "Survey Open Date"
+msgstr ""
+
+#. module: survey
+#: field:survey.question.column.heading,in_visible_rating_weight:0
+msgid "Is Rating Scale Invisible ??"
+msgstr ""
+
+#. module: survey
+#: view:survey.browse.answer:0
+#: view:survey.name.wiz:0
+msgid "Start"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:477
+#, python-format
+msgid "Maximum Required Answer is greater than Minimum Required Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_maximum_no:0
+#: field:survey.question,validation_maximum_no:0
+msgid "Maximum number"
+msgstr ""
+
+#. module: survey
+#: selection:survey,state:0
+#: selection:survey.request,state:0
+#: selection:survey.response.line,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_print_statistics
+msgid "survey.print.statistics"
+msgstr ""
+
+#. module: survey
+#: selection:survey,state:0
+msgid "Closed"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Matrix of Drop-down Menus"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: field:survey.answer,answer:0
+#: field:survey.name.wiz,response:0
+#: view:survey.page:0
+#: view:survey.print.answer:0
+#: field:survey.print.answer,response_ids:0
+#: view:survey.question:0
+#: field:survey.question,answer_choice_ids:0
+#: field:survey.request,response:0
+#: field:survey.response,question_ids:0
+#: field:survey.response.answer,answer_id:0
+#: field:survey.response.answer,response_id:0
+#: view:survey.response.line:0
+#: field:survey.response.line,response_answer_ids:0
+#: field:survey.response.line,response_id:0
+#: field:survey.response.line,response_table_ids:0
+#: field:survey.send.invitation,partner_ids:0
+#: field:survey.tbl.column.heading,response_table_id:0
+msgid "Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey,max_response_limit:0
+msgid "Maximum Answer Limit"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_act_view_survey_send_invitation
+msgid "Send Invitations"
+msgstr ""
+
+#. module: survey
+#: field:survey.name.wiz,store_ans:0
+msgid "Store Answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Date and Time"
+msgstr ""
+
+#. module: survey
+#: field:survey,state:0
+#: field:survey.response,state:0
+#: field:survey.response.line,state:0
+msgid "Status"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_print
+msgid "Print Survey"
+msgstr ""
+
+#. module: survey
+#: field:survey,send_response:0
+msgid "E-mail Notification on Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.answer,value_choice:0
+msgid "Value Choice"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Started"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_print_answer
+#: view:survey:0
+#: view:survey.print.answer:0
+msgid "Print Answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Multiple Textboxes"
+msgstr ""
+
+#. module: survey
+#: selection:survey.print,orientation:0
+#: selection:survey.print.answer,orientation:0
+msgid "Landscape(Horizontal)"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,no_of_rows:0
+msgid "No of Rows"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.name.wiz:0
+msgid "Survey Details"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Multiple Textboxes With Different Type"
+msgstr ""
+
+#. module: survey
+#: view:survey.question.column.heading:0
+msgid "Menu Choices (each choice on separate lines)"
+msgstr ""
+
+#. module: survey
+#: field:survey.response,response_type:0
+msgid "Answer Type"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Validation"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+#: selection:survey.request,state:0
+msgid "Waiting Answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Must Be A Decimal Number"
+msgstr ""
+
+#. module: survey
+#: field:res.users,survey_id:0
+msgid "Groups"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+#: selection:survey.question,type:0
+msgid "Date"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Integer"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_send_invitation
+msgid "survey.send.invitation"
+msgstr ""
+
+#. module: survey
+#: field:survey.history,user_id:0
+#: view:survey.request:0
+#: field:survey.request,user_id:0
+#: field:survey.response,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: survey
+#: field:survey.name.wiz,transfer:0
+msgid "Page Transfer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response.line,state:0
+msgid "Skiped"
+msgstr ""
+
+#. module: survey
+#: field:survey.print,paper_size:0
+#: field:survey.print.answer,paper_size:0
+msgid "Paper Size"
+msgstr ""
+
+#. module: survey
+#: field:survey.response.answer,column_id:0
+#: field:survey.tbl.column.heading,column_id:0
+msgid "Column"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_tbl_column_heading
+msgid "survey.tbl.column.heading"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_response_line
+msgid "Survey Response Line"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_selection.py:134
+#, python-format
+msgid "You can not give response for this survey more than %s times"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.report.xml,name:survey.report_survey_form
+#: model:ir.model,name:survey.model_survey
+#: view:survey:0
+#: view:survey.browse.answer:0
+#: field:survey.browse.answer,survey_id:0
+#: field:survey.history,survey_id:0
+#: view:survey.name.wiz:0
+#: field:survey.name.wiz,survey_id:0
+#: view:survey.page:0
+#: field:survey.page,survey_id:0
+#: view:survey.print:0
+#: field:survey.print,survey_ids:0
+#: field:survey.print.statistics,survey_ids:0
+#: field:survey.question,survey:0
+#: view:survey.request:0
+#: field:survey.request,survey_id:0
+#: field:survey.response,survey_id:0
+msgid "Survey"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,in_visible_rating_weight:0
+msgid "Is Rating Scale Invisible?"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Numerical Textboxes"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_question_wiz
+msgid "survey.question.wiz"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "History"
+msgstr ""
+
+#. module: survey
+#: help:survey.browse.answer,response_id:0
+msgid ""
+"If this field is empty, all answers of the selected survey will be print."
+msgstr ""
+
+#. module: survey
+#: field:survey.type,code:0
+msgid "Code"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_print_survey_statistics
+msgid "Surveys Statistics"
+msgstr ""
+
+#. module: survey
+#: field:survey.print,orientation:0
+#: field:survey.print.answer,orientation:0
+msgid "Orientation"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.answer:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Seq"
+msgstr ""
+
+#. module: survey
+#: field:survey.request,email:0
+msgid "E-mail"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_minimum_no:0
+#: field:survey.question,validation_minimum_no:0
+msgid "Minimum number"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,req_ans:0
+msgid "#Required Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,sequence:0
+#: field:survey.question,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_label:0
+msgid "Field Label"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Other"
+msgstr ""
+
+#. module: survey
+#: view:survey.request:0
+#: selection:survey.request,state:0
+msgid "Done"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Test Survey"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,rating_allow_one_column_require:0
+msgid "Allow Only One Answer per Column (Forced Ranking)"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.browse.answer:0
+#: view:survey.name.wiz:0
+#: view:survey.print:0
+#: view:survey.print.answer:0
+#: view:survey.print.statistics:0
+#: view:survey.send.invitation:0
+msgid "Cancel"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Close"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_minimum_float:0
+#: field:survey.question,validation_minimum_float:0
+msgid "Minimum decimal number"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: selection:survey,state:0
+msgid "Open"
+msgstr ""
+
+#. module: survey
+#: field:survey,tot_start_survey:0
+msgid "Total Started Survey"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:467
+#, python-format
+msgid ""
+"#Required Answer you entered is greater than the number of answer. Please "
+"use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: help:survey,max_response_limit:0
+msgid "Set to one if survey is answerable only once"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response,state:0
+msgid "Finished "
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_question_column_heading
+msgid "Survey Question Column Heading"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,average:0
+msgid "#Avg"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Matrix of Choices (Multiple Answers Per Row)"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_name
+msgid "Give Survey Answer"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_res_users
+msgid "res.users"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+msgid "Current"
+msgstr ""
+
+#. module: survey
+#: selection:survey.response.line,state:0
+msgid "Answered"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:432
+#, python-format
+msgid "Complete Survey Answer"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Comment/Essay Box"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,type:0
+msgid "Type of Answer"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,required_type:0
+msgid "Respondent must answer"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_send_invitation
+#: view:survey.send.invitation:0
+msgid "Send Invitation"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:792
+#, python-format
+msgid "You cannot select the same answer more than one time"
+msgstr ""
+
+#. module: survey
+#: view:survey.question:0
+msgid "Search Question"
+msgstr ""
+
+#. module: survey
+#: field:survey,title:0
+msgid "Survey Title"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Single Textbox"
+msgstr ""
+
+#. module: survey
+#: field:survey,note:0
+#: field:survey.name.wiz,note:0
+#: view:survey.page:0
+#: field:survey.page,note:0
+#: view:survey.response.line:0
+msgid "Description"
+msgstr ""
+
+#. module: survey
+#: view:survey.name.wiz:0
+msgid "Select Survey"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,required_type:0
+msgid "At Least"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_view_survey_send_invitation_log
+#: model:ir.model,name:survey.model_survey_send_invitation_log
+msgid "survey.send.invitation.log"
+msgstr ""
+
+#. module: survey
+#: selection:survey.print,orientation:0
+#: selection:survey.print.answer,orientation:0
+msgid "Portrait(Vertical)"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Must Be Specific Length"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: field:survey.question,page_id:0
+msgid "Survey Page"
+msgstr ""
+
+#. module: survey
+#: view:survey:0
+#: view:survey.page:0
+#: view:survey.question:0
+msgid "Required Answer"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:473
+#, python-format
+msgid ""
+"Minimum Required Answer you entered is greater than the number of answer. "
+"Please use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:458
+#, python-format
+msgid "You must enter one or more answer."
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.report.xml,name:survey.survey_browse_response
+#: field:survey.browse.answer,response_id:0
+msgid "Survey Answers"
+msgstr ""
+
+#. module: survey
+#: view:survey.browse.answer:0
+msgid "Select Survey and related answer"
+msgstr ""
+
+#. module: survey
+#: model:ir.ui.menu,name:survey.menu_print_survey_answer
+msgid "Surveys Answers"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.act_survey_pages
+msgid "Pages"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:406
+#, python-format
+msgid ""
+"#Required Answer you entered is greater "
+"than the number of answer. Please use a "
+"number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_answer.py:984
+#, python-format
+msgid "You cannot select same answer more than one time'"
+msgstr ""
+
+#. module: survey
+#: selection:survey.print,paper_size:0
+#: selection:survey.print.answer,paper_size:0
+msgid "Legal (8.5\" x 14\")"
+msgstr ""
+
+#. module: survey
+#: field:survey.type,name:0
+msgid "Name"
+msgstr ""
+
+#. module: survey
+#: view:survey.page:0
+msgid "#Questions"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_response
+msgid "survey.response"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_valid_err_msg:0
+#: field:survey.question,make_comment_field_err_msg:0
+#: field:survey.question,numeric_required_sum_err_msg:0
+#: field:survey.question,validation_valid_err_msg:0
+msgid "Error message"
+msgstr ""
+
+#. module: survey
+#: model:ir.module.module,shortdesc:survey.module_meta_information
+msgid "Survey Module"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation:0
+#: field:survey.send.invitation,send_mail:0
+msgid "Send mail for new user"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:387
+#, python-format
+msgid "You must enter one or more Answer."
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:416
+#, python-format
+msgid ""
+"Minimum Required Answer you entered is "
+"greater than the number of answer. Please "
+"use a number that is smaller than %d."
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,menu_choice:0
+msgid "Menu Choices"
+msgstr ""
+
+#. module: survey
+#: field:survey,page_ids:0
+#: view:survey.question:0
+#: field:survey.response.line,page_id:0
+msgid "Page"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:438
+#, python-format
+msgid ""
+"Maximum Required Answer is greater than "
+"Minimum Required Answer"
+msgstr ""
+
+#. module: survey
+#: view:survey.send.invitation.log:0
+msgid "User creation"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,required_type:0
+msgid "All"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,comment_valid_type:0
+#: selection:survey.question,validation_type:0
+msgid "Must Be An Email Address"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+msgid "Multiple Choice (Only One Answer)"
+msgstr ""
+
+#. module: survey
+#: field:survey.answer,in_visible_answer_type:0
+msgid "Is Answer Type Invisible??"
+msgstr ""
+
+#. module: survey
+#: model:ir.model,name:survey.model_survey_print_answer
+msgid "survey.print.answer"
+msgstr ""
+
+#. module: survey
+#: view:survey.answer:0
+msgid "Menu Choices (each choice on separate by lines)"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Float"
+msgstr ""
+
+#. module: survey
+#: view:survey.response.line:0
+msgid "Single Textboxes"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/wizard/survey_send_invitation.py:74
+#, python-format
+msgid "%sSurvey is not in open state"
+msgstr ""
+
+#. module: survey
+#: field:survey.question.column.heading,rating_weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: survey
+#: selection:survey.answer,type:0
+msgid "Date & Time"
+msgstr ""
+
+#. module: survey
+#: field:survey.response,date_create:0
+#: field:survey.response.line,date_create:0
+msgid "Create Date"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,column_name:0
+msgid "Column Name"
+msgstr ""
+
+#. module: survey
+#: model:ir.actions.act_window,name:survey.action_survey_page_form
+#: model:ir.model,name:survey.model_survey_page
+#: model:ir.ui.menu,name:survey.menu_survey_page_form1
+#: view:survey.page:0
+msgid "Survey Pages"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,numeric_required_sum:0
+msgid "Sum of all choices"
+msgstr ""
+
+#. module: survey
+#: selection:survey.question,type:0
+#: view:survey.response.line:0
+msgid "Table"
+msgstr ""
+
+#. module: survey
+#: code:addons/survey/survey.py:642
+#, python-format
+msgid "You cannot duplicate the resource!"
+msgstr ""
+
+#. module: survey
+#: field:survey.question,comment_minimum_date:0
+#: field:survey.question,validation_minimum_date:0
+msgid "Minimum date"
+msgstr ""
+
+#. module: survey
+#: field:survey,response_user:0
+msgid "Maximum Answer per User"
+msgstr ""
+
+#. module: survey
+#: field:survey.name.wiz,page:0
+msgid "Page Position"
+msgstr ""
diff --git a/addons/survey/i18n/pt_BR.po b/addons/survey/i18n/pt_BR.po
index e6c29033c86..179c4ec5937 100644
--- a/addons/survey/i18n/pt_BR.po
+++ b/addons/survey/i18n/pt_BR.po
@@ -8,20 +8,20 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-03 16:58+0000\n"
-"PO-Revision-Date: 2011-03-01 00:32+0000\n"
-"Last-Translator: Emerson \n"
+"PO-Revision-Date: 2011-04-16 21:15+0000\n"
+"Last-Translator: ERIVELTON PIRES GUEDES \n"
"Language-Team: Brazilian Portuguese \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-02 04:38+0000\n"
-"X-Generator: Launchpad (build 12351)\n"
+"X-Launchpad-Export-Date: 2011-04-17 04:36+0000\n"
+"X-Generator: Launchpad (build 12735)\n"
#. module: survey
#: view:survey.print:0
#: view:survey.print.answer:0
msgid "Print Option"
-msgstr ""
+msgstr "Opções de Impressão"
#. module: survey
#: code:addons/survey/survey.py:422
@@ -103,7 +103,7 @@ msgstr "Requisitar Pesquisa"
#. module: survey
#: selection:survey.question,required_type:0
msgid "A Range"
-msgstr ""
+msgstr "Um Intervalo"
#. module: survey
#: view:survey.response.line:0
@@ -113,7 +113,7 @@ msgstr "Tabela de Resposta"
#. module: survey
#: field:survey.history,date:0
msgid "Date started"
-msgstr ""
+msgstr "Data iniciada"
#. module: survey
#: field:survey,history:0
@@ -127,6 +127,8 @@ msgid ""
"You must enter one or more menu choices in "
"column heading (white spaces not allowed)"
msgstr ""
+"Você deve escolher uma ou mais opções de menu no cabeçalho da coluna "
+"(espaços em branco não são permitidos)"
#. module: survey
#: field:survey.question.column.heading,in_visible_menu_choice:0
@@ -392,7 +394,7 @@ msgstr "Linha Simples de Texto"
#: view:survey.send.invitation:0
#: field:survey.send.invitation,send_mail_existing:0
msgid "Send reminder for existing user"
-msgstr ""
+msgstr "Enviar lembrete para usuário existente"
#. module: survey
#: selection:survey.question,type:0
@@ -462,7 +464,7 @@ msgstr "Assunto"
#: field:survey.question,comment_maximum_float:0
#: field:survey.question,validation_maximum_float:0
msgid "Maximum decimal number"
-msgstr ""
+msgstr "Máximo número decimal"
#. module: survey
#: selection:survey.request,state:0
@@ -494,7 +496,7 @@ msgstr ""
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be A Whole Number"
-msgstr ""
+msgstr "Precisa Ser Um Número Completo"
#. module: survey
#: field:survey.answer,question_id:0
@@ -527,6 +529,7 @@ msgid ""
"You must enter one or more menu choices in "
"column heading"
msgstr ""
+"Você precisa especificar um ou mais opções de menu no cabeçalho da coluna"
#. module: survey
#: model:ir.actions.act_window,help:survey.action_survey_form1
@@ -548,7 +551,7 @@ msgstr "Status"
#. module: survey
#: view:survey.request:0
msgid "Evaluation Plan Phase"
-msgstr ""
+msgstr "Fase do Plano de Avaliação"
#. module: survey
#: view:survey:0
@@ -588,7 +591,7 @@ msgstr "Responder Pesquisas"
#. module: survey
#: selection:survey.response,state:0
msgid "Not Finished"
-msgstr ""
+msgstr "Não Acabado"
#. module: survey
#: view:survey.print:0
@@ -666,7 +669,7 @@ msgstr "Texto Descritivo"
#. module: survey
#: field:survey.question,minimum_req_ans:0
msgid "Minimum Required Answer"
-msgstr ""
+msgstr "Mínimo de Respostas Necessárias"
#. module: survey
#: code:addons/survey/survey.py:484
@@ -712,7 +715,7 @@ msgstr "Título de Coluna"
#. module: survey
#: field:survey.question,is_require_answer:0
msgid "Require Answer to Question"
-msgstr ""
+msgstr "Resposta Necessária para a Questão"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_request_tree
@@ -742,7 +745,7 @@ msgstr "survey.browse.answer"
#. module: survey
#: selection:survey.question,comment_field_type:0
msgid "Paragraph of Text"
-msgstr ""
+msgstr "Parágrafo de Texto"
#. module: survey
#: code:addons/survey/survey.py:428
@@ -756,7 +759,7 @@ msgstr ""
#. module: survey
#: view:survey.request:0
msgid "Watting Answer"
-msgstr ""
+msgstr "Aguardando Resposta"
#. module: survey
#: view:survey:0
@@ -1010,7 +1013,7 @@ msgstr "Enviar Convites"
#. module: survey
#: field:survey.name.wiz,store_ans:0
msgid "Store Answer"
-msgstr ""
+msgstr "Armazenar Resposta"
#. module: survey
#: selection:survey.question,type:0
@@ -1054,7 +1057,7 @@ msgstr "Imprimir Resposta"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Textboxes"
-msgstr ""
+msgstr "Múltiplas Caixas de Texto"
#. module: survey
#: selection:survey.print,orientation:0
@@ -1076,7 +1079,7 @@ msgstr "Detalhes da Pesquisa"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Textboxes With Different Type"
-msgstr ""
+msgstr "Múltiplas Caixas de Texto Com Diferentes Tipos"
#. module: survey
#: view:survey.question.column.heading:0
@@ -1097,6 +1100,7 @@ msgstr "Validação"
#. module: survey
#: view:survey.request:0
+#: selection:survey.request,state:0
msgid "Waiting Answer"
msgstr "Aguardando Resposta"
@@ -1138,7 +1142,7 @@ msgstr "Usuário"
#. module: survey
#: field:survey.name.wiz,transfer:0
msgid "Page Transfer"
-msgstr ""
+msgstr "Transferência de Página"
#. module: survey
#: selection:survey.response.line,state:0
@@ -1202,7 +1206,7 @@ msgstr ""
#. module: survey
#: selection:survey.question,type:0
msgid "Numerical Textboxes"
-msgstr ""
+msgstr "Caixas de Texto Numéricas"
#. module: survey
#: model:ir.model,name:survey.model_survey_question_wiz
@@ -1463,7 +1467,7 @@ msgstr "Retrato (Vertical)"
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be Specific Length"
-msgstr ""
+msgstr "Deve Ter Tamanho Específico"
#. module: survey
#: view:survey:0
@@ -1533,7 +1537,7 @@ msgstr "Você não pode selecionar a mesma resposta mais de uma vez"
#: selection:survey.print,paper_size:0
#: selection:survey.print.answer,paper_size:0
msgid "Legal (8.5\" x 14\")"
-msgstr ""
+msgstr "Carta (8.5\" x 14\")"
#. module: survey
#: field:survey.type,name:0
@@ -1587,7 +1591,7 @@ msgstr ""
#. module: survey
#: field:survey.answer,menu_choice:0
msgid "Menu Choices"
-msgstr ""
+msgstr "Opções de Menu"
#. module: survey
#: field:survey,page_ids:0
@@ -1638,7 +1642,7 @@ msgstr "survey.print.answer"
#. module: survey
#: view:survey.answer:0
msgid "Menu Choices (each choice on separate by lines)"
-msgstr ""
+msgstr "Menu de opções (cada opção em uma linha separada)"
#. module: survey
#: selection:survey.answer,type:0
@@ -1688,7 +1692,7 @@ msgstr "Páginas de Pesquisa"
#. module: survey
#: field:survey.question,numeric_required_sum:0
msgid "Sum of all choices"
-msgstr ""
+msgstr "Soma de todas as escolhas"
#. module: survey
#: selection:survey.question,type:0
diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py
index b10368d191f..c42ddde157c 100644
--- a/addons/survey/wizard/survey_answer.py
+++ b/addons/survey/wizard/survey_answer.py
@@ -402,7 +402,7 @@ class survey_question_wiz(osv.osv_memory):
response_id = surv_name_wiz.read(cr, uid, context.get('sur_name_id',False))['response']
context.update({'response_id':response_id})
report = self.create_report(cr, uid, [int(survey_id)], 'report.survey.browse.response', survey_data.title,context)
- attachments = []
+ attachments = {}
file = open(addons.get_module_resource('survey', 'report') + survey_data.title + ".pdf")
file_data = ""
while 1:
@@ -411,7 +411,7 @@ class survey_question_wiz(osv.osv_memory):
if not line:
break
- attachments.append((survey_data.title + ".pdf",file_data))
+ attachments[survey_data.title + ".pdf"] = file_data
file.close()
os.remove(addons.get_module_resource('survey', 'report') + survey_data.title + ".pdf")
user_email = False
diff --git a/addons/survey/wizard/survey_send_invitation.py b/addons/survey/wizard/survey_send_invitation.py
index a4638e3dd04..e86f1970b45 100644
--- a/addons/survey/wizard/survey_send_invitation.py
+++ b/addons/survey/wizard/survey_send_invitation.py
@@ -119,7 +119,7 @@ class survey_send_invitation(osv.osv_memory):
res_user = ""
user_exists = False
new_user = []
- attachments = []
+ attachments = {}
current_sur = survey_ref.browse(cr, uid, context.get('active_id'), context=context)
exist_user = current_sur.invited_user_ids
if exist_user:
@@ -134,8 +134,8 @@ class survey_send_invitation(osv.osv_memory):
file_data += line
if not line:
break
- attachments.append((id.title +".pdf",file_data))
file.close()
+ attachments[id.title +".pdf"] = file_data
os.remove(addons.get_module_resource('survey', 'report') + id.title +".pdf")
for partner in self.pool.get('res.partner').browse(cr, uid, partner_ids):
diff --git a/addons/thunderbird/partner/partner.py b/addons/thunderbird/partner/partner.py
index 3d0f2937a1f..180499ae5b7 100644
--- a/addons/thunderbird/partner/partner.py
+++ b/addons/thunderbird/partner/partner.py
@@ -23,28 +23,7 @@ from osv import osv
import base64
import email
import tools
-import binascii
-class email_thread(osv.osv):
- _inherit = "email.thread"
- def history_message(self, cr, uid, model, res_id, message, context=None):
- #@param message: string of mail which is read from EML File
- attachment_pool = self.pool.get('ir.attachment')
- email_message_pool = self.pool.get('email.message')
- msg = email_message_pool.parse_message(message)
- attachments = msg.get('attachments', [])
- att_ids = []
- for attachment in attachments:
- data_attach = {
- 'name': attachment,
- 'datas': binascii.b2a_base64(str(attachments.get(attachment))),
- 'datas_fname': attachment,
- 'description': 'Mail attachment From Thunderbird msg_id: %s' %(msg.get('message_id', '')),
- 'res_model': model,
- 'res_id': res_id,
- }
- att_ids.append(attachment_pool.create(cr, uid, data_attach))
- return self.history(cr, uid, model, res_id, msg, att_ids)
-email_thread()
+from tools.translate import _
class thunderbird_partner(osv.osv_memory):
_name = "thunderbird.partner"
@@ -67,6 +46,7 @@ class thunderbird_partner(osv.osv_memory):
msg = dictcreate.get('message')
mail = msg
msg = self.pool.get('email.message').parse_message(msg)
+ subject = msg.get('Subject', False)
thread_pool = self.pool.get('email.thread')
message_id = msg.get('message-id', False)
msg_pool = self.pool.get('email.message')
@@ -75,7 +55,6 @@ class thunderbird_partner(osv.osv_memory):
res_ids = []
obj_list= ['crm.lead','project.issue','hr.applicant','res.partner']
for ref_id in ref_ids:
- msg_new = dictcreate.get('message')
ref = ref_id.split(',')
model = ref[0]
res_id = int(ref[1])
@@ -108,7 +87,17 @@ class thunderbird_partner(osv.osv_memory):
res['datas'] = base64.b64encode(mail)
res['res_id'] = res_id
obj_attch.create(cr, uid, res)
- thread_pool.history_message(cr, uid, model, res_id, msg_new)
+ threads = self.pool.get(model).browse(cr, uid, res_id)
+ thread_pool.history(cr, uid, [threads], _('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 = msg.get('attachments', {}),
+ email_date = msg.get('date'))
res_ids.append(res_id)
return len(res_ids)
diff --git a/addons/web_livechat/i18n/tr.po b/addons/web_livechat/i18n/tr.po
new file mode 100644
index 00000000000..e03d64cac46
--- /dev/null
+++ b/addons/web_livechat/i18n/tr.po
@@ -0,0 +1,39 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-26 14:31+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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: web_livechat
+#: sql_constraint:publisher_warranty.contract:0
+msgid ""
+"Your publisher warranty contract is already subscribed in the system !"
+msgstr "Yayıncı garanti sözleşmeniz halihazırda sistemde kayıtlı !"
+
+#. module: web_livechat
+#: model:ir.module.module,shortdesc:web_livechat.module_meta_information
+msgid "Live Chat Support"
+msgstr "Canlı Sohbet Desteği"
+
+#. module: web_livechat
+#: model:ir.model,name:web_livechat.model_publisher_warranty_contract
+msgid "publisher_warranty.contract"
+msgstr "publisher_warranty.contract"
+
+#. module: web_livechat
+#: model:ir.module.module,description:web_livechat.module_meta_information
+msgid "Enable live chat support for whom have a maintenance contract"
+msgstr "Bakım sözleşmesi olanlar için canlı sohbet desteğini açar"
diff --git a/addons/web_uservoice/i18n/tr.po b/addons/web_uservoice/i18n/tr.po
new file mode 100644
index 00000000000..3b21df4ae98
--- /dev/null
+++ b/addons/web_uservoice/i18n/tr.po
@@ -0,0 +1,29 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-12 16:15+0000\n"
+"PO-Revision-Date: 2011-04-27 14:05+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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: web_uservoice
+#: model:ir.module.module,shortdesc:web_uservoice.module_meta_information
+msgid "Add uservoice button in header"
+msgstr "Başlığa Uservoice tuşu ekle"
+
+#. module: web_uservoice
+#: code:addons/web_uservoice/web/editors.py:72
+#, python-format
+msgid "feedback"
+msgstr "geri bildirim"
diff --git a/addons/wiki/i18n/ru.po b/addons/wiki/i18n/ru.po
index 283ff319c9c..7bb7b2fae3b 100644
--- a/addons/wiki/i18n/ru.po
+++ b/addons/wiki/i18n/ru.po
@@ -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:16+0000\n"
-"PO-Revision-Date: 2011-01-12 17:12+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2011-04-15 20:00+0000\n"
+"Last-Translator: Chertykov Denis \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:44+0000\n"
-"X-Generator: Launchpad (build 12177)\n"
+"X-Launchpad-Export-Date: 2011-04-16 04:59+0000\n"
+"X-Generator: Launchpad (build 12735)\n"
#. module: wiki
#: field:wiki.groups,template:0
@@ -30,7 +30,7 @@ msgstr "Wiki страницы"
#. module: wiki
#: field:wiki.groups,method:0
msgid "Display Method"
-msgstr ""
+msgstr "Метод вывода"
#. module: wiki
#: view:wiki.wiki:0
@@ -57,7 +57,7 @@ msgstr "Секция"
#. module: wiki
#: help:wiki.wiki,toc:0
msgid "Indicates that this pages have a table of contents or not"
-msgstr ""
+msgstr "Показывает имеется ли содержание на этой странице"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki_history
@@ -68,7 +68,7 @@ msgstr "История Wiki"
#. module: wiki
#: field:wiki.wiki,minor_edit:0
msgid "Minor edit"
-msgstr ""
+msgstr "Малозначимое изменение"
#. module: wiki
#: view:wiki.wiki:0
@@ -79,18 +79,18 @@ msgstr "Содержание"
#. module: wiki
#: field:wiki.wiki,child_ids:0
msgid "Child Pages"
-msgstr ""
+msgstr "Подчиненные страницы"
#. module: wiki
#: field:wiki.wiki,parent_id:0
msgid "Parent Page"
-msgstr ""
+msgstr "Главная страница"
#. module: wiki
#: view:wiki.wiki:0
#: field:wiki.wiki,write_uid:0
msgid "Last Contributor"
-msgstr ""
+msgstr "Последний корректор"
#. module: wiki
#: field:wiki.create.menu,menu_parent_id:0
@@ -100,7 +100,7 @@ msgstr "Родительское меню"
#. module: wiki
#: help:wiki.wiki,group_id:0
msgid "Topic, also called Wiki Group"
-msgstr ""
+msgstr "Тема, которая также называется Вики группа"
#. module: wiki
#: field:wiki.groups,name:0
@@ -117,12 +117,12 @@ msgstr "Заголовок"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_create_menu
msgid "Wizard Create Menu"
-msgstr ""
+msgstr "Помощник создания меню"
#. module: wiki
#: field:wiki.wiki,history_id:0
msgid "History Lines"
-msgstr ""
+msgstr "Строки истории"
#. module: wiki
#: view:wiki.wiki:0
@@ -144,7 +144,7 @@ msgstr ""
#. module: wiki
#: model:ir.module.module,shortdesc:wiki.module_meta_information
msgid "Document Management - Wiki"
-msgstr ""
+msgstr "Управление документами - Вики"
#. module: wiki
#: field:wiki.create.menu,menu_name:0
@@ -159,7 +159,7 @@ msgstr "Описание"
#. module: wiki
#: field:wiki.wiki,review:0
msgid "Needs Review"
-msgstr ""
+msgstr "Нуждается в проверке"
#. module: wiki
#: help:wiki.wiki,review:0
@@ -167,6 +167,8 @@ msgid ""
"Indicates that this page should be reviewed, raising the attention of other "
"contributors"
msgstr ""
+"Указывает, что эта страница должна быть проверена, привлекает внимание "
+"других участников"
#. module: wiki
#: view:wiki.create.menu:0
@@ -177,7 +179,7 @@ msgstr "Информация меню"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history
msgid "Page History"
-msgstr ""
+msgstr "История страницы"
#. module: wiki
#: selection:wiki.groups,method:0
@@ -244,12 +246,12 @@ msgstr "Описание группы"
#. module: wiki
#: help:wiki.wiki,section:0
msgid "Use page section code like 1.2.1"
-msgstr ""
+msgstr "Используйте код выбора страницы, например: 1.2.1"
#. module: wiki
#: view:wiki.wiki.page.open:0
msgid "Want to open a wiki page? "
-msgstr ""
+msgstr "Хотите открыть вики ? "
#. module: wiki
#: field:wiki.groups,section:0
@@ -311,7 +313,7 @@ msgstr "История всех страниц"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki
msgid "wiki.wiki"
-msgstr ""
+msgstr "wiki.wiki"
#. module: wiki
#: help:wiki.groups,method:0
@@ -342,12 +344,12 @@ msgstr "Главная страница"
#. module: wiki
#: help:wiki.wiki,parent_id:0
msgid "Allows you to link with the other page with in the current topic"
-msgstr ""
+msgstr "Позволяет сделать ссылку на другую страницу в текущем разделе"
#. module: wiki
#: view:wiki.wiki:0
msgid "Modification Information"
-msgstr ""
+msgstr "Информация об изменениях"
#. module: wiki
#: model:ir.ui.menu,name:wiki.menu_wiki_configuration
@@ -395,7 +397,7 @@ msgstr "Создать меню"
#. module: wiki
#: field:wiki.wiki.history,minor_edit:0
msgid "This is a major edit ?"
-msgstr ""
+msgstr "Это существенные изменения ?"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_wiki_groups
@@ -404,7 +406,7 @@ msgstr ""
#: model:ir.ui.menu,name:wiki.menu_action_wiki_groups
#: view:wiki.groups:0
msgid "Wiki Groups"
-msgstr ""
+msgstr "Вики группы"
#. module: wiki
#: view:wiki.wiki:0
@@ -414,7 +416,7 @@ msgstr "Тема"
#. module: wiki
#: field:wiki.wiki.history,write_uid:0
msgid "Modify By"
-msgstr ""
+msgstr "Изменено"
#. module: wiki
#: code:addons/wiki/web/widgets/wikimarkup/__init__.py:1981
@@ -427,7 +429,7 @@ msgstr "Содержание"
#: view:wiki.groups:0
#: view:wiki.wiki.page.open:0
msgid "Open Wiki Page"
-msgstr ""
+msgstr "Открыть вики-страницу"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki_page_open
@@ -454,7 +456,7 @@ msgstr "Необходима Проверка"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_wiki_review
msgid "Pages Waiting Review"
-msgstr ""
+msgstr "Страницы ожидающие проверки"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
@@ -514,3 +516,6 @@ msgstr "Страница поиска"
#~ msgid "Size of the field can never be less than 1 !"
#~ msgstr "Размер поля не может быть меньше 1 !"
+
+#~ msgid "Child Groups"
+#~ msgstr "Подчиненные группы"
diff --git a/addons/wiki_faq/i18n/tr.po b/addons/wiki_faq/i18n/tr.po
new file mode 100644
index 00000000000..2217d0c43a2
--- /dev/null
+++ b/addons/wiki_faq/i18n/tr.po
@@ -0,0 +1,32 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-26 14:28+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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: wiki_faq
+#: model:ir.module.module,description:wiki_faq.module_meta_information
+msgid ""
+"This module provides a wiki FAQ Template\n"
+" "
+msgstr ""
+"Bu modül bir wiki Sıkça Sorulan Sorular Şablonu içerir\n"
+" "
+
+#. module: wiki_faq
+#: model:ir.module.module,shortdesc:wiki_faq.module_meta_information
+msgid "Document Management - Wiki - FAQ"
+msgstr "Döküman Yönetimi - Wiki - SSS"
diff --git a/addons/wiki_quality_manual/i18n/ru.po b/addons/wiki_quality_manual/i18n/ru.po
new file mode 100644
index 00000000000..2a3518f245f
--- /dev/null
+++ b/addons/wiki_quality_manual/i18n/ru.po
@@ -0,0 +1,32 @@
+# Russian 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-26 05:37+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Russian \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: wiki_quality_manual
+#: model:ir.module.module,description:wiki_quality_manual.module_meta_information
+msgid ""
+"Quality Manual Template\n"
+" "
+msgstr ""
+"Шаблон руководства по качеству\n"
+" "
+
+#. module: wiki_quality_manual
+#: model:ir.module.module,shortdesc:wiki_quality_manual.module_meta_information
+msgid "Document Management - Wiki - Quality Manual"
+msgstr "Управление документами - Вики - Руководство по качеству"
diff --git a/addons/wiki_quality_manual/i18n/tr.po b/addons/wiki_quality_manual/i18n/tr.po
new file mode 100644
index 00000000000..0427a2b010c
--- /dev/null
+++ b/addons/wiki_quality_manual/i18n/tr.po
@@ -0,0 +1,32 @@
+# 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 , 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-04-26 14:28+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Turkish \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: wiki_quality_manual
+#: model:ir.module.module,description:wiki_quality_manual.module_meta_information
+msgid ""
+"Quality Manual Template\n"
+" "
+msgstr ""
+"Kalite El Kitabı Şablonu\n"
+" "
+
+#. module: wiki_quality_manual
+#: model:ir.module.module,shortdesc:wiki_quality_manual.module_meta_information
+msgid "Document Management - Wiki - Quality Manual"
+msgstr "Döküman Yönetimi - Wiki - Kalite El Kitabı"