[FIX] *: correct typos and bad English

Courtesy of translators
Reexport .pot of modified modules

closes odoo/odoo#61010

X-original-commit: 62a18bdb372e234107fd2099a2df5f9e3a442c96
Related: odoo/enterprise#14489
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This commit is contained in:
Martin Trigaux
2020-10-29 19:23:41 +00:00
parent eac3c08ce2
commit c59c10f1bc
63 changed files with 308 additions and 613 deletions
+29 -11
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-02 14:11+0000\n"
"PO-Revision-Date: 2020-10-02 14:11+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -218,7 +218,7 @@ msgid ""
" % endif\n"
" amounting in <strong>${format_amount(object.amount_total, object.currency_id)}</strong>\n"
" from ${object.company_id.name}.\n"
" % if object.payment_state == 'paid':\n"
" % if object.payment_state in ('paid', 'in_payment'):\n"
" This invoice is already paid.\n"
" % else:\n"
" Please remit payment at your earliest convenience.\n"
@@ -357,6 +357,14 @@ msgid ""
"class=\"d-none d-md-inline\"> Paid</span></span>"
msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.portal_my_invoices
msgid ""
"<span class=\"badge badge-pill badge-success\"><i class=\"fa fa-fw fa-"
"check\" aria-label=\"Reversed\" title=\"Reversed\" role=\"img\"/><span "
"class=\"d-none d-md-inline\"> Reversed</span></span>"
msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.portal_my_invoices
msgid ""
@@ -3453,6 +3461,7 @@ msgid "Country"
msgstr ""
#. module: account
#: model:ir.model.fields,field_description:account.field_account_bank_statement__country_code
#: model:ir.model.fields,field_description:account.field_account_bank_statement_line__country_code
#: model:ir.model.fields,field_description:account.field_account_journal__country_code
#: model:ir.model.fields,field_description:account.field_account_move__country_code
@@ -7250,6 +7259,10 @@ msgstr ""
#. module: account
#: model:ir.model.fields.selection,name:account.selection__account_reconcile_model__rule_type__writeoff_button
msgid "Manually create a write-off on clicked button"
msgstr ""
#. module: account
#: model:ir.model.fields.selection,name:account.selection__account_reconcile_model_template__rule_type__writeoff_button
msgid "Manually create a write-off on clicked button."
msgstr ""
@@ -7309,6 +7322,10 @@ msgstr ""
#. module: account
#: model:ir.model.fields.selection,name:account.selection__account_reconcile_model__rule_type__invoice_matching
msgid "Match existing invoices/bills"
msgstr ""
#. module: account
#: model:ir.model.fields.selection,name:account.selection__account_reconcile_model_template__rule_type__invoice_matching
msgid "Match existing invoices/bills."
msgstr ""
@@ -10677,7 +10694,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields.selection,name:account.selection__account_reconcile_model__rule_type__writeoff_suggestion
msgid "Suggest counterpart values."
msgid "Suggest counterpart values"
msgstr ""
#. module: account
@@ -11434,6 +11451,7 @@ msgid ""
msgstr ""
#. module: account
#: model:ir.model.fields,help:account.field_account_bank_statement__country_code
#: model:ir.model.fields,help:account.field_account_bank_statement_line__country_code
#: model:ir.model.fields,help:account.field_account_journal__country_code
#: model:ir.model.fields,help:account.field_account_move__country_code
@@ -11923,9 +11941,9 @@ msgstr ""
#. module: account
#: model:ir.model.fields,help:account.field_account_tax_repartition_line__sequence
msgid ""
"The order in which display and match distribution lines. For refunds to work"
" properly, invoice distribution lines should be arranged in the same order "
"as the credit note distribution lines they correspond to."
"The order in which distribution lines are displayed and matched. For refunds"
" to work properly, invoice distribution lines should be arranged in the same"
" order as the credit note distribution lines they correspond to."
msgstr ""
#. module: account
@@ -12397,9 +12415,9 @@ msgstr ""
#: model:ir.model.fields,help:account.field_account_invoice_send__auto_delete
#: model:ir.model.fields,help:account.field_account_tour_upload_bill__auto_delete
msgid ""
"This option permanently removes any track of email after send, including "
"from the Technical menu in the Settings, in order to preserve storage space "
"of your Odoo database."
"This option permanently removes any track of email after it's been sent, "
"including from the Technical menu in the Settings, in order to preserve "
"storage space of your Odoo database."
msgstr ""
#. module: account
@@ -13385,7 +13403,7 @@ msgstr ""
#, python-format
msgid ""
"You can't create a new payment without an outstanding payments/receipts "
"accounts set on the %s journal."
"account set on the %s journal."
msgstr ""
#. module: account
+2 -2
View File
@@ -180,8 +180,8 @@ class AccountPayment(models.Model):
if not self.journal_id.payment_debit_account_id or not self.journal_id.payment_credit_account_id:
raise UserError(_(
"You can't create a new payment without an outstanding payments/receipts accounts set on the %s journal."
) % self.journal_id.display_name)
"You can't create a new payment without an outstanding payments/receipts account set on the %s journal.",
self.journal_id.display_name))
# Compute amounts.
write_off_amount = write_off_line_vals.get('amount', 0.0)
@@ -119,9 +119,9 @@ class AccountReconcileModel(models.Model):
default=lambda self: self.env.company)
rule_type = fields.Selection(selection=[
('writeoff_button', 'Manually create a write-off on clicked button.'),
('writeoff_suggestion', 'Suggest counterpart values.'),
('invoice_matching', 'Match existing invoices/bills.'),
('writeoff_button', 'Manually create a write-off on clicked button'),
('writeoff_suggestion', 'Suggest counterpart values'),
('invoice_matching', 'Match existing invoices/bills'),
], string='Type', default='writeoff_button', required=True)
auto_reconcile = fields.Boolean(string='Auto-validate',
help='Validate the statement line automatically (reconciliation based on your rule).')
+2 -1
View File
@@ -636,7 +636,8 @@ class AccountTaxRepartitionLine(models.Model):
tax_id = fields.Many2one(comodel_name='account.tax', compute='_compute_tax_id')
tax_fiscal_country_id = fields.Many2one(string="Fiscal Country", comodel_name='res.country', related='company_id.account_tax_fiscal_country_id', help="Technical field used to restrict tags domain in form view.")
company_id = fields.Many2one(string="Company", comodel_name='res.company', compute="_compute_company", store=True, help="The company this distribution line belongs to.")
sequence = fields.Integer(string="Sequence", default=1, help="The order in which display and match distribution lines. For refunds to work properly, invoice distribution lines should be arranged in the same order as the credit note distribution lines they correspond to.")
sequence = fields.Integer(string="Sequence", default=1,
help="The order in which distribution lines are displayed and matched. For refunds to work properly, invoice distribution lines should be arranged in the same order as the credit note distribution lines they correspond to.")
use_in_tax_closing = fields.Boolean(string="Tax Closing Entry")
@api.onchange('account_id')
+1 -1
View File
@@ -231,7 +231,7 @@
<field name="description" type="html">
<div class="oe_structure">
<h5>The finest OpenWood furnitures are coming to your house in a brand new collection</h5>
<p>And this time, we go fully ONLINE! Meet us in our live streams from the confort of your house.<br/>
<p>And this time, we go fully ONLINE! Meet us in our live streams from the comfort of your house.<br/>
Special discount codes will be handed out during the various streams, make sure to be there on time.</p>
<p class="mb-3">For any additional information, please contact us at <a href="mailto:events@idea.com">events@idea.com</a>.</p>
<div class="bg-light rounded-right border-left border-secondary p-3 mb-5" style="border-left-width: 3px !important;">
+18 -20
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -773,7 +773,7 @@ msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_7
msgid ""
"And this time, we go fully ONLINE! Meet us in our live streams from the confort of your house.<br>\n"
"And this time, we go fully ONLINE! Meet us in our live streams from the comfort of your house.<br>\n"
" Special discount codes will be handed out during the various streams, make sure to be there on time."
msgstr ""
@@ -1467,13 +1467,6 @@ msgstr ""
msgid "Event Type"
msgstr ""
#. module: event
#: model:ir.model.fields,help:event.field_event_event__event_registrations_sold_out
msgid ""
"Event is sold out if no more seats are available on event. If ticketing is "
"used and all tickets are sold out event is sold out."
msgstr ""
#. module: event
#: model:ir.actions.act_window,name:event.event_registration_action_tree
msgid "Event registrations"
@@ -1538,8 +1531,8 @@ msgstr ""
#. module: event
#: model:ir.model.fields,help:event.field_event_stage__pipe_end
msgid ""
"Events will be automatically be moved into this stage their are passed and "
"event moved in the stage will be automatically greened"
"Events will automatically be moved into this stage when they are finished. "
"The event moved into this stage will automatically be set as green."
msgstr ""
#. module: event
@@ -1788,7 +1781,7 @@ msgstr ""
#. module: event
#: model:ir.model.fields,help:event.field_event_event__start_sale_date
msgid ""
"If ticketing is used, this is the lowest starting sale date of tickets."
"If ticketing is used, contains the earliest starting sale date of tickets."
msgstr ""
#. module: event
@@ -2504,8 +2497,10 @@ msgstr ""
#. module: event
#: model:ir.model.fields,help:event.field_event_event__event_registrations_open
msgid ""
"Registrations are open if event is not ended, seats are available on event "
"and if tickets are sellable if ticketing is used."
"Registrations are open if:\n"
"- the event is not ended\n"
"- there are seats available on event\n"
"- the tickets are sellable (if ticketing is used)"
msgstr ""
#. module: event
@@ -2575,11 +2570,6 @@ msgstr ""
msgid "Seats Limit"
msgstr ""
#. module: event
#: model:event.type,name:event.event_type_data_ticket
msgid "Sell Online"
msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.res_config_settings_view_form
msgid "Sell tickets on your website"
@@ -2787,6 +2777,13 @@ msgstr ""
msgid "The event has been publicly announced"
msgstr ""
#. module: event
#: model:ir.model.fields,help:event.field_event_event__event_registrations_sold_out
msgid ""
"The event is sold out if no more seats are available on event. If ticketing "
"is used and all tickets are sold out, the event will be sold out."
msgstr ""
#. module: event
#: model_terms:event.event,description:event.event_7
msgid ""
@@ -2893,6 +2890,7 @@ msgid ""
msgstr ""
#. module: event
#: model:event.type,name:event.event_type_data_ticket
#: model:ir.model.fields,field_description:event.field_event_type__use_ticket
msgid "Ticketing"
msgstr ""
+6 -3
View File
@@ -170,13 +170,16 @@ class EventEvent(models.Model):
compute='_compute_event_ticket_ids', readonly=False, store=True)
event_registrations_open = fields.Boolean(
'Registration open', compute='_compute_event_registrations_open', compute_sudo=True,
help='Registrations are open if event is not ended, seats are available on event and if tickets are sellable if ticketing is used.')
help="Registrations are open if:\n"
"- the event is not ended\n"
"- there are seats available on event\n"
"- the tickets are sellable (if ticketing is used)")
event_registrations_sold_out = fields.Boolean(
'Sold Out', compute='_compute_event_registrations_sold_out', compute_sudo=True,
help='Event is sold out if no more seats are available on event. If ticketing is used and all tickets are sold out event is sold out.')
help='The event is sold out if no more seats are available on event. If ticketing is used and all tickets are sold out, the event will be sold out.')
start_sale_date = fields.Date(
'Start sale date', compute='_compute_start_sale_date',
help='If ticketing is used, this is the lowest starting sale date of tickets.')
help='If ticketing is used, contains the earliest starting sale date of tickets.')
# Date fields
date_tz = fields.Selection(
_tz_get, string='Timezone', required=True,
+1 -1
View File
@@ -15,7 +15,7 @@ class EventStage(models.Model):
fold = fields.Boolean(string='Folded in Kanban', default=False)
pipe_end = fields.Boolean(
string='End Stage', default=False,
help='Events will be automatically be moved into this stage their are passed and event moved in the stage will be automatically greened')
help='Events will automatically be moved into this stage when they are finished. The event moved into this stage will automatically be set as green.')
legend_blocked = fields.Char(
'Red Kanban Label', default=lambda s: _('Blocked'), translate=True, required=True,
help='Override the default value displayed for the blocked state for kanban selection.')
+3 -3
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-02 14:12+0000\n"
"PO-Revision-Date: 2020-10-02 14:12+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -1052,7 +1052,7 @@ msgstr ""
#. module: gamification
#: model_terms:ir.ui.view,arch_db:gamification.goal_definition_form_view
msgid "Formating Options"
msgid "Formatting Options"
msgstr ""
#. module: gamification
+1 -1
View File
@@ -260,7 +260,7 @@
<field name="batch_user_expression" attrs="{'invisible': [('batch_mode', '=', False)], 'required': [('batch_mode', '=', True)]}" class="oe_inline"
placeholder="e.g. user.partner_id.id"/>
</group>
<group string="Formating Options" name="format_options">
<group string="Formatting Options" name="format_options">
<field name="display_mode" widget="radio" />
<field name="suffix" placeholder="e.g. days" class="oe_inline"/>
<field name="monetary"/>
+3 -3
View File
@@ -6,9 +6,9 @@
Swiss localization
==================
Added a QR-IBAN field on bank account.
If this field is empty, but the bank account number itself is a valid QR-IBAN number, it will still be used as QR-IBAN as before.
But if you fill in the new QR-IBAN field, that one will be used as the QR-IBAN. This should help for reconciliation as
on the bank statements, the old IBAN code is still used.
If this field is empty but the bank account number itself is a valid QR-IBAN number, it will continue using it as QR-IBAN.
However, if the new QR-IBAN field is filled, the value will be used as the QR-IBAN.
This should help for reconciliation on the bank statements where the old IBAN code is still used.
""",
'version': '1.0',
'author': 'Odoo S.A',
+1 -1
View File
@@ -22,7 +22,7 @@ this plan comply with this practices.
This module has been tested as base for more of 1000 companies, because
it is based in a mixtures of most common software in the Venezuelan
market what will allow for sure to accountants feel them first steps with
Odoo more confortable.
Odoo more comfortable.
This module doesn't pretend be the total localization for Venezuela,
but it will help you to start really quickly with Odoo in this country.
+5 -12
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -158,13 +158,6 @@ msgstr ""
msgid "<i class=\"fa fa-globe\" aria-label=\"Document url\"/>"
msgstr ""
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/js/tours/mail.js:0
#, python-format
msgid "<p> Create a private channel.</p>"
msgstr ""
#. module: mail
#. openerp-web
#: code:addons/mail/static/src/js/tours/mail.js:0
@@ -4743,9 +4736,9 @@ msgstr ""
#: model:ir.model.fields,help:mail.field_mail_mail__auto_delete
#: model:ir.model.fields,help:mail.field_mail_template__auto_delete
msgid ""
"This option permanently removes any track of email after send, including "
"from the Technical menu in the Settings, in order to preserve storage space "
"of your Odoo database."
"This option permanently removes any track of email after it's been sent, "
"including from the Technical menu in the Settings, in order to preserve "
"storage space of your Odoo database."
msgstr ""
#. module: mail
+1 -1
View File
@@ -52,7 +52,7 @@ class MailMail(models.Model):
], 'Status', readonly=True, copy=False, default='outgoing')
auto_delete = fields.Boolean(
'Auto Delete',
help="This option permanently removes any track of email after send, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.")
help="This option permanently removes any track of email after it's been sent, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.")
failure_reason = fields.Text(
'Failure Reason', readonly=1,
help="Failure reason. This is usually the exception thrown by the email server, stored to ease the debugging of mailing issues.")
+1 -1
View File
@@ -61,7 +61,7 @@ class MailTemplate(models.Model):
scheduled_date = fields.Char('Scheduled Date', help="If set, the queue manager will send the email after the date. If not set, the email will be send as soon as possible. Jinja2 placeholders may be used.")
auto_delete = fields.Boolean(
'Auto Delete', default=True,
help="This option permanently removes any track of email after send, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.")
help="This option permanently removes any track of email after it's been sent, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.")
# contextual action
ref_ir_act_window = fields.Many2one('ir.actions.act_window', 'Sidebar action', readonly=True, copy=False,
help="Sidebar action to make this template available on records "
+2 -2
View File
@@ -33,7 +33,7 @@ QUnit.test('add_link utility function', function (assert) {
});
});
QUnit.test('addLink: linkify inside text node (1 occurence)', function (assert) {
QUnit.test('addLink: linkify inside text node (1 occurrence)', function (assert) {
assert.expect(5);
const content = '<p>some text https://somelink.com</p>';
@@ -71,7 +71,7 @@ QUnit.test('addLink: linkify inside text node (1 occurence)', function (assert)
);
});
QUnit.test('addLink: linkify inside text node (2 occurences)', function (assert) {
QUnit.test('addLink: linkify inside text node (2 occurrences)', function (assert) {
assert.expect(4);
// linkify may add some attributes. Since we do not care of their exact
+2 -1
View File
@@ -137,7 +137,8 @@ class MailComposer(models.TransientModel):
'wizard_id', 'partner_id', 'Additional Contacts')
# mass mode options
notify = fields.Boolean('Notify followers', help='Notify followers of the document (mass post only)')
auto_delete = fields.Boolean('Delete Emails', help='This option permanently removes any track of email after send, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.')
auto_delete = fields.Boolean('Delete Emails',
help='This option permanently removes any track of email after it\'s been sent, including from the Technical menu in the Settings, in order to preserve storage space of your Odoo database.')
auto_delete_message = fields.Boolean('Delete Message Copy', help='Do not keep a copy of the email in the document communication history (mass mailing only)')
mail_server_id = fields.Many2one('ir.mail_server', 'Outgoing mail server')
+4 -8
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -1714,10 +1714,6 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
msgid "Future Activitie"
msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter
msgid "Future Activities"
msgstr ""
@@ -3030,7 +3026,7 @@ msgstr ""
#. module: mrp
#: code:addons/mrp/models/mrp_workorder.py:0
#, python-format
msgid "Planned at the same time than other workorder(s) at %s"
msgid "Planned at the same time as other workorder(s) at %s"
msgstr ""
#. module: mrp
@@ -3087,7 +3083,7 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.res_config_settings_view_form
msgid ""
"Prevent manufacturing users to modify quantities to consume, unless a "
"Prevent manufacturing users from modifying quantities to consume, unless a "
"manager has unlocked the document"
msgstr ""
+1 -1
View File
@@ -192,7 +192,7 @@ class MrpWorkorder(models.Model):
if conflicted_dict.get(wo.id):
infos.append({
'color': 'text-danger',
'msg': _("Planned at the same time than other workorder(s) at %s", wo.workcenter_id.display_name)
'msg': _("Planned at the same time as other workorder(s) at %s", wo.workcenter_id.display_name)
})
color_icon = infos and infos[-1]['color'] or False
wo.show_json_popover = bool(color_icon)
@@ -62,7 +62,7 @@
<div class="o_setting_right_pane">
<label for="group_locked_by_default"/>
<div class="text-muted">
Prevent manufacturing users to modify quantities to consume, unless a manager has unlocked the document
Prevent manufacturing users from modifying quantities to consume, unless a manager has unlocked the document
</div>
</div>
</div>
+5 -9
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-02 14:12+0000\n"
"PO-Revision-Date: 2020-10-02 14:12+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -143,7 +143,7 @@ msgstr ""
#. module: payment
#: code:addons/payment/models/account_invoice.py:0
#, python-format
msgid "A journal must be specified of the acquirer %s."
msgid "A journal must be specified for the acquirer %s."
msgstr ""
#. module: payment
@@ -336,7 +336,7 @@ msgstr ""
#. module: payment
#: model:payment.acquirer,name:payment.payment_acquirer_authorize
msgid "Authorize.Net"
msgid "Authorize.net"
msgstr ""
#. module: payment
@@ -1268,6 +1268,7 @@ msgstr ""
#. module: payment
#: model:ir.model.fields.selection,name:payment.selection__payment_acquirer_onboarding_wizard__payment_method__paypal
#: model:ir.model.fields.selection,name:payment.selection__res_company__payment_onboarding_payment_method__paypal
#: model:payment.acquirer,name:payment.payment_acquirer_paypal
msgid "PayPal"
msgstr ""
@@ -1425,11 +1426,6 @@ msgstr ""
msgid "Payments received"
msgstr ""
#. module: payment
#: model:payment.acquirer,name:payment.payment_acquirer_paypal
msgid "Paypal"
msgstr ""
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_onboarding_wizard__paypal_user_type
msgid "Paypal User Type"
+1 -1
View File
@@ -67,7 +67,7 @@ class AccountMove(models.Model):
# Check a journal is set on acquirer.
if not acquirer.journal_id:
raise ValidationError(_('A journal must be specified of the acquirer %s.', acquirer.name))
raise ValidationError(_('A journal must be specified for the acquirer %s.', acquirer.name))
if not acquirer_id and acquirer:
vals['acquirer_id'] = acquirer.id
+1 -1
View File
@@ -423,7 +423,7 @@
</record>
<record id="product_product_13" model="product.product">
<field name="name">Corner Desk Black</field>
<field name="name">Corner Desk Left Sit</field>
<field name="categ_id" ref="product_category_5"/>
<field name="standard_price">78.0</field>
<field name="list_price">85.0</field>
+4 -4
View File
@@ -151,11 +151,11 @@ class TestProjectFlow(TestProjectCommon):
self.assertEqual(
child_task_1.partner_id, child_task_1.parent_id.partner_id,
"When no project partner_id has been set, a subtask should have the same partner than its parent")
"When no project partner_id has been set, a subtask should have the same partner as its parent")
self.assertEqual(
child_task_2.partner_id, child_task_2.project_id.partner_id,
"When a project partner_id has been set, a subtask should have the same partner than its project")
"When a project partner_id has been set, a subtask should have the same partner as its project")
self.assertEqual(
parent_task.subtask_count, 2,
@@ -190,7 +190,7 @@ class TestProjectFlow(TestProjectCommon):
self.assertEqual(
child_task_1.partner_id, self.project_pigs.partner_id,
"When the project changes, the subtask should have the same partner id than the new project.")
"When the project changes, the subtask should have the same partner id as the new project.")
# restore the partner_id of the 'goats' project
self.project_goats.write({
@@ -204,7 +204,7 @@ class TestProjectFlow(TestProjectCommon):
self.assertEqual(
child_task_2.partner_id, self.project_goats.partner_id,
"When the project changes, the subtask should have the same partner id than the new project.")
"When the project changes, the subtask should have the same partner id as the new project.")
def test_rating(self):
"""Check if rating works correctly even when task is changed from project A to project B"""
+1 -1
View File
@@ -22,7 +22,7 @@ class TestRepair(AccountTestInvoicingCommon):
cls.product_product_5 = cls.env['product.product'].create({'name': 'Product 5'})
cls.product_product_6 = cls.env['product.product'].create({'name': 'Large Cabinet'})
cls.product_product_12 = cls.env['product.product'].create({'name': 'Office Chair Black'})
cls.product_product_13 = cls.env['product.product'].create({'name': 'Corner Desk Black'})
cls.product_product_13 = cls.env['product.product'].create({'name': 'Corner Desk Left Sit'})
cls.product_product_2 = cls.env['product.product'].create({'name': 'Virtual Home Staging'})
cls.product_service_order_repair = cls.env['product.product'].create({
'name': 'Repair Services',
+3 -10
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:46+0000\n"
"PO-Revision-Date: 2020-09-29 13:46+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -1458,7 +1458,7 @@ msgstr ""
#. module: sale
#: model:ir.model.fields,field_description:sale.field_sale_advance_payment_inv__fixed_amount
msgid "Down Payment Amount(Fixed)"
msgid "Down Payment Amount (Fixed)"
msgstr ""
#. module: sale
@@ -2106,13 +2106,6 @@ msgstr ""
msgid "Let your customers log in to see their documents"
msgstr ""
#. module: sale
#. openerp-web
#: code:addons/sale/static/src/js/tours/sale.js:0
#, python-format
msgid "Let's enter the address."
msgstr ""
#. module: sale
#. openerp-web
#: code:addons/sale/static/src/js/tours/sale.js:0
@@ -58,7 +58,7 @@ class SaleAdvancePaymentInv(models.TransientModel):
count = fields.Integer(default=_count, string='Order Count')
amount = fields.Float('Down Payment Amount', digits='Account', help="The percentage of amount to be invoiced in advance, taxes excluded.")
currency_id = fields.Many2one('res.currency', string='Currency', default=_default_currency_id)
fixed_amount = fields.Monetary('Down Payment Amount(Fixed)', help="The fixed amount to be invoiced in advance, taxes excluded.")
fixed_amount = fields.Monetary('Down Payment Amount (Fixed)', help="The fixed amount to be invoiced in advance, taxes excluded.")
deposit_account_id = fields.Many2one("account.account", string="Income Account", domain=[('deprecated', '=', False)],
help="Account used for deposits", default=_default_deposit_account_id)
deposit_taxes_id = fields.Many2many("account.tax", string="Customer Taxes", help="Taxes used for deposits", default=_default_deposit_taxes_id)
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -129,13 +129,13 @@ class TestSaleOrder(TestSaleCommon):
self.assertEqual(
len(self.sale_order_no_price_list.order_line),
1,
"The sale order shall contains the same number of products than"
"The sale order shall contains the same number of products as"
"the quotation template.")
self.assertEqual(
self.sale_order_no_price_list.order_line[0].product_id.id,
self.product_1.id,
"The sale order shall contains the same products than the"
"The sale order shall contains the same products as the"
"quotation template.")
self.assertEqual(
@@ -147,13 +147,13 @@ class TestSaleOrder(TestSaleCommon):
self.assertEqual(
len(self.sale_order_no_price_list.sale_order_option_ids),
1,
"The sale order shall contains the same number of optional products than"
"The sale order shall contains the same number of optional products as"
"the quotation template.")
self.assertEqual(
self.sale_order_no_price_list.sale_order_option_ids[0].product_id.id,
self.optional_product.id,
"The sale order shall contains the same optional products than the"
"The sale order shall contains the same optional products as the"
"quotation template.")
self.assertEqual(
@@ -173,7 +173,7 @@ class TestSaleOrder(TestSaleCommon):
self.assertEqual(
self.sale_order_no_price_list.order_line[1].product_id.id,
self.optional_product.id,
"The sale order shall contains the same products than the"
"The sale order shall contains the same products as the"
"quotation template.")
self.assertEqual(
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:46+0000\n"
"PO-Revision-Date: 2020-09-29 13:46+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -528,14 +528,14 @@ class TestSaleService(TestCommonSaleTimesheet):
'name': '%s: substask1' % (task.name,)
})
self.assertEqual(subtask.sale_line_id, task.sale_line_id, "By, default, a child task should have the same SO line than its mother")
self.assertEqual(task2.sale_line_id, project.sale_line_id, "A new task in a billable project should have the same SO line than its project")
self.assertEqual(task2.partner_id, so_line_deliver_new_task_project.order_partner_id, "A new task in a billable project should have the same SO line than its project")
self.assertEqual(subtask.sale_line_id, task.sale_line_id, "By, default, a child task should have the same SO line as its mother")
self.assertEqual(task2.sale_line_id, project.sale_line_id, "A new task in a billable project should have the same SO line as its project")
self.assertEqual(task2.partner_id, so_line_deliver_new_task_project.order_partner_id, "A new task in a billable project should have the same SO line as its project")
# moving subtask in another project
subtask.write({'project_id': self.project_global.id})
self.assertEqual(subtask.sale_line_id, task.sale_line_id, "A child task should always have the same SO line than its mother, even when changing project")
self.assertEqual(subtask.sale_line_id, task.sale_line_id, "A child task should always have the same SO line as its mother, even when changing project")
self.assertEqual(subtask.sale_line_id, so_line_deliver_new_task_project)
# changing the SO line of the mother task
+20 -15
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-02 14:11+0000\n"
"PO-Revision-Date: 2020-10-02 14:11+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -2263,16 +2263,6 @@ msgstr ""
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__forecast_availability
msgid "Forcast Availability"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__forecast_expected_date
msgid "Forcasted Expected date"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_product_category__removal_strategy_id
msgid "Force Removal Strategy"
@@ -2283,6 +2273,11 @@ msgstr ""
msgid "Forecast"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__forecast_availability
msgid "Forecast Availability"
msgstr ""
#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_warehouse_orderpoint_tree_editable
#: model_terms:ir.ui.view,arch_db:stock.view_warehouse_orderpoint_tree_editable_config
@@ -2330,6 +2325,11 @@ msgstr ""
msgid "Forecasted Deliveries"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_move__forecast_expected_date
msgid "Forecasted Expected date"
msgstr ""
#. module: stock
#: model:ir.actions.act_window,name:stock.report_stock_quantity_action
#: model:ir.actions.act_window,name:stock.report_stock_quantity_action_product
@@ -2530,6 +2530,11 @@ msgstr ""
msgid "Hidden until next scheduler."
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_stock_picking__hide_picking_type
msgid "Hide Picking Type"
msgstr ""
#. module: stock
#: model:ir.model.fields,field_description:stock.field_barcode_rule__id
#: model:ir.model.fields,field_description:stock.field_procurement_group__id
@@ -3068,7 +3073,7 @@ msgstr ""
#. module: stock
#: model:ir.model.fields,help:stock.field_stock_picking__has_deadline_issue
msgid "Is late or will be late depending of the deadline and scheduled date"
msgid "Is late or will be late depending on the deadline and scheduled date"
msgstr ""
#. module: stock
@@ -7651,8 +7656,8 @@ msgstr ""
#: code:addons/stock/models/stock_orderpoint.py:0
#, python-format
msgid ""
"You have to select a product unit of measure that is in the same category "
"than the default unit of measure of the product"
"You have to select a product unit of measure that is in the same category as"
" the default unit of measure of the product"
msgstr ""
#. module: stock
+2 -2
View File
@@ -176,8 +176,8 @@ class StockMove(models.Model):
next_serial = fields.Char('First SN')
next_serial_count = fields.Integer('Number of SN')
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Original Reordering Rule', check_company=True)
forecast_availability = fields.Float('Forcast Availability', compute='_compute_forecast_information', digits='Product Unit of Measure')
forecast_expected_date = fields.Datetime('Forcasted Expected date', compute='_compute_forecast_information')
forecast_availability = fields.Float('Forecast Availability', compute='_compute_forecast_information', digits='Product Unit of Measure')
forecast_expected_date = fields.Datetime('Forecasted Expected date', compute='_compute_forecast_information')
lot_ids = fields.Many2many('stock.production.lot', compute='_compute_lot_ids', inverse='_set_lot_ids', string='Serial Numbers', readonly=False)
@api.onchange('product_id', 'picking_type_id')
+1 -1
View File
@@ -172,7 +172,7 @@ class StockWarehouseOrderpoint(models.Model):
def _check_product_uom(self):
''' Check if the UoM has the same category as the product standard UoM '''
if any(orderpoint.product_id.uom_id.category_id != orderpoint.product_uom.category_id for orderpoint in self):
raise ValidationError(_('You have to select a product unit of measure that is in the same category than the default unit of measure of the product'))
raise ValidationError(_('You have to select a product unit of measure that is in the same category as the default unit of measure of the product'))
@api.onchange('location_id')
def _onchange_location_id(self):
+1 -1
View File
@@ -286,7 +286,7 @@ class Picking(models.Model):
help="Date Promise to the customer on the top level document (SO/PO)")
has_deadline_issue = fields.Boolean(
"Is late", compute='_compute_has_deadline_issue', store=True, default=False,
help="Is late or will be late depending of the deadline and scheduled date")
help="Is late or will be late depending on the deadline and scheduled date")
date = fields.Datetime(
'Creation Date',
default=fields.Datetime.now, index=True, tracking=True,
@@ -3,7 +3,7 @@
<data noupdate="1">
<record model="gamification.badge" id="vendor_certification_badge">
<field name="name">MyCompany Vendor</field>
<field name="description">Congratulation, you are now official vendor of MyCompany</field>
<field name="description">Congratulations, you are now official vendor of MyCompany</field>
<field name="rule_auth">nobody</field>
<field name="image_1920" type="base64" file="gamification/static/img/badge_good_job-image.png"/>
</record>
@@ -126,7 +126,7 @@
<record id="survey_demo_burger_quiz_p2_q3" model="survey.question">
<field name="survey_id" ref="survey_demo_burger_quiz"/>
<field name="sequence">130</field>
<field name="title">What is the highest volcano in Europe ?</field>
<field name="title">Which is the highest volcano in Europe ?</field>
<field name="question_type">simple_choice</field>
<field name="constr_mandatory" eval="True"/>
<field name="is_conditional" eval="True"/>
+2 -2
View File
@@ -66,7 +66,7 @@
<field name="question_type" eval="False"/>
<field name="is_page" eval="True"/>
<field name="description" type="html">
<p>Some questions on our Company. Do you really know us ?</p></field>
<p>Some questions about our company. Do you really know us?</p></field>
</record>
<record id="survey_demo_quiz_p2_q1" model="survey.question">
<field name="survey_id" ref="survey_demo_quiz"/>
@@ -334,7 +334,7 @@
<record id="survey_demo_quiz_p4_q1_sug1" model="survey.question.answer">
<field name="question_id" ref="survey_demo_quiz_p4_q1"/>
<field name="sequence">1</field>
<field name="value">Pincaceae</field>
<field name="value">Pinaceae</field>
<field name="value_image" type="base64" file="survey/static/img/pinaceae.jpg"/>
</record>
<record id="survey_demo_quiz_p4_q1_sug2" model="survey.question.answer">
+25 -25
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -386,7 +386,7 @@ msgstr ""
#. module: survey
#: model:survey.question,description:survey.survey_demo_quiz_p2
msgid "<p>Some questions on our Company. Do you really know us ?</p>"
msgid "<p>Some questions about our company. Do you really know us?</p>"
msgstr ""
#. module: survey
@@ -644,7 +644,7 @@ msgstr ""
#. module: survey
#: code:addons/survey/models/survey_user.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgid "A question is either skipped or answered, not both."
msgstr ""
#. module: survey
@@ -1242,7 +1242,7 @@ msgstr ""
#. module: survey
#: model:gamification.badge,description:survey.vendor_certification_badge
msgid "Congratulation, you are now official vendor of MyCompany"
msgid "Congratulations, you are now official vendor of MyCompany"
msgstr ""
#. module: survey
@@ -1275,6 +1275,11 @@ msgstr ""
msgid "Continue"
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.survey_fill_form
msgid "Continue here"
msgstr ""
#. module: survey
#: model:survey.question.answer,value:survey.survey_demo_quiz_p3_q3_sug4
msgid "Cookies"
@@ -2689,7 +2694,7 @@ msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.question_result_number_or_date
msgid "Occurence"
msgid "Occurrence"
msgstr ""
#. module: survey
@@ -2869,7 +2874,7 @@ msgstr ""
#. module: survey
#: model:survey.question.answer,value:survey.survey_demo_quiz_p4_q1_sug1
msgid "Pincaceae"
msgid "Pinaceae"
msgstr ""
#. module: survey
@@ -3324,14 +3329,6 @@ msgstr ""
msgid "Some emails you just entered are incorrect: %s"
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.survey_fill_form
msgid ""
"Something went wrong while contacting survey server. <strong class=\"text-"
"danger\">Your answers have probably not been recorded.</strong> Try "
"refreshing."
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.survey_page_statistics_header
msgid "Sorry, no one answered this survey yet."
@@ -3997,6 +3994,13 @@ msgstr ""
msgid "Title"
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.survey_fill_form
msgid ""
"To take this survey, please close all other tabs on <strong class=\"text-"
"danger\"/>."
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.survey_survey_view_search
msgid "Today Activities"
@@ -4242,11 +4246,6 @@ msgstr ""
msgid "What is the biggest city in the world ?"
msgstr ""
#. module: survey
#: model:survey.question,title:survey.survey_demo_burger_quiz_p2_q3
msgid "What is the highest volcano in Europe ?"
msgstr ""
#. module: survey
#: model:survey.question,title:survey.survey_demo_quiz_p1_q1
msgid "What is your email ?"
@@ -4313,6 +4312,11 @@ msgstr ""
msgid "Which category does a tomato belong to"
msgstr ""
#. module: survey
#: model:survey.question,title:survey.survey_demo_burger_quiz_p2_q3
msgid "Which is the highest volcano in Europe ?"
msgstr ""
#. module: survey
#: model:survey.question,title:survey.survey_feedback_p2_q1
msgid "Which of the following words would you use to describe our products ?"
@@ -4449,12 +4453,8 @@ msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.certification_report_view_classic
msgid "for graduating from"
msgstr ""
#. module: survey
#: model_terms:ir.ui.view,arch_db:survey.certification_report_view_modern
msgid "for gratuating from"
msgid "for graduating"
msgstr ""
#. module: survey
+1 -1
View File
@@ -511,7 +511,7 @@ class SurveyUserInputLine(models.Model):
def _check_answer_type_skipped(self):
for line in self:
if (line.skipped == bool(line.answer_type)):
raise ValidationError(_('A question is either skipped, either answered. Not both.'))
raise ValidationError(_('A question is either skipped or answered, not both.'))
# allow 0 for numerical box
if line.answer_type == 'numerical_box' and float_is_zero(line['value_numerical_box'], precision_digits=6):
@@ -31,21 +31,21 @@ class TestCertificationBadge(common.TestSurveyCommon):
self.certification_badge = self.env['gamification.badge'].with_user(self.survey_manager).create({
'name': self.certification_survey.title,
'description': 'Congratulation, you succeeded this certification',
'description': 'Congratulations, you have succeeded this certification',
'rule_auth': 'nobody',
'level': None,
})
self.certification_badge_2 = self.env['gamification.badge'].with_user(self.survey_manager).create({
'name': self.certification_survey.title + ' 2',
'description': 'Congratulation, you succeeded this certification',
'description': 'Congratulations, you have succeeded this certification',
'rule_auth': 'nobody',
'level': None,
})
self.certification_badge_3 = self.env['gamification.badge'].with_user(self.survey_manager).create({
'name': self.certification_survey.title + ' 3',
'description': 'Congratulation, you succeeded this certification',
'description': 'Congratulations, you have succeeded this certification',
'rule_auth': 'nobody',
'level': None,
})
@@ -20,7 +20,7 @@
<div class="certification-description">
<span t-field="user_input.survey_id.create_uid.company_id.display_name"/> is proud to award this certificate to
<span t-esc="user_input.partner_id.name or user_input.email"/> for gratuating from <span t-field="user_input.survey_id.display_name"/>.
<span t-esc="user_input.partner_id.name or user_input.email"/> for graduating <span t-field="user_input.survey_id.display_name"/>.
</div>
</div>
<div t-else="">
@@ -58,7 +58,7 @@
<div class="certification-description">
<span t-field="user_input.survey_id.create_uid.company_id.display_name"/> is proud to award this certificate to
<span t-esc="user_input.partner_id.name or user_input.email"/> for graduating from <span t-field="user_input.survey_id.display_name"/>.
<span t-esc="user_input.partner_id.name or user_input.email"/> for graduating <span t-field="user_input.survey_id.display_name"/>.
</div>
</div>
<div t-else="">
+1 -1
View File
@@ -124,7 +124,7 @@
<field name="certification_badge_id" attrs="{'invisible': ['|', ('certification_give_badge', '=', False), ('certification_badge_id', '!=', False)]}"
domain="[('survey_id', '=', active_id), ('survey_id', '!=', False)]"
context="{'default_name': title,
'default_description': 'Congratulation, you succeeded this certification',
'default_description': 'Congratulations, you have succeeded this certification',
'default_rule_auth': 'nobody',
'default_level': None,
'form_view_ref': 'survey.gamification_badge_form_view_simplified',
@@ -216,7 +216,7 @@
<thead>
<tr>
<th>User Responses</th>
<th>Occurence</th>
<th>Occurrence</th>
</tr>
</thead>
<tbody>
+3 -2
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:46+0000\n"
"PO-Revision-Date: 2020-09-29 13:46+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -4422,6 +4422,7 @@ msgstr ""
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/chrome/action_manager_report.js:0
#: code:addons/web/static/src/js/services/crash_manager.js:0
#: code:addons/web/static/src/js/views/basic/basic_controller.js:0
#: code:addons/web/static/src/js/views/basic/basic_controller.js:0
#: code:addons/web/static/src/js/views/list/list_controller.js:0
@@ -4370,7 +4370,7 @@ QUnit.module('fields', {}, function () {
await testUtils.dom.click(form.$('.o_field_x2many_list_row_add a'));
assert.strictEqual($('.modal .o_data_row').length, 2,
"sould have 2 records in the select view (the last one is not displayed because it is already selected)");
"should have 2 records in the select view (the last one is not displayed because it is already selected)");
await testUtils.dom.click($('.modal .o_data_row:first .o_list_record_selector input'));
await testUtils.dom.click($('.modal .o_select_button'));
@@ -4379,7 +4379,7 @@ QUnit.module('fields', {}, function () {
await testUtils.dom.click(form.$('.o_field_x2many_list_row_add a'));
assert.strictEqual($('.modal .o_data_row').length, 1,
"sould have 1 record in the select view");
"should have 1 record in the select view");
await testUtils.dom.click($('.modal-footer button:eq(1)'));
await testUtils.fields.editInput($('.modal input.o_field_widget[name="turtle_foo"]'), 'tototo');
@@ -4389,10 +4389,10 @@ QUnit.module('fields', {}, function () {
await testUtils.dom.click($('.modal-footer button:contains(&):first'));
assert.strictEqual($('.modal').length, 0, "sould close the modals");
assert.strictEqual($('.modal').length, 0, "should close the modals");
assert.containsN(form, '.o_data_row', 3,
"sould have 3 records in one2many list");
"should have 3 records in one2many list");
assert.strictEqual(form.$('.o_data_row').text(), "blip1.59yop1.50tototo1.550xphone",
"should display the record values in one2many list");
+1 -1
View File
@@ -159,7 +159,7 @@
<div class="oe_structure">
<h5>The finest OpenWood furnitures are coming to your house in a brand new collection</h5>
<p>
And this time, we go fully ONLINE! Meet us in our live streams from the confort of your house.<br/>
And this time, we go fully ONLINE! Meet us in our live streams from the comfort of your house.<br/>
Special discount codes will be handed out during the various streams, make sure to be there on time.
</p>
<p class="mb-3">For any additional information, please contact us at <a href="mailto:events@openwood.example.com">events@penwood.example.com</a>.</p>
+3 -3
View File
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~13.5\n"
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-01 07:28+0000\n"
"PO-Revision-Date: 2020-09-01 07:28+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -45,9 +45,9 @@ class QuizQuestion(models.Model):
def _check_answers_integrity(self):
for question in self:
if len(question.answer_ids.filtered(lambda answer: answer.awarded_points)) != 1:
raise ValidationError(_('Question "%s" must have 1 correct answer') % question.name)
raise ValidationError(_('Question "%s" must have 1 correct answer', question.name))
if len(question.answer_ids) < 2:
raise ValidationError(_('Question "%s" must have 1 correct answer and at least 1 invalid answer') % question.name)
raise ValidationError(_('Question "%s" must have 1 correct answer and at least 1 incorrect answer', question.name))
class QuizAnswer(models.Model):
+7 -7
View File
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~13.5\n"
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-01 07:28+0000\n"
"PO-Revision-Date: 2020-09-01 07:28+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -1081,7 +1081,7 @@ msgstr ""
#. module: website_forum
#: model_terms:ir.ui.view,arch_db:website_forum.header
msgid ""
"Click here to send a verification email allowing you to participate to the "
"Click here to send a verification email allowing you to participate in the "
"forum."
msgstr ""
@@ -2576,7 +2576,7 @@ msgstr ""
#. module: website_forum
#: model:ir.model.fields,help:website_forum.field_forum_forum__privacy
msgid ""
"Public: Forum is pubic\n"
"Public: Forum is public\n"
"Signed In: Forum is visible for signed in users\n"
"Some users: Forum and their content are hidden for non members of selected group"
msgstr ""
@@ -2586,7 +2586,7 @@ msgstr ""
#: code:addons/website_forum/static/src/xml/website_forum_templates.xml:0
#, python-format
msgid ""
"Public: Forum is pubic\\nSigned In: Forum is visible for signed in "
"Public: Forum is public\\nSigned In: Forum is visible for signed in "
"users\\nSome users: Forum and their content are hidden for non members of "
"selected group"
msgstr ""
@@ -3575,7 +3575,7 @@ msgstr ""
#. module: website_forum
#: model_terms:ir.ui.view,arch_db:website_forum.header
msgid "You may now participate to our forums."
msgid "You may now participate in our forums."
msgstr ""
#. module: website_forum
+1 -1
View File
@@ -34,7 +34,7 @@ class Forum(models.Model):
('public', 'Public'),
('connected', 'Signed In'),
('private', 'Some users')],
help="Public: Forum is pubic\nSigned In: Forum is visible for signed in users\nSome users: Forum and their content are hidden for non members of selected group",
help="Public: Forum is public\nSigned In: Forum is visible for signed in users\nSome users: Forum and their content are hidden for non members of selected group",
default='public')
authorized_group_id = fields.Many2one('res.groups', 'Authorized Group')
menu_id = fields.Many2one('website.menu', 'Menu', copy=False)
@@ -28,7 +28,7 @@
</div>
<div class="form-group row mt-2">
<label class="col-md-4 col-form-label" data-toggle="tooltip" data-placement="bottom"
title="Public: Forum is pubic\nSigned In: Forum is visible for signed in users\nSome users: Forum and their content are hidden for non members of selected group">Privacy</label>
title="Public: Forum is public\nSigned In: Forum is visible for signed in users\nSome users: Forum and their content are hidden for non members of selected group">Privacy</label>
<div class="col-md-8">
<div class="custom-control custom-radio">
<input type="radio" id="public" name="privacy" class="custom-control-input" value="public" checked="checked"/>
+2 -2
View File
@@ -74,8 +74,8 @@
<div class="col o_wprofile_email_validation_container mb16">
<t t-call="website_profile.email_validation_banner">
<t t-set="redirect_url" t-value="'/forum/%s' % forum.id"/>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the forum.</t>
<t t-set="additional_validated_email_message"> You may now participate to our forums.</t>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate in the forum.</t>
<t t-set="additional_validated_email_message"> You may now participate in our forums.</t>
</t>
<div class="row">
<div class="col">
+36 -34
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-09-29 13:45+0000\n"
"PO-Revision-Date: 2020-09-29 13:45+0000\n"
"POT-Creation-Date: 2020-10-29 15:48+0000\n"
"PO-Revision-Date: 2020-10-29 15:48+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -1400,7 +1400,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:website_slides.courses_all
#: model_terms:ir.ui.view,arch_db:website_slides.courses_home
msgid ""
"Click here to send a verification email allowing you to participate to the "
"Click here to send a verification email allowing you to participate at the "
"eLearning."
msgstr ""
@@ -1583,27 +1583,9 @@ msgstr ""
#: code:addons/website_slides/static/src/js/tours/slides_tour.js:0
#, python-format
msgid ""
"Congratulation you've created your first course.<br/>Click on the title of "
"this content to see it in fullscreen mode."
msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/js/tours/slides_tour.js:0
#, python-format
msgid ""
"Congratulation! Your first lesson is available. Let's see the options "
"available here. The tag \"<b>New</b>\" indicate that this lesson has less "
"than 7 days."
msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/js/tours/slides_tour.js:0
#, python-format
msgid ""
"Congratulation, your course is created, but there isn't any content yet. "
"First, let's add a <b>Section</b> to give your course a structure."
"Congratulations! Your first lesson is available. Let's see the options "
"available here. The tag \"<b>New</b>\" indicates that this lesson was "
"created less than 7 days ago."
msgstr ""
#. module: website_slides
@@ -1611,6 +1593,24 @@ msgstr ""
msgid "Congratulations, you have reached the last rank!"
msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/js/tours/slides_tour.js:0
#, python-format
msgid ""
"Congratulations, you've created your first course.<br/>Click on the title of"
" this content to see it in fullscreen mode."
msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/js/tours/slides_tour.js:0
#, python-format
msgid ""
"Congratulations, your course has been created, but there isn't any content "
"yet. First, let's add a <b>Section</b> to give your course a structure."
msgstr ""
#. module: website_slides
#: model:ir.model,name:website_slides.model_res_partner
#: model_terms:ir.ui.view,arch_db:website_slides.slide_channel_partner_view_tree
@@ -1938,10 +1938,10 @@ msgstr ""
msgid ""
"Depending the promote strategy, a slide will appear on the top of the course's page :\n"
" * Latest Published : the slide created last.\n"
" * Most Voted : the slide which have to most vote.\n"
" * Most Viewed ; the slide which have been viewed the most.\n"
" * Most Voted : the slide which has to most votes.\n"
" * Most Viewed ; the slide which has been viewed the most.\n"
" * Specific : You choose the slide to appear.\n"
" * None : There won't be any slide showing.\n"
" * None : No slides will be shown.\n"
msgstr ""
#. module: website_slides
@@ -2477,6 +2477,7 @@ msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/xml/activity.xml:0
#: code:addons/website_slides/static/src/xml/activity.xml:0
#, python-format
msgid "Grant Access"
msgstr ""
@@ -3737,7 +3738,7 @@ msgstr ""
#. module: website_slides
#: code:addons/website_slides/models/slide_question.py:0
#, python-format
msgid "Question \"%s\" must have 1 correct answer and at least 1 invalid answer"
msgid "Question \"%s\" must have 1 correct answer and at least 1 incorrect answer"
msgstr ""
#. module: website_slides
@@ -3852,6 +3853,7 @@ msgstr ""
#. module: website_slides
#. openerp-web
#: code:addons/website_slides/static/src/xml/activity.xml:0
#: code:addons/website_slides/static/src/xml/activity.xml:0
#, python-format
msgid "Refuse Access"
msgstr ""
@@ -4633,7 +4635,7 @@ msgstr ""
#. openerp-web
#: code:addons/website_slides/static/src/xml/slide_quiz_create.xml:0
#, python-format
msgid "This is the correct answer, congratulation"
msgid "This is the correct answer, congratulations"
msgstr ""
#. module: website_slides
@@ -5228,7 +5230,7 @@ msgstr ""
#. module: website_slides
#: model_terms:ir.ui.view,arch_db:website_slides.courses_all
#: model_terms:ir.ui.view,arch_db:website_slides.courses_home
msgid "You may now participate to our eLearning."
msgid "You may now participate in our eLearning."
msgstr ""
#. module: website_slides
@@ -5264,7 +5266,7 @@ msgstr ""
#: code:addons/website_slides/models/slide_slide.py:0
#, python-format
msgid ""
"Your Google API key is invalid, please update it into your settings.\n"
"Your Google API key is invalid, please update it in your settings.\n"
"Settings > Website > Features > API Key"
msgstr ""
@@ -5378,9 +5380,9 @@ msgstr ""
#: code:addons/website_slides/static/src/xml/website_slides_upload.xml:0
#, python-format
msgid ""
"means? The YouTube unlisted meaning is a video which can be viewed only by "
"the users having the link to it. Your video will never come up in the search"
" results nor on your channel."
"means? The YouTube \"unlisted\" means it is a video which can be viewed only"
" by the users with the link to it. Your video will never come up in the "
"search results nor on your channel."
msgstr ""
#. module: website_slides
@@ -171,10 +171,10 @@ class Channel(models.Model):
string="Promoted Content", default='latest', required=False,
help='Depending the promote strategy, a slide will appear on the top of the course\'s page :\n'
' * Latest Published : the slide created last.\n'
' * Most Voted : the slide which have to most vote.\n'
' * Most Viewed ; the slide which have been viewed the most.\n'
' * Most Voted : the slide which has to most votes.\n'
' * Most Viewed ; the slide which has been viewed the most.\n'
' * Specific : You choose the slide to appear.\n'
' * None : There won\'t be any slide showing.\n')
' * None : No slides will be shown.\n')
promoted_slide_id = fields.Many2one('slide.slide', string='Promoted Slide')
access_token = fields.Char("Security Token", copy=False, default=_default_access_token)
nbr_presentation = fields.Integer('Presentations', compute='_compute_slides_statistics', store=True)
@@ -26,7 +26,7 @@ class SlideQuestion(models.Model):
if len(question.answer_ids.filtered(lambda answer: answer.is_correct)) != 1:
raise ValidationError(_('Question "%s" must have 1 correct answer', question.question))
if len(question.answer_ids) < 2:
raise ValidationError(_('Question "%s" must have 1 correct answer and at least 1 invalid answer', question.question))
raise ValidationError(_('Question "%s" must have 1 correct answer and at least 1 incorrect answer', question.question))
@api.depends('slide_id')
def _compute_statistics(self):
+1 -1
View File
@@ -815,7 +815,7 @@ class Slide(models.Model):
error = str(error)
if error == 'keyInvalid':
return _('Your Google API key is invalid, please update it into your settings.\nSettings > Website > Features > API Key')
return _('Your Google API key is invalid, please update it in your settings.\nSettings > Website > Features > API Key')
return _('Could not fetch data from url. Document or access right not available:\n%s', error)
@@ -34,7 +34,7 @@ tour.register('slides_tour', {
content: _t("Click on the <b>Create</b> button to create your first course."),
}, {
trigger: '.o_wslides_js_slide_section_add',
content: _t("Congratulation, your course is created, but there isn't any content yet. First, let's add a <b>Section</b> to give your course a structure."),
content: _t("Congratulations, your course has been created, but there isn't any content yet. First, let's add a <b>Section</b> to give your course a structure."),
position: 'bottom',
}, {
trigger: 'input[name="name"]',
@@ -69,7 +69,7 @@ tour.register('slides_tour', {
width: 285,
}, {
trigger: 'span.badge-info:contains("New")',
content: _t("Congratulation! Your first lesson is available. Let's see the options available here. The tag \"<b>New</b>\" indicate that this lesson has less than 7 days."),
content: _t("Congratulations! Your first lesson is available. Let's see the options available here. The tag \"<b>New</b>\" indicates that this lesson was created less than 7 days ago."),
position: 'bottom',
}, {
trigger: 'a[name="o_wslides_list_slide_add_quizz"]',
@@ -110,7 +110,7 @@ tour.register('slides_tour', {
position: 'bottom',
}, {
trigger: 'a.o_wslides_js_slides_list_slide_link',
content: _t("Congratulation you've created your first course.<br/>Click on the title of this content to see it in fullscreen mode."),
content: _t("Congratulations, you've created your first course.<br/>Click on the title of this content to see it in fullscreen mode."),
position: 'bottom',
}]);
@@ -57,7 +57,7 @@
<i class="o_wslides_js_quiz_icon o_wslides_js_quiz_remove_answer fa fa-lg fa-trash-o p-md-2 py-2 px-1 text-muted" title="Remove this answer" />
</div>
<div class="o_wslides_js_quiz_answer_comment row align-items-center d-none">
<input type="text" class="form-control col-8 offset-1 mt-1" placeholder="This is the correct answer, congratulation"
<input type="text" class="form-control col-8 offset-1 mt-1" placeholder="This is the correct answer, congratulations"
t-attf-value="#{answer ? answer.comment : ''}" />
<i class="o_wslides_js_quiz_icon o_wslides_js_quiz_remove_answer_comment fa fa-lg fa-trash-o p-2 text-muted" title="Remove the answer comment" />
</div>
@@ -154,7 +154,7 @@
<div class="o_slide_tutorial p-3">
<div class="h5">How to upload your videos ?</div>
<div class="mx-3 my-4">First, upload your videos on YouTube and mark them as <strong>unlisted</strong>. This way, they will be secured.</div>
<div class="mx-3 my-4">What does <strong>unlisted</strong> means? The YouTube unlisted meaning is a video which can be viewed only by the users having the link to it. Your video will never come up in the search results nor on your channel.</div>
<div class="mx-3 my-4">What does <strong>unlisted</strong> means? The YouTube "unlisted" means it is a video which can be viewed only by the users with the link to it. Your video will never come up in the search results nor on your channel.</div>
<div class="mx-3 my-4"><a href="https://support.google.com/youtube/answer/157177" target="_blank" >Change video privacy settings</a></div>
</div>
<div class="o_slide_preview d-none">
@@ -47,8 +47,8 @@
<t t-set="redirect_url" t-value="'/slides'"/>
<t t-set="send_alert_classes" t-value="'alert alert-danger alert-dismissable mt-4 mb-0'"/>
<t t-set="done_alert_classes" t-value="'alert alert-success alert-dismissable mt-4 mb-0'"/>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the eLearning.</t>
<t t-set="additional_validated_email_message"> You may now participate to our eLearning.</t>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate at the eLearning.</t>
<t t-set="additional_validated_email_message"> You may now participate in our eLearning.</t>
</t>
</div>
</div>
@@ -260,8 +260,8 @@
<div class="o_wprofile_email_validation_container mb16 mt16">
<t t-call="website_profile.email_validation_banner">
<t t-set="redirect_url" t-value="'/slides'"/>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the eLearning.</t>
<t t-set="additional_validated_email_message"> You may now participate to our eLearning.</t>
<t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate at the eLearning.</t>
<t t-set="additional_validated_email_message"> You may now participate in our eLearning.</t>
</t>
</div>
<!-- Display tags -->