diff --git a/addons/account/account.py b/addons/account/account.py
index c9dd1950347..cfba30856a9 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -541,10 +541,18 @@ class account_account(osv.osv):
return False
return True
+ def _check_company_account(self, cr, uid, ids, context=None):
+ for account in self.browse(cr, uid, ids, context=context):
+ if account.parent_id:
+ if account.company_id != account.parent_id.company_id:
+ return False
+ return True
+
_constraints = [
(_check_recursion, 'Error!\nYou cannot create recursive accounts.', ['parent_id']),
(_check_type, 'Configuration Error!\nYou cannot define children to an account with internal type different of "View".', ['type']),
(_check_account_type, 'Configuration Error!\nYou cannot select an account type with a deferral method different of "Unreconciled" for accounts with internal type "Payable/Receivable".', ['user_type','type']),
+ (_check_company_account, 'Error!\nYou cannot create an account which has parent account of different company.', ['parent_id']),
]
_sql_constraints = [
('code_company_uniq', 'unique (code,company_id)', 'The code of the account must be unique per company !')
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 67a55d8f451..0b918d9874c 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -917,7 +917,7 @@ class account_move_line(osv.osv):
if lines and lines[0]:
partner_id = lines[0].partner_id and lines[0].partner_id.id or False
- if not partner_obj.has_something_to_reconcile(cr, uid, partner_id, context=context):
+ if partner_id and not partner_obj.has_something_to_reconcile(cr, uid, partner_id, context=context):
partner_obj.mark_as_reconciled(cr, uid, [partner_id], context=context)
return r_id
@@ -975,7 +975,7 @@ class account_move_line(osv.osv):
if context is None:
context = {}
result = super(account_move_line, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu)
- if view_type != 'tree':
+ if (view_type != 'tree') or view_id:
#Remove the toolbar from the form view
if view_type == 'form':
if result.get('toolbar', False):
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 19128b42d6e..4ef50a3a62d 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -306,7 +306,7 @@
Unrealized Gain or Lossaccount.account
-
+
@@ -1791,7 +1791,7 @@
-
+
@@ -2159,7 +2159,8 @@
-
+
+
diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml
index 4bee2002ffd..d17f8c18eee 100644
--- a/addons/account/partner_view.xml
+++ b/addons/account/partner_view.xml
@@ -6,7 +6,7 @@
account.fiscal.position.formaccount.fiscal.position
-
diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py
index c9961fa8a1d..96a37c0e448 100644
--- a/addons/hr_expense/hr_expense.py
+++ b/addons/hr_expense/hr_expense.py
@@ -236,16 +236,6 @@ class product_product(osv.osv):
'hr_expense_ok': fields.boolean('Can be Expensed', help="Specify if the product can be selected in an HR expense line."),
}
- def on_change_hr_expense_ok(self, cr, uid, id, hr_expense_ok):
-
- if not hr_expense_ok:
- return {}
- data_obj = self.pool.get('ir.model.data')
- cat_id = data_obj._get_id(cr, uid, 'hr_expense', 'cat_expense')
- categ_id = data_obj.browse(cr, uid, cat_id).res_id
- res = {'value' : {'type':'service','sale_ok' :False,'categ_id':categ_id }}
- return res
-
product_product()
class hr_expense_line(osv.osv):
diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml
index 74b77009aae..d4b7cbae1ce 100644
--- a/addons/hr_expense/hr_expense_view.xml
+++ b/addons/hr_expense/hr_expense_view.xml
@@ -195,7 +195,7 @@
-
+
diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py
index f315f3d4ef3..92b1d57ce15 100644
--- a/addons/hr_holidays/hr_holidays.py
+++ b/addons/hr_holidays/hr_holidays.py
@@ -90,6 +90,18 @@ class hr_holidays_status(osv.osv):
'color_name': 'red',
'active': True,
}
+
+ def name_get(self, cr, uid, ids, context=None):
+ if not ids:
+ return []
+ res = []
+ for record in self.browse(cr, uid, ids, context=context):
+ name = record.name
+ if not record.limit:
+ name = name + (' (%d/%d)' % (record.leaves_taken or 0.0, record.max_leaves or 0.0))
+ res.append((record.id, name))
+ return res
+
hr_holidays_status()
class hr_holidays(osv.osv):
@@ -113,6 +125,13 @@ class hr_holidays(osv.osv):
result[hol.id] = hol.number_of_days_temp
return result
+ def _check_date(self, cr, uid, ids):
+ for holiday in self.browse(cr, uid, ids):
+ holiday_ids = self.search(cr, uid, [('date_from', '<=', holiday.date_to), ('date_to', '>=', holiday.date_from), ('employee_id', '=', holiday.employee_id.id), ('id', '<>', holiday.id)])
+ if holiday_ids:
+ return False
+ return True
+
_columns = {
'name': fields.char('Description', size=64),
'state': fields.selection([('draft', 'To Submit'), ('cancel', 'Cancelled'),('confirm', 'To Approve'), ('refuse', 'Refused'), ('validate1', 'Second Approval'), ('validate', 'Approved')],
@@ -146,6 +165,10 @@ class hr_holidays(osv.osv):
'user_id': lambda obj, cr, uid, context: uid,
'holiday_type': 'employee'
}
+ _constraints = [
+ (_check_date, 'You can not have 2 leaves that overlaps on same day!', ['date_from','date_to']),
+ ]
+
_sql_constraints = [
('type_value', "CHECK( (holiday_type='employee' AND employee_id IS NOT NULL) or (holiday_type='category' AND category_id IS NOT NULL))", "The employee or employee category of this request is missing."),
('date_check2', "CHECK ( (type='add') OR (date_from <= date_to))", "The start date must be anterior to the end date."),
@@ -252,6 +275,13 @@ class hr_holidays(osv.osv):
result['value']['number_of_days_temp'] = 0
return result
+
+ def write(self, cr, uid, ids, vals, context=None):
+ check_fnct = self.pool.get('hr.holidays.status').check_access_rights
+ for holiday in self.browse(cr, uid, ids, context=context):
+ if holiday.state in ('validate','validate1') and not check_fnct(cr, uid, 'write', raise_exception=False):
+ raise osv.except_osv(_('Warning!'),_('You cannot modify a leave request that has been approved. Contact a human resource manager.'))
+ return super(hr_holidays, self).write(cr, uid, ids, vals, context=context)
def set_to_draft(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {
diff --git a/addons/hr_holidays/hr_holidays_demo.xml b/addons/hr_holidays/hr_holidays_demo.xml
index 4c9d18683c7..accf8c26935 100644
--- a/addons/hr_holidays/hr_holidays_demo.xml
+++ b/addons/hr_holidays/hr_holidays_demo.xml
@@ -34,8 +34,8 @@
Summer Vacation
-
-
+
+ adddraft7
@@ -45,8 +45,8 @@
International Tour
-
-
+
+ add7
diff --git a/addons/hr_recruitment/static/src/js/hr_recruitment.js b/addons/hr_recruitment/static/src/js/hr_recruitment.js
index 9a0a6e4c894..d11326ac9de 100644
--- a/addons/hr_recruitment/static/src/js/hr_recruitment.js
+++ b/addons/hr_recruitment/static/src/js/hr_recruitment.js
@@ -16,7 +16,7 @@ openerp.hr_recruitment = function(openerp) {
// Find their matching names
var dataset = new openerp.web.DataSetSearch(self, 'hr.applicant_category', self.session.context, [['id', 'in', _.uniq(categ_ids)]]);
- dataset.read_slice(['id', 'name']).then(function(result) {
+ dataset.read_slice(['id', 'name']).done(function(result) {
_.each(result, function(v, k) {
// Set the proper value in the DOM and display the element
self.$el.find('span[data-categ_id=' + v.id + ']').text(v.name);
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_demo.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_demo.xml
index cc531fc8f10..0ebe16ad49f 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_demo.xml
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_demo.xml
@@ -7,7 +7,7 @@
50.0
- Gratis
+ Free of chargeOffered developments100.0
diff --git a/addons/hr_timesheet_sheet/static/src/js/timesheet.js b/addons/hr_timesheet_sheet/static/src/js/timesheet.js
index e64c4d602e8..efff48d93b8 100644
--- a/addons/hr_timesheet_sheet/static/src/js/timesheet.js
+++ b/addons/hr_timesheet_sheet/static/src/js/timesheet.js
@@ -46,7 +46,7 @@ openerp.hr_timesheet_sheet = function(instance) {
var commands = this.field_manager.get_field_value("timesheet_ids");
this.res_o2m_drop.add(new instance.web.Model(this.view.model).call("resolve_2many_commands", ["timesheet_ids", commands, [],
new instance.web.CompoundContext()]))
- .then(function(result) {
+ .done(function(result) {
self.querying = true;
self.set({sheets: result});
self.querying = false;
@@ -57,7 +57,7 @@ openerp.hr_timesheet_sheet = function(instance) {
if (self.querying)
return;
self.updating = true;
- self.field_manager.set_values({timesheet_ids: self.get("sheets")}).then(function() {
+ self.field_manager.set_values({timesheet_ids: self.get("sheets")}).done(function() {
self.updating = false;
});
},
@@ -85,7 +85,7 @@ openerp.hr_timesheet_sheet = function(instance) {
var default_get;
return this.render_drop.add(new instance.web.Model("hr.analytic.timesheet").call("default_get", [
['account_id','general_account_id', 'journal_id','date','name','user_id','product_id','product_uom_id','to_invoice','amount','unit_amount'],
- new instance.web.CompoundContext({'user_id': self.get('user_id')})]).pipe(function(result) {
+ new instance.web.CompoundContext({'user_id': self.get('user_id')})]).then(function(result) {
default_get = result;
// calculating dates
dates = [];
@@ -108,9 +108,9 @@ openerp.hr_timesheet_sheet = function(instance) {
var account_ids = _.map(_.keys(accounts), function(el) { return el === "false" ? false : Number(el) });
return new instance.web.Model("hr.analytic.timesheet").call("multi_on_change_account_id", [[], account_ids,
- new instance.web.CompoundContext({'user_id': self.get('user_id')})]).pipe(function(accounts_defaults) {
+ new instance.web.CompoundContext({'user_id': self.get('user_id')})]).then(function(accounts_defaults) {
accounts = _(accounts).chain().map(function(lines, account_id) {
- account_defaults = _.extend({}, default_get, accounts_defaults[account_id]);
+ account_defaults = _.extend({}, default_get, (accounts_defaults[account_id] || {}).value || {});
// group by days
account_id = account_id === "false" ? false : Number(account_id);
var index = _.groupBy(lines, "date");
@@ -136,7 +136,7 @@ openerp.hr_timesheet_sheet = function(instance) {
// we need the name_get of the analytic accounts
return new instance.web.Model("account.analytic.account").call("name_get", [_.pluck(accounts, "account"),
- new instance.web.CompoundContext()]).pipe(function(result) {
+ new instance.web.CompoundContext()]).then(function(result) {
account_names = {};
_.each(result, function(el) {
account_names[el[0]] = el[1];
@@ -146,7 +146,7 @@ openerp.hr_timesheet_sheet = function(instance) {
});
});;
});
- })).pipe(function(result) {
+ })).then(function(result) {
// we put all the gathered data in self, then we render
self.dates = dates;
self.accounts = accounts;
@@ -222,7 +222,7 @@ openerp.hr_timesheet_sheet = function(instance) {
return;
}
var ops = self.generate_o2m_value();
- new instance.web.Model("hr.analytic.timesheet").call("on_change_account_id", [[], id]).pipe(function(res) {
+ new instance.web.Model("hr.analytic.timesheet").call("on_change_account_id", [[], id]).then(function(res) {
var def = _.extend({}, self.default_get, res.value, {
name: self.description_line,
unit_amount: 0,
diff --git a/addons/l10n_fr_rib/i18n/es.po b/addons/l10n_fr_rib/i18n/es.po
new file mode 100644
index 00000000000..e0accc79fcb
--- /dev/null
+++ b/addons/l10n_fr_rib/i18n/es.po
@@ -0,0 +1,136 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-11-08 16:01+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-09 04:39+0000\n"
+"X-Generator: Launchpad (build 16250)\n"
+
+#. module: l10n_fr_rib
+#: constraint:res.partner.bank:0
+msgid ""
+"\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make "
+"valid payments"
+msgstr ""
+"\n"
+"Por favor defina el código BIC/Swift del banco para una cuenta de tipo IBAN "
+"para realizar pagos válidos"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
+msgid "RIB and optional IBAN"
+msgstr "CC e IBAN opcional"
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,rib_acc_number:0
+msgid "RIB account number"
+msgstr "Número de la cuenta"
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,bank_code:0
+msgid "Bank Code"
+msgstr "Código de banco"
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:54
+#, python-format
+msgid "The RIB key %s does not correspond to the other codes: %s %s %s."
+msgstr "La clave de la CC %s no se corresponde con otros códigos: %s %s %s."
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
+msgid "office"
+msgstr "oficina"
+
+#. module: l10n_fr_rib
+#: field:res.bank,rib_code:0
+msgid "RIB Bank Code"
+msgstr "Código CC"
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:58
+#, python-format
+msgid "The IBAN %s is not valid."
+msgstr "El IBAN %s no es válido."
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Cuentas bancarias"
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,office:0
+msgid "Office Code"
+msgstr "Código de oficina"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
+msgid "bank_bic"
+msgstr "Número BIC"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
+msgid "bank_code"
+msgstr "código bancario"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
+msgid "key"
+msgstr "clave"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_rib_acc_number_field
+msgid "rib_acc_number"
+msgstr "Número CC"
+
+#. module: l10n_fr_rib
+#: help:res.partner.bank,key:0
+msgid ""
+"The key is a number allowing to check the correctness of the other codes."
+msgstr ""
+"La clave es un número que permite comprobar si el resto de códigos son "
+"correctos."
+
+#. module: l10n_fr_rib
+#: field:res.partner.bank,key:0
+msgid "Key"
+msgstr "Clave"
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:53
+#: code:addons/l10n_fr_rib/bank.py:58
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
+msgid "%(bank_name)s: %(bank_code)s %(office)s %(rib_acc_number)s %(key)s"
+msgstr "%(bank_name)s: %(bank_code)s %(office)s %(rib_acc_number)s %(key)s"
+
+#. module: l10n_fr_rib
+#: constraint:res.partner.bank:0
+msgid "The RIB and/or IBAN is not valid"
+msgstr "La CC y/o IBAN no es válida"
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_bank
+msgid "Bank"
+msgstr "Banco"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_acc_number_field
+msgid "acc_number"
+msgstr "Número cuenta"
diff --git a/addons/l10n_multilang/i18n/es.po b/addons/l10n_multilang/i18n/es.po
new file mode 100644
index 00000000000..4ba54992c5b
--- /dev/null
+++ b/addons/l10n_multilang/i18n/es.po
@@ -0,0 +1,177 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 01:06+0000\n"
+"PO-Revision-Date: 2012-11-08 14:29+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-09 04:39+0000\n"
+"X-Generator: Launchpad (build 16250)\n"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position_template
+msgid "Template for Fiscal Position"
+msgstr "Plantilla para posición fiscal"
+
+#. module: l10n_multilang
+#: sql_constraint:account.account:0
+msgid "The code of the account must be unique per company !"
+msgstr "¡El código de la cuenta debe ser único por compañía!"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid ""
+"Configuration Error!\n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"Error de configuración!\n"
+"¡No puede definir hijos para una cuenta con el tipo interno distinto de "
+"\"Vista\"! "
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_journal
+msgid "Analytic Journal"
+msgstr "Diario analítico"
+
+#. module: l10n_multilang
+#: constraint:account.account.template:0
+msgid "Error ! You can not create recursive account templates."
+msgstr "¡Error! No puede crear plantillas de cuentas recursivas."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_journal
+msgid "Journal"
+msgstr "Diario"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_chart_template
+msgid "Templates for Account Chart"
+msgstr "Plantillas para el plan contable"
+
+#. module: l10n_multilang
+#: sql_constraint:account.tax:0
+msgid "The description must be unique per company!"
+msgstr "¡La descripción debe ser única por compañia!"
+
+#. module: l10n_multilang
+#: constraint:account.tax.code.template:0
+msgid "Error ! You can not create recursive Tax Codes."
+msgstr "¡Error! No puede crear códigos de impuestos recursivos."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_template
+msgid "account.tax.template"
+msgstr "Plantilla de impuestos"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax
+msgid "account.tax"
+msgstr "Impuesto"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account
+msgid "Account"
+msgstr "Cuenta"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_wizard_multi_charts_accounts
+msgid "wizard.multi.charts.accounts"
+msgstr "Asistente de plan de cuentas"
+
+#. module: l10n_multilang
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+"¡Error de configuración! La moneda elegida debería ser también la misma en "
+"las cuentas por defecto"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_account_template
+msgid "Templates for Accounts"
+msgstr "Plantillas para cuentas"
+
+#. module: l10n_multilang
+#: help:account.chart.template,spoken_languages:0
+msgid ""
+"State here the languages for which the translations of templates could be "
+"loaded at the time of installation of this localization module and copied in "
+"the final object when generating them from templates. You must provide the "
+"language codes separated by ';'"
+msgstr ""
+"Indique aquí los idiomas para los que las traducciones de las plantillas "
+"pueden ser cargadas en el momento de la instalación de este módulo de "
+"localización y copiados en el objeto final cuando se generen desde las "
+"plantillas. Debe proveer los códigos de idioma separados por ';'."
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid "Error ! You can not create recursive accounts."
+msgstr "¡Error! No se pueden crear cuentas recursivas."
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not select an account type with a deferral method different of "
+"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
+msgstr ""
+"¡Error de configuración! \n"
+"¡No puede seleccionar un tipo de cuenta con un método de cierre diferente de "
+"\"Reconciliado\" para las cuentas con tipo interno \"A pagar/A cobrar\"! "
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "¡El nombre del diaro debe ser único por compañía!"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_analytic_account
+msgid "Analytic Account"
+msgstr "Cuenta analítica"
+
+#. module: l10n_multilang
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "¡El código del diario debe ser único por compañía!"
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_fiscal_position
+msgid "Fiscal Position"
+msgstr "Posición fiscal"
+
+#. module: l10n_multilang
+#: constraint:account.account:0
+msgid ""
+"Configuration Error! \n"
+"You can not define children to an account with internal type different of "
+"\"View\"! "
+msgstr ""
+"¡Error de configuración! \n"
+"¡No puede definir hijos en una cuenta con tipo interno distinto a \"Vista\"! "
+
+#. module: l10n_multilang
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr "¡Error! No puede crear cuentas analíticas recursivas."
+
+#. module: l10n_multilang
+#: model:ir.model,name:l10n_multilang.model_account_tax_code_template
+msgid "Tax Code Template"
+msgstr "Plantilla códigos de impuestos"
+
+#. module: l10n_multilang
+#: field:account.chart.template,spoken_languages:0
+msgid "Spoken Languages"
+msgstr "Idiomas hablados"
diff --git a/addons/mail/__init__.py b/addons/mail/__init__.py
index aea7ee62cbc..003369be38f 100644
--- a/addons/mail/__init__.py
+++ b/addons/mail/__init__.py
@@ -22,12 +22,12 @@
import mail_message_subtype
import mail_alias
import mail_followers
+import mail_favorite
import mail_message
import mail_mail
import mail_thread
import mail_group
import mail_vote
-import mail_favorite
import res_partner
import res_users
import report
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index bda93fc485d..2ab391a3f02 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -2,6 +2,11 @@
+
+
+ none
+
+
mail.group
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index 1eb3c29e556..7acebe9b1df 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -357,7 +357,7 @@ openerp.mail = function (session) {
this.context.default_parent_id,
attachments,
this.parent_thread.context
- ]).then(function (record) {
+ ]).done(function (record) {
var thread = self.parent_thread;
// create object and attach to the thread object
thread.message_fetch(false, false, [record], function (arg, data) {
@@ -745,7 +745,7 @@ openerp.mail = function (session) {
}
// if this message is read, all childs message display is read
- this.ds_notification.call('set_message_read', [ [this.id].concat( this.get_child_ids() ) , this.to_read, this.context]).pipe(function () {
+ this.ds_notification.call('set_message_read', [ [this.id].concat( this.get_child_ids() ) , this.to_read, this.context]).then(function () {
self.$el.removeClass(self.to_read ? 'oe_msg_unread':'oe_msg_read').addClass(self.to_read ? 'oe_msg_read':'oe_msg_unread');
self.to_read = !self.to_read;
});
@@ -802,7 +802,7 @@ openerp.mail = function (session) {
on_vote: function (event) {
event.stopPropagation();
var self=this;
- return this.ds_message.call('vote_toggle', [[self.id]]).pipe(function (vote) {
+ return this.ds_message.call('vote_toggle', [[self.id]]).then(function (vote) {
self.has_voted = vote;
self.vote_nb += self.has_voted ? 1 : -1;
self.display_vote();
@@ -827,7 +827,7 @@ openerp.mail = function (session) {
event.stopPropagation();
var self=this;
var button = self.$('.oe_star:first');
- return this.ds_message.call('favorite_toggle', [[self.id]]).pipe(function (star) {
+ return this.ds_message.call('favorite_toggle', [[self.id]]).then(function (star) {
self.is_favorite=star;
if (self.is_favorite) {
button.addClass('oe_starred');
@@ -1112,7 +1112,7 @@ openerp.mail = function (session) {
var thread_level = this.options.display_indented_thread > this.thread_level ? this.options.display_indented_thread - this.thread_level : 0;
return this.ds_message.call('message_read', [ids, fetch_domain, message_loaded_ids, thread_level, fetch_context, this.context.default_parent_id || undefined])
- .then(callback ? _.bind(callback, this, arguments) : this.proxy('switch_new_message'));
+ .done(callback ? _.bind(callback, this, arguments) : this.proxy('switch_new_message'));
},
/**
@@ -1581,7 +1581,7 @@ openerp.mail = function (session) {
load_searchview: function (defaults, hidden) {
var self = this;
this.searchview = new session.web.SearchView(this, this.ds_msg, false, defaults || {}, hidden || false);
- return this.searchview.appendTo(this.$('.oe_view_manager_view_search')).then(function () {
+ return this.searchview.appendTo(this.$('.oe_view_manager_view_search')).done(function () {
self.searchview.on('search_data', self, self.do_searchview_search);
});
},
@@ -1599,7 +1599,7 @@ openerp.mail = function (session) {
domains: domains || [],
contexts: contexts || [],
group_by_seq: groupbys || []
- }).then(function (results) {
+ }).done(function (results) {
self.search_results['context'] = results.context;
self.search_results['domain'] = results.domain;
self.root.destroy();
diff --git a/addons/mail/static/src/js/mail_followers.js b/addons/mail/static/src/js/mail_followers.js
index a13d2048bf3..a5a97f48d26 100644
--- a/addons/mail/static/src/js/mail_followers.js
+++ b/addons/mail/static/src/js/mail_followers.js
@@ -85,7 +85,7 @@ openerp_mail_followers = function(session, mail) {
read_value: function () {
var self = this;
- return this.ds_model.read_ids([this.view.datarecord.id], ['message_follower_ids']).pipe(function (results) {
+ return this.ds_model.read_ids([this.view.datarecord.id], ['message_follower_ids']).then(function (results) {
self.set_value(results[0].message_follower_ids);
});
},
@@ -98,9 +98,9 @@ openerp_mail_followers = function(session, mail) {
fetch_followers: function (value_) {
this.value = value_ || {};
return this.ds_follow.call('read', [this.value, ['name', 'user_ids']])
- .pipe(this.proxy('display_followers'), this.proxy('fetch_generic'))
- .pipe(this.proxy('display_buttons'))
- .pipe(this.proxy('fetch_subtypes'));
+ .then(this.proxy('display_followers'), this.proxy('fetch_generic'))
+ .then(this.proxy('display_buttons'))
+ .then(this.proxy('fetch_subtypes'));
},
/** Read on res.partner failed: fall back on a generic case
@@ -109,10 +109,10 @@ openerp_mail_followers = function(session, mail) {
fetch_generic: function (error, event) {
var self = this;
event.preventDefault();
- return this.ds_users.call('read', [this.session.uid, ['partner_id']]).pipe(function (results) {
+ return this.ds_users.call('read', [this.session.uid, ['partner_id']]).then(function (results) {
var pid = results['partner_id'][0];
self.message_is_follower = (_.indexOf(self.get('value'), pid) != -1);
- }).pipe(self.proxy('display_generic'));
+ }).then(self.proxy('display_generic'));
},
_format_followers: function(count){
// TDE note: why redefining _t ?
@@ -179,7 +179,7 @@ openerp_mail_followers = function(session, mail) {
var subtype_list_ul = this.$('.oe_subtype_list').empty();
if (! this.message_is_follower) return;
var context = new session.web.CompoundContext(this.build_context(), {});
- this.ds_model.call('message_get_subscription_data', [[this.view.datarecord.id], context]).pipe(this.proxy('display_subtypes'));
+ this.ds_model.call('message_get_subscription_data', [[this.view.datarecord.id], context]).then(this.proxy('display_subtypes'));
},
/** Display subtypes: {'name': default, followed} */
@@ -206,7 +206,7 @@ openerp_mail_followers = function(session, mail) {
$(record).attr('checked',false);
});
var context = new session.web.CompoundContext(this.build_context(), {});
- return this.ds_model.call('message_unsubscribe_users', [[this.view.datarecord.id], [this.session.uid], context]).pipe(this.proxy('read_value'));
+ return this.ds_model.call('message_unsubscribe_users', [[this.view.datarecord.id], [this.session.uid], context]).then(this.proxy('read_value'));
},
do_update_subscription: function (event) {
@@ -221,7 +221,7 @@ openerp_mail_followers = function(session, mail) {
var context = new session.web.CompoundContext(this.build_context(), {});
return this.ds_model.call('message_subscribe_users', [[this.view.datarecord.id], [this.session.uid], this.message_is_follower ? checklist:undefined, context])
- .pipe(this.proxy('read_value'));
+ .then(this.proxy('read_value'));
},
});
};
diff --git a/addons/mail/static/src/js/many2many_tags_email.js b/addons/mail/static/src/js/many2many_tags_email.js
index 52dcbf7aeb5..cc701e8a585 100644
--- a/addons/mail/static/src/js/many2many_tags_email.js
+++ b/addons/mail/static/src/js/many2many_tags_email.js
@@ -46,7 +46,7 @@ instance.web.form.FieldMany2ManyTagsEmail = instance.web.form.FieldMany2ManyTags
["email", "=", false],
["notification_email_send", "in", ['all', 'comment']] ]],
{context: this.build_context()})
- .pipe(function (record_ids) {
+ .then(function (record_ids) {
// valid partner
var valid_partner = _.difference(ids, record_ids);
self.values = self.values.concat(valid_partner);
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index caa85cd3deb..bfd0e4cd10f 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -197,8 +197,8 @@
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index 189bd8285f2..ab45f802371 100644
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -270,7 +270,7 @@
-
+
diff --git a/addons/mrp/i18n/sl.po b/addons/mrp/i18n/sl.po
index 83d80822eb7..c36878f4d1d 100644
--- a/addons/mrp/i18n/sl.po
+++ b/addons/mrp/i18n/sl.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: 2012-02-08 00:49+0000\n"
-"PO-Revision-Date: 2012-11-01 19:12+0000\n"
+"PO-Revision-Date: 2012-11-07 23:15+0000\n"
"Last-Translator: Dusan Laznik \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-11-03 05:03+0000\n"
-"X-Generator: Launchpad (build 16218)\n"
+"X-Launchpad-Export-Date: 2012-11-09 04:39+0000\n"
+"X-Generator: Launchpad (build 16250)\n"
#. module: mrp
#: view:mrp.routing.workcenter:0
@@ -34,7 +34,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,location_src_id:0
msgid "Location where the system will look for components."
-msgstr ""
+msgstr "Lokacija za iskanje komponent"
#. module: mrp
#: field:mrp.production,workcenter_lines:0
@@ -67,11 +67,13 @@ msgid ""
"The 'Minimum stock rule' allows the system to create procurement orders "
"automatically as soon as the minimum stock is reached."
msgstr ""
+"Pravilo \"Minimalna zaloga\" omogoča avtomatsko kreiranje naročil "
+"dobaviteljem."
#. module: mrp
#: field:mrp.production,picking_id:0
msgid "Picking list"
-msgstr ""
+msgstr "Dobavnica"
#. module: mrp
#: code:addons/mrp/report/price.py:130
@@ -83,18 +85,18 @@ msgstr "Urna postavka"
#: code:addons/mrp/report/price.py:139
#, python-format
msgid "Cost Price per Uom"
-msgstr ""
+msgstr "Stroškovna cena na enoto"
#. module: mrp
#: view:mrp.production:0
msgid "Scrap Products"
-msgstr ""
+msgstr "Odpis izdelkov"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
msgid "Routings"
-msgstr ""
+msgstr "Delovni tok"
#. module: mrp
#: field:mrp.workcenter,product_id:0
@@ -139,7 +141,7 @@ msgstr "Dokončani proizvodi"
#. module: mrp
#: view:mrp.production:0
msgid "Manufacturing Orders which are currently in production."
-msgstr ""
+msgstr "Delovni nalogi trenutno v proizvodnji"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_servicerfq0
@@ -204,6 +206,7 @@ msgid ""
"Fill this product to track easily your production costs in the analytic "
"accounting."
msgstr ""
+"Izpolnite ta izdelek , za spremljavo stroškov v analitičnem računovodstvu"
#. module: mrp
#: model:process.node,note:mrp.process_node_purchaseprocure0
@@ -246,12 +249,12 @@ msgstr "Nabava storitev"
#. module: mrp
#: view:mrp.workcenter:0
msgid "Capacity Information"
-msgstr ""
+msgstr "Informacije o kapacitetah"
#. module: mrp
#: field:mrp.production,move_created_ids2:0
msgid "Produced Products"
-msgstr ""
+msgstr "Končani izdelki"
#. module: mrp
#: report:mrp.production.order:0
@@ -294,7 +297,7 @@ msgstr ""
#. module: mrp
#: help:mrp.bom,position:0
msgid "Reference to a position in an external plan."
-msgstr ""
+msgstr "Referenca na pozicijo v drugem planu"
#. module: mrp
#: constraint:stock.move:0
@@ -309,12 +312,12 @@ msgstr ""
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_produce
msgid "Product Produce"
-msgstr ""
+msgstr "Končani izdelki"
#. module: mrp
#: constraint:mrp.bom:0
msgid "Error ! You cannot create recursive BoM."
-msgstr ""
+msgstr "Napaka ! (Rekurzivna kosovnica)"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_routing_workcenter
@@ -324,7 +327,7 @@ msgstr ""
#. module: mrp
#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
msgid "Procurement of stockable Product"
-msgstr ""
+msgstr "Nabava izdelka , ki se skladišči"
#. module: mrp
#: view:mrp.bom:0
@@ -361,7 +364,7 @@ msgstr "Potrdi Proizvodnjo"
msgid ""
"The system creates an order (production or purchased) depending on the sold "
"quantity and the products parameters."
-msgstr ""
+msgstr "Sistem kreira nalog(delovni ali nabavni), odvisno od parametrov"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_stockproduction0
@@ -386,7 +389,7 @@ msgstr ""
msgid ""
"This is the Internal Picking List that brings the finished product to the "
"production plan"
-msgstr ""
+msgstr "To je interna dobavnica , ki prenese izdelke v plan proizvodnje"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp
@@ -396,7 +399,7 @@ msgstr "Delovni čas"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
msgid "Weekly Stock Value Variation"
-msgstr ""
+msgstr "Tedensko nihanje vrednosti zalog"
#. module: mrp
#: view:mrp.production:0
@@ -426,7 +429,7 @@ msgstr ""
#. module: mrp
#: view:board.board:0
msgid "Stock Value Variation"
-msgstr ""
+msgstr "Nihanje vrednosti zalog"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action2
@@ -436,7 +439,7 @@ msgstr "Struktura kosovnice"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct0
msgid "Product type is service"
-msgstr ""
+msgstr "Vrsta izdelka je usluga"
#. module: mrp
#: sql_constraint:res.company:0
@@ -505,12 +508,12 @@ msgstr ""
#: view:mrp.routing:0
#: field:mrp.routing,location_id:0
msgid "Production Location"
-msgstr ""
+msgstr "Lokacija proizvodnje"
#. module: mrp
#: view:mrp.production:0
msgid "Change Qty"
-msgstr ""
+msgstr "Spremeni količino"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_configure_workcenter
@@ -520,7 +523,7 @@ msgstr ""
#. module: mrp
#: view:mrp.production:0
msgid "Force Reservation"
-msgstr ""
+msgstr "Vsili rezervacijo"
#. module: mrp
#: field:report.mrp.inout,value:0
@@ -579,7 +582,7 @@ msgstr ""
#. module: mrp
#: field:mrp.workcenter,time_start:0
msgid "Time before prod."
-msgstr ""
+msgstr "Čas pred proizvodnjo"
#. module: mrp
#: help:mrp.routing,active:0
@@ -591,14 +594,14 @@ msgstr ""
#. module: mrp
#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
msgid "Material Routing"
-msgstr ""
+msgstr "Tok materiala"
#. module: mrp
#: view:mrp.production:0
#: field:mrp.production,move_lines2:0
#: report:mrp.production.order:0
msgid "Consumed Products"
-msgstr ""
+msgstr "Porabljeni izdelki"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
@@ -617,7 +620,7 @@ msgstr "Izdelek nima kosovnice"
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
msgid "Bill of Material Components"
-msgstr ""
+msgstr "Komponente sestavnice"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_move
@@ -651,7 +654,7 @@ msgstr ""
#. module: mrp
#: help:mrp.workcenter,time_cycle:0
msgid "Time in hours for doing one cycle."
-msgstr ""
+msgstr "Čas za končanje cikla"
#. module: mrp
#: constraint:mrp.bom:0
@@ -666,7 +669,7 @@ msgstr "V proizvodnji"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_property
msgid "Master Bill of Materials"
-msgstr ""
+msgstr "Glavna sastavnica"
#. module: mrp
#: help:mrp.bom,product_uos:0
@@ -695,7 +698,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
msgid "Per month"
-msgstr ""
+msgstr "Mesečno"
#. module: mrp
#: code:addons/mrp/wizard/change_production_qty.py:78
@@ -707,13 +710,13 @@ msgstr ""
#. module: mrp
#: report:bom.structure:0
msgid "Product Name"
-msgstr ""
+msgstr "Ime Izdelka"
#. module: mrp
#: code:addons/mrp/mrp.py:503
#, python-format
msgid "Invalid action !"
-msgstr ""
+msgstr "Nepravilno dejanje!"
#. module: mrp
#: help:mrp.bom,product_efficiency:0
@@ -725,7 +728,7 @@ msgstr ""
#: code:addons/mrp/mrp.py:762
#, python-format
msgid "Warning!"
-msgstr ""
+msgstr "Opozorilo!"
#. module: mrp
#: report:mrp.production.order:0
@@ -741,17 +744,17 @@ msgstr ""
#. module: mrp
#: model:process.transition,name:mrp.process_transition_producttostockrules0
msgid "Procurement rule"
-msgstr ""
+msgstr "Pravilo nabave"
#. module: mrp
#: view:mrp.production:0
msgid "Partial"
-msgstr ""
+msgstr "Delno"
#. module: mrp
#: report:mrp.production.order:0
msgid "WorkCenter"
-msgstr ""
+msgstr "Proizvodni center"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_procureserviceproduct0
@@ -769,7 +772,7 @@ msgstr "Nujno"
#. module: mrp
#: view:mrp.production:0
msgid "Manufacturing Orders which are waiting for raw materials."
-msgstr ""
+msgstr "Delovni nalogi , ki čakajo na material"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action
@@ -780,16 +783,18 @@ msgid ""
"resource leave are not taken into account in the time computation of the "
"work center."
msgstr ""
+"Delovno enoto sestavljajo delavci in/ali stroji , ki predstavljajo eno enoto "
+"za planiranje kapacitet."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production
msgid "Manufacturing Order"
-msgstr ""
+msgstr "Delovni nalog"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_productionprocureproducts0
msgid "Procurement of raw material"
-msgstr ""
+msgstr "Nabava surovin"
#. module: mrp
#: view:mrp.production:0
@@ -806,7 +811,7 @@ msgstr ""
#: view:mrp.bom:0
#: view:mrp.production:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: mrp
#: field:mrp.bom,type:0
@@ -823,7 +828,7 @@ msgstr ""
#. module: mrp
#: view:mrp.property:0
msgid "Search"
-msgstr ""
+msgstr "Iskanje"
#. module: mrp
#: code:addons/mrp/mrp.py:626
@@ -884,7 +889,7 @@ msgstr "Možno dati v zalogo"
#: code:addons/mrp/report/price.py:130
#, python-format
msgid "Work Center name"
-msgstr ""
+msgstr "Ime delovne eote"
#. module: mrp
#: field:mrp.routing,code:0
@@ -1034,7 +1039,7 @@ msgstr ""
#. module: mrp
#: help:mrp.workcenter,costs_hour:0
msgid "Specify Cost of Work Center per hour."
-msgstr ""
+msgstr "Cena delovne enote na uro"
#. module: mrp
#: help:mrp.workcenter,capacity_per_cycle:0
@@ -1095,7 +1100,7 @@ msgstr "Analitični dnevnik"
#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp
#: field:mrp.routing,workcenter_lines:0
msgid "Work Centers"
-msgstr ""
+msgstr "Delovne enote"
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -1110,6 +1115,8 @@ msgid ""
"They are attached to bills of materials that will define the required raw "
"materials."
msgstr ""
+"Delovni tok opredeljuje zaporedje delovnih enot in operacij za izdelavo "
+"določenega izdelka."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.product_form_config_action
@@ -1152,7 +1159,7 @@ msgstr ""
#. module: mrp
#: view:report.workcenter.load:0
msgid "Work Center load"
-msgstr ""
+msgstr "Zasedenost delovnega centra"
#. module: mrp
#: help:mrp.production,location_dest_id:0
@@ -1853,7 +1860,7 @@ msgstr ""
#. module: mrp
#: field:mrp.routing.workcenter,routing_id:0
msgid "Parent Routing"
-msgstr ""
+msgstr "Nadrejeni delovni tok"
#. module: mrp
#: help:mrp.workcenter,time_start:0
@@ -2013,7 +2020,7 @@ msgstr ""
#: view:mrp.routing:0
#: model:process.node,name:mrp.process_node_routing0
msgid "Routing"
-msgstr "Usmerjanje"
+msgstr "Delovni tok"
#. module: mrp
#: field:mrp.production,date_planned:0
diff --git a/addons/mrp/res_config.py b/addons/mrp/res_config.py
index c1712b81a26..ec3deb524a3 100644
--- a/addons/mrp/res_config.py
+++ b/addons/mrp/res_config.py
@@ -28,10 +28,6 @@ class mrp_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
- 'module_stock_planning': fields.boolean('Manage master production shedule',
- help ="""This allows to create a manual procurement plan apart of the normal MRP scheduling,
- which works automatically based on minimum stock rules.
- This installs the module stock_planning."""),
'module_mrp_repair': fields.boolean("Manage repairs of products ",
help="""Allows to manage all product repairs.
* Add/remove products in the reparation
diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml
index 6b4058fb7b4..2c7047380a8 100644
--- a/addons/mrp/res_config_view.xml
+++ b/addons/mrp/res_config_view.xml
@@ -56,10 +56,6 @@
-
-
-
-
diff --git a/addons/note/i18n/nl.po b/addons/note/i18n/nl.po
new file mode 100644
index 00000000000..0e3baeee351
--- /dev/null
+++ b/addons/note/i18n/nl.po
@@ -0,0 +1,339 @@
+# Dutch translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-11-02 12:54+0000\n"
+"PO-Revision-Date: 2012-11-07 14:51+0000\n"
+"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n"
+"Language-Team: Dutch \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-08 04:47+0000\n"
+"X-Generator: Launchpad (build 16232)\n"
+
+#. module: note
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr "U kunt niet twee gebruikers hebben met dezelfde gebruikersnaam !"
+
+#. module: note
+#: field:note.note,memo:0
+msgid "Note Content"
+msgstr "Notitie inhoud"
+
+#. module: note
+#: view:note.stage:0
+msgid "Stages of Notes"
+msgstr "Notitie fases"
+
+#. module: note
+#: model:ir.model,name:note.model_base_config_settings
+msgid "base.config.settings"
+msgstr "base.config.settings"
+
+#. module: note
+#: model:ir.model,name:note.model_note_tag
+msgid "Note Tag"
+msgstr "Notitie label"
+
+#. module: note
+#: model:res.groups,name:note.group_note_fancy
+msgid "Notes / Fancy mode"
+msgstr "Notitie / Luxe modus"
+
+#. module: note
+#: model:ir.model,name:note.model_note_note
+#: view:note.note:0
+msgid "Note"
+msgstr "Notitie"
+
+#. module: note
+#: view:note.note:0
+msgid "Group By..."
+msgstr "Groepeer op..."
+
+#. module: note
+#: field:note.note,message_summary:0
+msgid "Summary"
+msgstr "Samenvatting"
+
+#. module: note
+#: field:note.note,message_follower_ids:0
+msgid "Followers"
+msgstr "Volgers"
+
+#. module: note
+#: model:ir.actions.act_window,help:note.action_note_note
+msgid ""
+"
\n"
+" Click to add a personal note.\n"
+"
\n"
+" Use notes to organize personal tasks or notes. All\n"
+" notes are private; no one else will be able to see them. "
+"However\n"
+" you can share some notes with other people by inviting "
+"followers\n"
+" on the note. (Useful for meeting minutes, especially if\n"
+" you activate the pad feature for collaborative writings).\n"
+"
\n"
+" You can customize how you process your notes/tasks by adding,\n"
+" removing or modifying columns.\n"
+"
\n"
+" "
+msgstr ""
+"
\n"
+" Klik om een persoonlijke notitie toe te voegen.\n"
+"
\n"
+" Gebruik notities om uw persoonlijke taken en notities te "
+"organiseren. Alle\n"
+" notities zijn prive; niemand anders kan deze notities zien. "
+"Echter is het wel \n"
+" mogenlijk om sommige notities te delen met andere gebruikers, "
+"door deze uit te nodigen\n"
+" op een notitie. (Dit is handig voor bijvoorbeeld een "
+"gespreksverslag, en zeker als je\n"
+" de pad mogelijkheid activeert voor het samenwerken)\n"
+"
\n"
+" U kunt het proces van notities en taken aanpassen door het "
+"toevoegen,\n"
+" verwijderen of aanpassen van kolommen.\n"
+"
\n"
+" "
+
+#. module: note
+#: view:note.note:0
+msgid "kanban note"
+msgstr "kanban notitie"
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_01
+#: model:note.stage,name:note.note_stage_01
+msgid "Today"
+msgstr "Vandaag"
+
+#. module: note
+#: model:ir.model,name:note.model_res_users
+msgid "Users"
+msgstr "Gebruikers"
+
+#. module: note
+#: view:note.note:0
+msgid "í"
+msgstr "í"
+
+#. module: note
+#: view:note.stage:0
+msgid "Stage of Notes"
+msgstr "Notitie fases"
+
+#. module: note
+#: field:note.note,message_unread:0
+msgid "Unread Messages"
+msgstr "Ongelezen berichten"
+
+#. module: note
+#: field:note.note,current_partner_id:0
+msgid "unknown"
+msgstr "onbekend"
+
+#. module: note
+#: view:note.note:0
+msgid "By sticky note Category"
+msgstr "Notitie categorie"
+
+#. module: note
+#: help:note.note,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen."
+
+#. module: note
+#: field:note.stage,name:0
+msgid "Stage Name"
+msgstr "Naam fase"
+
+#. module: note
+#: field:note.note,message_is_follower:0
+msgid "Is a Follower"
+msgstr "Is een volger"
+
+#. module: note
+#: view:note.note:0
+msgid "title"
+msgstr "titel"
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_02
+#: model:note.stage,name:note.note_stage_02
+msgid "Tomorrow"
+msgstr "Morgen"
+
+#. module: note
+#: view:note.note:0
+#: field:note.note,open:0
+msgid "Active"
+msgstr "Actief"
+
+#. module: note
+#: help:note.stage,user_id:0
+msgid "Owner of the note stage."
+msgstr "Eigenaar van de berichten fase"
+
+#. module: note
+#: model:ir.ui.menu,name:note.menu_notes_stage
+msgid "Categories"
+msgstr "Categorieën"
+
+#. module: note
+#: field:note.note,message_comment_ids:0
+#: help:note.note,message_comment_ids:0
+msgid "Comments and emails"
+msgstr "Opmerkingen en e-mails."
+
+#. module: note
+#: field:note.tag,name:0
+msgid "Tag Name"
+msgstr "Label naam"
+
+#. module: note
+#: field:note.note,message_ids:0
+msgid "Messages"
+msgstr "Berichten"
+
+#. module: note
+#: view:base.config.settings:0
+#: model:ir.actions.act_window,name:note.action_note_note
+#: model:ir.ui.menu,name:note.menu_note_notes
+#: view:note.note:0
+#: model:note.stage,name:note.note_stage_04
+msgid "Notes"
+msgstr "Notities"
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_03
+#: model:note.stage,name:note.note_stage_03
+msgid "Later"
+msgstr "Later"
+
+#. module: note
+#: model:ir.model,name:note.model_note_stage
+msgid "Note Stage"
+msgstr "Notitie fase"
+
+#. module: note
+#: view:note.note:0
+msgid "dropdown menu"
+msgstr "keuze menu"
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_04
+msgid "Morning"
+msgstr "Ochtend"
+
+#. module: note
+#: help:note.stage,sequence:0
+msgid "Used to order the note stages"
+msgstr "Wordt gebruikt om de notitie fases te sorteren"
+
+#. module: note
+#: view:note.note:0
+msgid "W"
+msgstr "W"
+
+#. module: note
+#: field:note.note,stage_ids:0
+msgid "Stages of Users"
+msgstr "Gebrukers fases"
+
+#. module: note
+#: field:note.note,name:0
+msgid "Note Summary"
+msgstr "Notitie samenvatting"
+
+#. module: note
+#: model:ir.actions.act_window,name:note.action_note_stage
+#: view:note.note:0
+msgid "Stages"
+msgstr "Fases"
+
+#. module: note
+#: help:note.note,message_ids:0
+msgid "Messages and communication history"
+msgstr "Berichten en communicatie historie"
+
+#. module: note
+#: view:note.note:0
+msgid "Delete"
+msgstr "Verwijderen"
+
+#. module: note
+#: field:note.note,color:0
+msgid "Color Index"
+msgstr "Kleur index"
+
+#. module: note
+#: field:note.note,sequence:0
+#: field:note.stage,sequence:0
+msgid "Sequence"
+msgstr "Reeks"
+
+#. module: note
+#: field:note.note,tag_ids:0
+msgid "Tags"
+msgstr "Labels"
+
+#. module: note
+#: view:note.note:0
+msgid "Archive"
+msgstr "Archief"
+
+#. module: note
+#: field:base.config.settings,module_note_pad:0
+msgid "Use collaborative pads (etherpad)"
+msgstr "Gebruik collaboratieve pads (etherpad)"
+
+#. module: note
+#: help:note.note,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+"Bevat de samenvatting van de chatter (aantal berichten,...). Deze "
+"samenvatting is direct in html formaat om zo in de kanban weergave te worden "
+"ingevoegd."
+
+#. module: note
+#: field:base.config.settings,group_note_fancy:0
+msgid "Use fancy layouts for notes"
+msgstr "Gebruik luxe layouts voor notities"
+
+#. module: note
+#: field:note.stage,user_id:0
+msgid "Owner"
+msgstr "Eigenaar"
+
+#. module: note
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr "Het gekozen bedrijf is niet toegestaan voor deze gebruiker"
+
+#. module: note
+#: view:note.note:0
+#: field:note.note,stage_id:0
+msgid "Stage"
+msgstr "Fase"
+
+#. module: note
+#: field:note.note,date_done:0
+msgid "Date done"
+msgstr "Datum verwerkt"
+
+#. module: note
+#: field:note.stage,fold:0
+msgid "Folded by Default"
+msgstr "Standaard ingevouwen"
diff --git a/addons/note/static/src/css/note.css b/addons/note/static/src/css/note.css
index 1b7e9315e74..16d71e28aa5 100644
--- a/addons/note/static/src/css/note.css
+++ b/addons/note/static/src/css/note.css
@@ -49,8 +49,8 @@
padding: 8px;
margin-left: 3px;
margin-right: 3px;
- padding-bottom: 16px;
- margin-bottom: 16px;
+ padding-bottom: 8px;
+ margin-bottom: 10px;
-webkit-transform: rotate(-2deg);
-o-transform: rotate(-2deg);
-moz-transform: rotate(-2deg);
diff --git a/addons/note/static/src/css/note.sass b/addons/note/static/src/css/note.sass
index b5bc28a2593..6f0c0883ae7 100644
--- a/addons/note/static/src/css/note.sass
+++ b/addons/note/static/src/css/note.sass
@@ -53,8 +53,8 @@
padding: 8px
margin-left: 3px
margin-right: 3px
- padding-bottom: 16px
- margin-bottom: 16px
+ padding-bottom: 8px
+ margin-bottom: 10px
@include rotate(-2deg)
@include transition(all, 300ms)
.oe_kanban_record:nth-of-type(even)
diff --git a/addons/pad/pad.py b/addons/pad/pad.py
index e5b36e5f64c..932fc5a21a4 100644
--- a/addons/pad/pad.py
+++ b/addons/pad/pad.py
@@ -19,7 +19,7 @@ class pad_common(osv.osv_memory):
pad = {
"server" : company.pad_server,
- "key" : company.pad_key or "4DxmsNIbnQUVQMW9S9tx2oLOSjFdrx1l",
+ "key" : company.pad_key,
}
# make sure pad server in the form of http://hostname
diff --git a/addons/pad/pad_demo.xml b/addons/pad/pad_demo.xml
index 407f90e8242..99c4b38481c 100644
--- a/addons/pad/pad_demo.xml
+++ b/addons/pad/pad_demo.xml
@@ -1,9 +1,13 @@
-
+
pad.openerp.com
+
+
+ 4DxmsNIbnQUVQMW9S9tx2oLOSjFdrx1l
+
diff --git a/addons/pad/static/src/js/pad.js b/addons/pad/static/src/js/pad.js
index c1252642b91..929d62681c8 100644
--- a/addons/pad/static/src/js/pad.js
+++ b/addons/pad/static/src/js/pad.js
@@ -12,8 +12,9 @@ openerp.pad = function(instance) {
model: self.view.model,
field_name: self.name,
object_id: self.view.datarecord.id
- }}).then(function(data) {
+ }}).done(function(data) {
if(data&&data.url){
+ self.set({value: data.url});
_super(data.url);
self.renderElement();
}
diff --git a/addons/pad_project/i18n/es.po b/addons/pad_project/i18n/es.po
new file mode 100644
index 00000000000..f0dbb565158
--- /dev/null
+++ b/addons/pad_project/i18n/es.po
@@ -0,0 +1,39 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-11-08 12:44+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-09 04:39+0000\n"
+"X-Generator: Launchpad (build 16250)\n"
+
+#. module: pad_project
+#: constraint:project.task:0
+msgid "Error ! Task end-date must be greater then task start-date"
+msgstr ""
+"¡Error! La fecha final de la tarea debe ser mayor que la fecha de inicio"
+
+#. module: pad_project
+#: model:ir.model,name:pad_project.model_project_task
+msgid "Task"
+msgstr "Tarea"
+
+#. module: pad_project
+#: view:project.task:0
+msgid "Pad"
+msgstr "Pad"
+
+#. module: pad_project
+#: constraint:project.task:0
+msgid "Error ! You cannot create recursive tasks."
+msgstr "¡Error! No se pueden crear tareas recursivas."
diff --git a/addons/plugin/i18n/es.po b/addons/plugin/i18n/es.po
new file mode 100644
index 00000000000..8111105ef1f
--- /dev/null
+++ b/addons/plugin/i18n/es.po
@@ -0,0 +1,23 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-11-08 11:25+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-09 04:39+0000\n"
+"X-Generator: Launchpad (build 16250)\n"
+
+#. module: plugin
+#: model:ir.model,name:plugin.model_plugin_handler
+msgid "plugin.handler"
+msgstr "Manejador del plug-in"
diff --git a/addons/plugin_outlook/plugin_outlook.xml b/addons/plugin_outlook/plugin_outlook.xml
index e99fbf72b6d..91c51e87ad9 100644
--- a/addons/plugin_outlook/plugin_outlook.xml
+++ b/addons/plugin_outlook/plugin_outlook.xml
@@ -10,7 +10,11 @@
Install Outlook Plug-In
-
+
+
+
@@ -19,10 +23,10 @@
Click on the link above to download the installer for either 32 or 64 bits, and execute it.
System requirements:
-
-
1. MS Outlook 2005 or above.
-
2. MS .Net Framework 3.5 or above.
-
+
+
MS Outlook 2005 or above.
+
MS .Net Framework 3.5 or above.
+
@@ -51,7 +55,7 @@
-
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.py b/addons/plugin_thunderbird/plugin_thunderbird.py
index 6473758883d..923611b97a9 100644
--- a/addons/plugin_thunderbird/plugin_thunderbird.py
+++ b/addons/plugin_thunderbird/plugin_thunderbird.py
@@ -30,13 +30,11 @@ class plugin_thunderbird_installer(osv.osv_memory):
'thunderbird': fields.boolean('Thunderbird Plug-in', help="Allows you to select an object that you would like to add to your email and its attachments."),
'plugin_name': fields.char('File name', size=64),
'plugin_file': fields.char('Thunderbird Plug-in', size=256, readonly=True, help="Thunderbird plug-in file. Save this file and install it in Thunderbird."),
- 'pdf_file': fields.char('Installation Manual', size=256, help="The documentation file :- how to install Thunderbird Plug-in.", readonly=True),
}
_defaults = {
'thunderbird': True,
'plugin_name': 'openerp_plugin.xpi',
- 'pdf_file': 'http://doc.openerp.com/book/2/2_6_Comms/2_6_Comms_thunderbird.html',
}
def default_get(self, cr, uid, fields, context=None):
@@ -45,4 +43,4 @@ class plugin_thunderbird_installer(osv.osv_memory):
res['plugin_file'] = base_url + '/plugin_thunderbird/static/openerp_plugin.xpi'
return res
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.xml b/addons/plugin_thunderbird/plugin_thunderbird.xml
index 5ea5fc38219..3774a369437 100644
--- a/addons/plugin_thunderbird/plugin_thunderbird.xml
+++ b/addons/plugin_thunderbird/plugin_thunderbird.xml
@@ -10,25 +10,28 @@
Install Thunderbird Plug-In
-
+
+
+
-
-
Thunderbird plugin installation:
-
-
1. Save the Thunderbird plug-in.
-
2. From the Thunderbird menubar: Tools > Add-ons -> Screwdriver/Wrench Icon -> Install add-on from file...
-
3. Select the plug-in (the file named openerp_plugin.xpi).
-
4. Click "Install Now".
-
5. Restart Thunderbird.
-
6. From the Thunderbird menubar: OpenERP -> Configuration.
-
7. Configure your openerp server.
-
+
Thunderbird plug-in installation:
+
+
Save the Thunderbird plug-in.
+
From the Thunderbird menubar: Tools > Add-ons -> Screwdriver/Wrench Icon -> Install add-on from file...
+
Select the plug-in (the file named openerp_plugin.xpi).
+
Click "Install Now".
+
Restart Thunderbird.
+
From the Thunderbird menubar: OpenERP -> Configuration.
+
Configure your openerp server.
+
@@ -57,7 +60,7 @@
-
diff --git a/addons/point_of_sale/static/src/js/devices.js b/addons/point_of_sale/static/src/js/devices.js
index c96aff3d9c1..c5580ec8e46 100644
--- a/addons/point_of_sale/static/src/js/devices.js
+++ b/addons/point_of_sale/static/src/js/devices.js
@@ -37,12 +37,11 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
callbacks[i](params);
}
- this.connection.rpc('/pos/'+name, params || {}).then(function(result){
- ret.resolve(result);
- },
- function(error){
- ret.reject(error);
- });
+ this.connection.rpc('/pos/' + name, params || {}).done(function(result) {
+ ret.resolve(result);
+ }).fail(function(error) {
+ ret.reject(error);
+ });
return ret;
},
@@ -96,7 +95,7 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal
return this.weight;
}else{
this.message('weighting_read_kg',{})
- .then(function(weight){
+ .done(function(weight){
if(self.weighting && !self.bypass_proxy){
self.weight = weight;
}
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index d7d6d3181f1..7301a85eb2d 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -59,10 +59,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
// Any change on this data made on the server is thus not reflected on the point of sale until it is relaunched.
// when all the data has loaded, we compute some stuff, and declare the Pos ready to be used.
$.when(this.load_server_data())
- .then(function(){
+ .done(function(){
//self.log_loaded_data(); //Uncomment if you want to log the data to the console for easier debugging
self.ready.resolve();
- },function(){
+ }).fail(function(){
//we failed to load some backend data, or the backend was badly configured.
//the error messages will be displayed in PosWidget
self.ready.reject();
@@ -78,7 +78,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
var self = this;
var loaded = self.fetch('res.users',['name','company_id'],[['id','=',this.session.uid]])
- .pipe(function(users){
+ .then(function(users){
self.set('user',users[0]);
return self.fetch('res.company',
@@ -93,19 +93,19 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
'partner_id',
],
[['id','=',users[0].company_id[0]]]);
- }).pipe(function(companies){
+ }).then(function(companies){
self.set('company',companies[0]);
return self.fetch('res.partner',['contact_address'],[['id','=',companies[0].partner_id[0]]]);
- }).pipe(function(company_partners){
+ }).then(function(company_partners){
self.get('company').contact_address = company_partners[0].contact_address;
return self.fetch('res.currency',['symbol','position'],[['id','=',self.get('company').currency_id[0]]]);
- }).pipe(function(currencies){
+ }).then(function(currencies){
self.set('currency',currencies[0]);
return self.fetch('product.uom', null, null);
- }).pipe(function(units){
+ }).then(function(units){
self.set('units',units);
var units_by_id = {};
for(var i = 0, len = units.length; i < len; i++){
@@ -114,15 +114,15 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
self.set('units_by_id',units_by_id);
return self.fetch('product.packaging', null, null);
- }).pipe(function(packagings){
+ }).then(function(packagings){
self.set('product.packaging',packagings);
return self.fetch('res.users', ['name','ean13'], [['ean13', '!=', false]]);
- }).pipe(function(users){
+ }).then(function(users){
self.set('user_list',users);
return self.fetch('account.tax', ['amount', 'price_include', 'type']);
- }).pipe(function(taxes){
+ }).then(function(taxes){
self.set('taxes', taxes);
return self.fetch(
@@ -130,7 +130,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
['id', 'journal_ids','name','user_id','config_id','start_at','stop_at'],
[['state', '=', 'opened'], ['user_id', '=', self.session.uid]]
);
- }).pipe(function(sessions){
+ }).then(function(sessions){
self.set('pos_session', sessions[0]);
return self.fetch(
@@ -141,7 +141,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
'iface_print_via_proxy','iface_cashdrawer','state','sequence_id','session_ids'],
[['id','=', self.get('pos_session').config_id[0]]]
);
- }).pipe(function(configs){
+ }).then(function(configs){
var pos_config = configs[0];
self.set('pos_config', pos_config);
self.iface_electronic_scale = !!pos_config.iface_electronic_scale;
@@ -151,15 +151,15 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
self.iface_cashdrawer = !!pos_config.iface_cashdrawer;
return self.fetch('sale.shop',[],[['id','=',pos_config.shop_id[0]]]);
- }).pipe(function(shops){
+ }).then(function(shops){
self.set('shop',shops[0]);
return self.fetch('product.packaging',['ean','product_id']);
- }).pipe(function(packagings){
+ }).then(function(packagings){
self.db.add_packagings(packagings);
return self.fetch('pos.category', ['id','name','parent_id','child_id','image'])
- }).pipe(function(categories){
+ }).then(function(categories){
self.db.add_categories(categories);
return self.fetch(
@@ -169,7 +169,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
[['pos_categ_id','!=', false],['sale_ok','=',true]],
{pricelist: self.get('shop').pricelist_id[0]} // context for price
);
- }).pipe(function(products){
+ }).then(function(products){
self.db.add_products(products);
return self.fetch(
@@ -177,14 +177,14 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
['account_id','currency','journal_id','state','name','user_id','pos_session_id'],
[['state','=','open'],['pos_session_id', '=', self.get('pos_session').id]]
);
- }).pipe(function(bank_statements){
+ }).then(function(bank_statements){
var journals = new Array();
_.each(bank_statements,function(statement) {
journals.push(statement.journal_id[0])
});
self.set('bank_statements', bank_statements);
return self.fetch('account.journal', undefined, [['id','in', journals]]);
- }).pipe(function(journals){
+ }).then(function(journals){
self.set('journals',journals);
// associate the bank statements with their journals.
diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js
index 8028349b177..0b8ab70a9c0 100644
--- a/addons/point_of_sale/static/src/js/screens.js
+++ b/addons/point_of_sale/static/src/js/screens.js
@@ -557,7 +557,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
setTimeout(function(){
var def = job.fun();
if(def){
- def.then(run);
+ def.done(run);
}else{
run();
}
@@ -615,7 +615,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
var def = new $.Deferred();
console.log("START");
self.pos.proxy.payment_request(self.pos.get('selectedOrder').getDueLeft())
- .then(function(ack){
+ .done(function(ack){
if(ack === 'ok'){
self.queue.schedule(self.update);
}else if(ack.indexOf('error') === 0){
@@ -638,7 +638,7 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
return def.resolve();
}
self.pos.proxy.payment_status()
- .then(function(status){
+ .done(function(status){
if(status.status === 'paid'){
var currentOrder = self.pos.get('selectedOrder');
@@ -941,8 +941,10 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
var self = this;
var x = new module.PaymentlineWidget(null, {
payment_line: newPaymentLine
- });
- x.on('delete_payment_line', self, self.deleteLine);
+ });
+ x.on('delete_payment_line', self, function(r) {
+ self.deleteLine(r);
+ });
x.appendTo(this.$('#paymentlines'));
},
renderElement: function() {
diff --git a/addons/point_of_sale/static/src/js/widgets.js b/addons/point_of_sale/static/src/js/widgets.js
index ed9b1fd060a..c7874a4bd5c 100644
--- a/addons/point_of_sale/static/src/js/widgets.js
+++ b/addons/point_of_sale/static/src/js/widgets.js
@@ -315,7 +315,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this._super();
this.$('input').keyup(_.bind(this.changeAmount, this));
this.$('.delete-payment-line').click(function() {
- self.trigger('delete_payment_line');
+ self.trigger('delete_payment_line', self);
});
},
});
@@ -806,7 +806,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
start: function() {
var self = this;
- return self.pos.ready.then(function() {
+ return self.pos.ready.done(function() {
self.build_currency_template();
self.renderElement();
@@ -845,7 +845,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
self.$('.loader').animate({opacity:0},1500,'swing',function(){self.$('.loader').hide();});
self.$('.loader img').hide();
- },function(){ // error when loading models data from the backend
+ }).fail(function(){ // error when loading models data from the backend
self.$('.loader img').hide();
return new instance.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_pos_session_opening']], ['res_id'])
.pipe( _.bind(function(res){
@@ -1051,7 +1051,8 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
this.pos.barcode_reader.disconnect();
return new instance.web.Model("ir.model.data").get_func("search_read")([['name', '=', 'action_client_pos_menu']], ['res_id']).pipe(
_.bind(function(res) {
- return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(action) {
+ return this.rpc('/web/action/load', {'action_id': res[0]['res_id']}).pipe(_.bind(function(result) {
+ var action = result;
action.context = _.extend(action.context || {}, {'cancel_action': {type: 'ir.actions.client', tag: 'reload'}});
//self.destroy();
this.do_action(action);
diff --git a/addons/portal_claim/portal_claim_view.xml b/addons/portal_claim/portal_claim_view.xml
index 86be0764d26..e08b39e476b 100644
--- a/addons/portal_claim/portal_claim_view.xml
+++ b/addons/portal_claim/portal_claim_view.xml
@@ -10,7 +10,14 @@
{"search_default_user_id":'', "stage_type":'claim'}
- Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.
+
+
+ Click to register a new claim.
+
+ You can track your claims from this menu and the action we
+ will take.
+