diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po index a3f724f574f..71955ffdde2 100644 --- a/addons/account/i18n/ru.po +++ b/addons/account/i18n/ru.po @@ -35,13 +35,14 @@ # Yuriy Ney , 2017 # Yuriy Ney , 2018 # sergeiruzkiicode , 2018 +# Илья Пономарев , 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-22 14:10+0000\n" "PO-Revision-Date: 2018-03-22 14:10+0000\n" -"Last-Translator: sergeiruzkiicode , 2018\n" +"Last-Translator: Илья Пономарев , 2018\n" "Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4790,12 +4791,12 @@ msgstr "" #. module: account #: model:ir.ui.view,arch_db:account.res_config_settings_view_form msgid "Import your bank statements in CAMT.053" -msgstr "" +msgstr "Импорт банковской выписки в формате CAMT.053" #. module: account #: model:ir.ui.view,arch_db:account.res_config_settings_view_form msgid "Import your bank statements in CSV" -msgstr "" +msgstr "Импорт Банковской Выписки в формате CSV" #. module: account #: model:ir.ui.view,arch_db:account.res_config_settings_view_form diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index ebc430f0603..d2555241023 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -427,7 +427,7 @@ class AccountInvoice(models.Model): """ computes the prefix of the number that will be assigned to the first invoice/bill/refund of a journal, in order to let the user manually change it. """ - if not self.env.user._is_admin(): + if not self.env.user._is_system(): for invoice in self: invoice.sequence_number_next_prefix = False invoice.sequence_number_next = '' @@ -1629,6 +1629,13 @@ class AccountInvoiceLine(models.Model): return accounts['income'] return accounts['expense'] + def _set_currency(self): + company = self.invoice_id.company_id + currency = self.invoice_id.currency_id + if company and currency: + if company.currency_id != currency: + self.price_unit = self.price_unit * currency.with_context(dict(self._context or {}, date=self.invoice_id.date_invoice)).rate + def _set_taxes(self): """ Used in on_change to set taxes and price.""" if self.invoice_id.type in ('out_invoice', 'out_refund'): @@ -1647,8 +1654,10 @@ class AccountInvoiceLine(models.Model): prec = self.env['decimal.precision'].precision_get('Product Price') if not self.price_unit or float_compare(self.price_unit, self.product_id.standard_price, precision_digits=prec) == 0: self.price_unit = fix_price(self.product_id.standard_price, taxes, fp_taxes) + self._set_currency() else: self.price_unit = fix_price(self.product_id.lst_price, taxes, fp_taxes) + self._set_currency() @api.onchange('product_id') def _onchange_product_id(self): @@ -1697,8 +1706,6 @@ class AccountInvoiceLine(models.Model): domain['uom_id'] = [('category_id', '=', product.uom_id.category_id.id)] if company and currency: - if company.currency_id != currency: - self.price_unit = self.price_unit * currency.with_context(dict(self._context or {}, date=self.invoice_id.date_invoice)).rate if self.uom_id and self.uom_id.id != product.uom_id.id: self.price_unit = product.uom_id._compute_price(self.price_unit, self.uom_id) diff --git a/addons/account/models/res_config_settings.py b/addons/account/models/res_config_settings.py index 601bda4541e..7282714202b 100644 --- a/addons/account/models/res_config_settings.py +++ b/addons/account/models/res_config_settings.py @@ -14,7 +14,7 @@ class ResConfigSettings(models.TransientModel): 'account.journal', related='company_id.currency_exchange_journal_id', string="Exchange Gain or Loss Journal", - domain=[('type', '=', 'general')], + domain="[('company_id', '=', company_id), ('type', '=', 'general')]", help='The accounting journal where automatic exchange differences will be registered') has_chart_of_accounts = fields.Boolean(compute='_compute_has_chart_of_accounts', string='Company has a chart of accounts') chart_template_id = fields.Many2one('account.chart.template', string='Template', diff --git a/addons/account/views/account_journal_dashboard_view.xml b/addons/account/views/account_journal_dashboard_view.xml index fe5d69d5eb9..0c27c843252 100644 --- a/addons/account/views/account_journal_dashboard_view.xml +++ b/addons/account/views/account_journal_dashboard_view.xml @@ -248,14 +248,16 @@ -
-
+ +
+
Latest Statement -
-
+
+
+
-
+
diff --git a/addons/account/views/report_journal.xml b/addons/account/views/report_journal.xml index 06dbab99ae4..c642b89347a 100644 --- a/addons/account/views/report_journal.xml +++ b/addons/account/views/report_journal.xml @@ -50,7 +50,7 @@ - + diff --git a/addons/account_bank_statement_import/account_bank_statement_import.py b/addons/account_bank_statement_import/account_bank_statement_import.py index 45c285a5d51..6fb102104c5 100644 --- a/addons/account_bank_statement_import/account_bank_statement_import.py +++ b/addons/account_bank_statement_import/account_bank_statement_import.py @@ -50,7 +50,11 @@ class AccountBankStatementImport(models.TransientModel): # Create the bank statements statement_ids, notifications = self._create_bank_statements(stmts_vals) # Now that the import worked out, set it as the bank_statements_source of the journal - journal.bank_statements_source = 'file_import' + if journal.bank_statements_source != 'file_import': + # Use sudo() because only 'account.group_account_manager' + # has write access on 'account.journal', but 'account.group_account_user' + # must be able to import bank statement files + journal.sudo().bank_statements_source = 'file_import' # Finally dispatch to reconciliation interface action = self.env.ref('account.action_bank_reconcile_bank_statements') return { diff --git a/addons/account_check_printing/i18n/tr.po b/addons/account_check_printing/i18n/tr.po index a57d2d5029c..f22ebc6235d 100644 --- a/addons/account_check_printing/i18n/tr.po +++ b/addons/account_check_printing/i18n/tr.po @@ -8,13 +8,14 @@ # Ayhan KIZILTAN , 2018 # Martin Trigaux, 2018 # Alexander B. , 2018 +# Umur Akın , 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-22 14:10+0000\n" "PO-Revision-Date: 2018-03-22 14:10+0000\n" -"Last-Translator: Alexander B. , 2018\n" +"Last-Translator: Umur Akın , 2018\n" "Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -333,6 +334,8 @@ msgid "" "The ISO country code in two chars. \n" "You can use this field for quick search." msgstr "" +"İki karakterde ISO ülke kodu.\n" +"Hızlı arama için bu alanı kullanabilirsiniz." #. module: account_check_printing #: code:addons/account_check_printing/models/account_journal.py:26 diff --git a/addons/base_address_city/models/res_partner.py b/addons/base_address_city/models/res_partner.py index c35430d1f92..07c42694ef1 100644 --- a/addons/base_address_city/models/res_partner.py +++ b/addons/base_address_city/models/res_partner.py @@ -10,7 +10,7 @@ from odoo.tools.translate import _ class Partner(models.Model): _inherit = 'res.partner' - country_enforce_cities = fields.Boolean(related='country_id.enforce_cities') + country_enforce_cities = fields.Boolean(related='country_id.enforce_cities', readonly=True) city_id = fields.Many2one('res.city', string='City of Address') @api.onchange('city_id') diff --git a/addons/board/static/src/js/favorite_menu.js b/addons/board/static/src/js/favorite_menu.js index 701ebef2801..112b4d634fa 100644 --- a/addons/board/static/src/js/favorite_menu.js +++ b/addons/board/static/src/js/favorite_menu.js @@ -99,7 +99,10 @@ FavoriteMenu.include({ }) .then(function (r) { if (r) { - self.do_notify(_.str.sprintf(_t("'%s' added to dashboard"), name), ''); + self.do_notify( + _.str.sprintf(_t("'%s' added to dashboard"), name), + _t('Please refresh your browser for the changes to take effect.') + ); } else { self.do_warn(_t("Could not add filter to dashboard")); } diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 26f6629158d..3ec21c7eb1e 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -243,6 +243,8 @@ class Lead(models.Model): @api.model def _onchange_user_values(self, user_id): """ returns new values when user_id has changed """ + if not user_id: + return {} if user_id and self._context.get('team_id'): team = self.env['crm.team'].browse(self._context['team_id']) if user_id in team.member_ids.ids: diff --git a/addons/event/i18n/tr.po b/addons/event/i18n/tr.po index 67b6aeb2e6f..90c8084cbdc 100644 --- a/addons/event/i18n/tr.po +++ b/addons/event/i18n/tr.po @@ -1551,7 +1551,7 @@ msgstr "" #. module: event #: model:ir.model,name:event.model_event_confirm msgid "event.confirm" -msgstr "" +msgstr "event.confirm" #. module: event #: code:addons/event/models/event.py:503 diff --git a/addons/event/models/event.py b/addons/event/models/event.py index 491459b135a..1c2189a2d12 100644 --- a/addons/event/models/event.py +++ b/addons/event/models/event.py @@ -444,9 +444,14 @@ class EventRegistration(models.Model): @api.multi def message_get_suggested_recipients(self): recipients = super(EventRegistration, self).message_get_suggested_recipients() + public_users = self.env['res.users'].sudo() + public_groups = self.env.ref("base.group_public", raise_if_not_found=False) + if public_groups: + public_users = public_groups.sudo().with_context(active_test=False).mapped("users") try: for attendee in self: - if attendee.partner_id: + is_public = attendee.sudo().with_context(active_test=False).partner_id.user_ids in public_users if public_users else False + if attendee.partner_id and not is_public: attendee._message_add_suggested_recipient(recipients, partner=attendee.partner_id, reason=_('Customer')) elif attendee.email: attendee._message_add_suggested_recipient(recipients, email=attendee.email, reason=_('Customer Email')) diff --git a/addons/event/models/res_partner.py b/addons/event/models/res_partner.py index e91773c8fee..03934562824 100644 --- a/addons/event/models/res_partner.py +++ b/addons/event/models/res_partner.py @@ -10,6 +10,8 @@ class ResPartner(models.Model): event_count = fields.Integer("Events Count", compute='_compute_event_count', help="Number of events the partner has participated.") def _compute_event_count(self): + if not self.user_has_groups('event.group_event_user'): + return for partner in self: partner.event_count = self.env['event.event'].search_count([('registration_ids.partner_id', 'child_of', partner.ids)]) diff --git a/addons/event/report/event_event_templates.xml b/addons/event/report/event_event_templates.xml index 76b64138f44..8490dc4aaca 100644 --- a/addons/event/report/event_event_templates.xml +++ b/addons/event/report/event_event_templates.xml @@ -18,7 +18,7 @@
-
( to )
+
( to )
diff --git a/addons/event/views/res_partner_views.xml b/addons/event/views/res_partner_views.xml index 59d096efcd1..22aeba8686a 100644 --- a/addons/event/views/res_partner_views.xml +++ b/addons/event/views/res_partner_views.xml @@ -11,6 +11,7 @@ diff --git a/addons/event_sale/i18n/tr.po b/addons/event_sale/i18n/tr.po index 1cf54f0f8c6..ab1b8afb73f 100644 --- a/addons/event_sale/i18n/tr.po +++ b/addons/event_sale/i18n/tr.po @@ -455,7 +455,7 @@ msgstr "Lütfen kayıtlarla ilgili ayrıntıları veriniz." #. module: event_sale #: model:ir.model,name:event_sale.model_registration_editor msgid "registration.editor" -msgstr "" +msgstr "registration.editor" #. module: event_sale #: model:ir.model,name:event_sale.model_registration_editor_line diff --git a/addons/fleet/i18n/tr.po b/addons/fleet/i18n/tr.po index 6986a11fd02..d707676ed82 100644 --- a/addons/fleet/i18n/tr.po +++ b/addons/fleet/i18n/tr.po @@ -158,6 +158,8 @@ msgstr "Sözleşmenin hala geçerli olup olmadığını seçin" msgid "" "Choose whether the service refer to contracts, vehicle services or both" msgstr "" +"Hizmetin sözleşmelerle mi, araç hizmetleriyle mi ya da her ikisiyle de mi " +"ilgili olduğunu seçin" #. module: fleet #: model:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_form diff --git a/addons/google_calendar/i18n/tr.po b/addons/google_calendar/i18n/tr.po index 13557b095b7..ebf3cda9fcf 100644 --- a/addons/google_calendar/i18n/tr.po +++ b/addons/google_calendar/i18n/tr.po @@ -292,7 +292,7 @@ msgstr "Tokenınız geçersiz ya da iptal edilmiş!" #. module: google_calendar #: model:ir.model,name:google_calendar.model_google_calendar msgid "google.calendar" -msgstr "" +msgstr "google.calendar" #. module: google_calendar #: model:ir.model,name:google_calendar.model_res_config_settings diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 995a7252a92..1a97029e4e0 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -92,7 +92,7 @@ class HolidaysRequest(models.Model): help='Number of hours of the leave request according to your working schedule.') meeting_id = fields.Many2one('calendar.event', string='Meeting') - parent_id = fields.Many2one('hr.leave', string='Parent') + parent_id = fields.Many2one('hr.leave', string='Parent', copy=False) linked_request_ids = fields.One2many('hr.leave', 'parent_id', string='Linked Requests') department_id = fields.Many2one('hr.department', string='Department', readonly=True, states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]}) category_id = fields.Many2one('hr.employee.category', string='Employee Tag', readonly=True, diff --git a/addons/hr_recruitment/i18n/pt_BR.po b/addons/hr_recruitment/i18n/pt_BR.po index f313ca3b50e..1e3d3e4a631 100644 --- a/addons/hr_recruitment/i18n/pt_BR.po +++ b/addons/hr_recruitment/i18n/pt_BR.po @@ -12,13 +12,14 @@ # danimaribeiro , 2016 # Adriel Kotviski , 2016 # Silmar , 2017 +# Thiago Alves Cavalcante , 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server saas~11.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-22 14:10+0000\n" "PO-Revision-Date: 2018-03-22 14:10+0000\n" -"Last-Translator: Silmar , 2017\n" +"Last-Translator: Thiago Alves Cavalcante , 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -414,7 +415,7 @@ msgstr "Rastreadores" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.view_hr_recruitment_stage_kanban msgid "Folded in Recruitment Pipe: " -msgstr "" +msgstr "Dobrado na Lista de Recrutamento" #. module: hr_recruitment #: model:ir.model.fields,help:hr_recruitment.field_hr_job__alias_defaults @@ -484,7 +485,7 @@ msgstr "Modelo Apelidado" #. module: hr_recruitment #: model:ir.ui.menu,name:hr_recruitment.menu_crm_case_categ_all_app msgid "All Applications" -msgstr "" +msgstr "Todas as aplicações" #. module: hr_recruitment #: model:ir.model,name:hr_recruitment.model_hr_applicant @@ -608,7 +609,7 @@ msgstr "Anexos" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_recruitment_stage__template_id msgid "Automated Email" -msgstr "" +msgstr "E-mail Automatizado" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__availability @@ -650,7 +651,7 @@ msgstr "Categoria de candidato" #: code:addons/hr_recruitment/static/src/js/tour.js:16 #, python-format msgid "Click here to create a new job position." -msgstr "" +msgstr "Clique aqui para criar um novo cargo." #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__date_closed @@ -722,7 +723,7 @@ msgstr "Criar Funcionário" #: model:ir.actions.act_window,name:hr_recruitment.create_job_simple #: model:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form msgid "Create a Job Position" -msgstr "" +msgstr "Criar um Cargo" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.hr_recruitment_source_tree @@ -915,7 +916,7 @@ msgstr "Apelido de E-mail" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.hr_job_survey msgid "Email alias" -msgstr "" +msgstr "Apelido de email" #. module: hr_recruitment #: model:ir.model.fields,help:hr_recruitment.field_hr_job__alias_id @@ -1039,7 +1040,7 @@ msgstr "Departamento de RH" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_job__hr_responsible_id msgid "HR Responsible" -msgstr "" +msgstr "Responsável do RH" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.view_hr_job_kanban @@ -1091,7 +1092,7 @@ msgstr "Qualificação Inicial" #: model:ir.model.fields,field_description:hr_recruitment.field_res_config_settings__module_hr_recruitment_survey #: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form msgid "Interview Forms" -msgstr "" +msgstr "Formulários de Entrevista" #. module: hr_recruitment #: code:addons/hr_recruitment/models/hr_job.py:94 @@ -1104,12 +1105,12 @@ msgstr "Trabalho" #. module: hr_recruitment #: model:mail.template,subject:hr_recruitment.email_template_data_applicant_congratulations msgid "Job Application Confirmation: ${object.job_id.name | safe}" -msgstr "" +msgstr "Confirmação de pedido de emprego: ${object.job_id.name | safe}" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.crm_case_pivot_view_job msgid "Job Applications" -msgstr "" +msgstr "Solicitações de emprego" #. module: hr_recruitment #: model:utm.campaign,name:hr_recruitment.utm_campaign_job @@ -1152,12 +1153,12 @@ msgstr "Cargos" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.res_config_settings_view_form msgid "Job Posting" -msgstr "" +msgstr "Anúncio de emprego" #. module: hr_recruitment #: model:ir.model.fields,field_description:hr_recruitment.field_hr_recruitment_stage__job_id msgid "Job Specific" -msgstr "" +msgstr "Especificação de trabalho" #. module: hr_recruitment #: model:ir.ui.view,arch_db:hr_recruitment.hr_applicant_view_search @@ -1228,7 +1229,7 @@ msgstr "" #, python-format msgid "" "Let's have a look at the applications pipeline for this job position." -msgstr "" +msgstr "Vamos dar uma olhada na lista de exigências para este cargo. " #. module: hr_recruitment #: model:res.groups,name:hr_recruitment.group_hr_recruitment_manager diff --git a/addons/hr_recruitment/views/hr_job_views.xml b/addons/hr_recruitment/views/hr_job_views.xml index 2311188baed..201d58970cf 100644 --- a/addons/hr_recruitment/views/hr_job_views.xml +++ b/addons/hr_recruitment/views/hr_job_views.xml @@ -23,7 +23,6 @@ -
@@ -49,7 +48,6 @@ diff --git a/addons/hr_recruitment_survey/i18n/pt_BR.po b/addons/hr_recruitment_survey/i18n/pt_BR.po index 270f1dc87bf..f12f2ac4c2b 100644 --- a/addons/hr_recruitment_survey/i18n/pt_BR.po +++ b/addons/hr_recruitment_survey/i18n/pt_BR.po @@ -5,17 +5,18 @@ # Translators: # grazziano , 2016 # Clemilton Clementino , 2016 -# Martin Trigaux , 2016 +# Martin Trigaux, 2016 # Mateus Lopes , 2016 # danimaribeiro , 2016 # Rodrigo de Almeida Sottomaior Macedo , 2016 +# Thiago Alves Cavalcante , 2018 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.saas~18\n" +"Project-Id-Version: Odoo Server saas~11.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 09:53+0000\n" -"PO-Revision-Date: 2017-09-20 09:53+0000\n" -"Last-Translator: Rodrigo de Almeida Sottomaior Macedo , 2016\n" +"POT-Creation-Date: 2018-03-22 14:10+0000\n" +"PO-Revision-Date: 2018-03-22 14:10+0000\n" +"Last-Translator: Thiago Alves Cavalcante , 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -102,8 +103,8 @@ msgid "Basic information" msgstr "Informações básicas" #. module: hr_recruitment_survey -#: model:ir.model.fields,help:hr_recruitment_survey.field_hr_applicant_survey_id -#: model:ir.model.fields,help:hr_recruitment_survey.field_hr_job_survey_id +#: model:ir.model.fields,help:hr_recruitment_survey.field_hr_applicant__survey_id +#: model:ir.model.fields,help:hr_recruitment_survey.field_hr_job__survey_id msgid "" "Choose an interview form for this job position and you will be able to " "print/answer this interview from all applicants who apply for this job" @@ -201,7 +202,7 @@ msgid "Important" msgstr "Importante" #. module: hr_recruitment_survey -#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_job_survey_id +#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_job__survey_id #: model:ir.ui.view,arch_db:hr_recruitment_survey.view_hr_job_kanban_inherit msgid "Interview Form" msgstr "Formulário de Entrevista" @@ -209,7 +210,7 @@ msgstr "Formulário de Entrevista" #. module: hr_recruitment_survey #: model:ir.ui.view,arch_db:hr_recruitment_survey.res_config_settings_view_form msgid "Interview Forms" -msgstr "" +msgstr "Formulários de Entrevista" #. module: hr_recruitment_survey #: model:ir.model,name:hr_recruitment_survey.model_hr_job @@ -282,7 +283,7 @@ msgid "Regular meetings" msgstr "Reuniões regulares" #. module: hr_recruitment_survey -#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_applicant_response_id +#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_applicant__response_id msgid "Response" msgstr "Resposta" @@ -297,7 +298,7 @@ msgid "State of the art technology" msgstr "Estado da Arte da Tecnologia" #. module: hr_recruitment_survey -#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_applicant_survey_id +#: model:ir.model.fields,field_description:hr_recruitment_survey.field_hr_applicant__survey_id msgid "Survey" msgstr "Pesquisa" diff --git a/addons/hr_timesheet_attendance/i18n/tr.po b/addons/hr_timesheet_attendance/i18n/tr.po index 5588db3e311..8865465e6d4 100644 --- a/addons/hr_timesheet_attendance/i18n/tr.po +++ b/addons/hr_timesheet_attendance/i18n/tr.po @@ -86,7 +86,7 @@ msgstr "Kullanıcı" #. module: hr_timesheet_attendance #: model:ir.model,name:hr_timesheet_attendance.model_hr_timesheet_attendance_report msgid "hr.timesheet.attendance.report" -msgstr "" +msgstr "hr.timesheet.attendance.report" #. module: hr_timesheet_attendance #: model:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_pivot diff --git a/addons/iap/i18n/tr.po b/addons/iap/i18n/tr.po index 0a841f08079..7a9b5661000 100644 --- a/addons/iap/i18n/tr.po +++ b/addons/iap/i18n/tr.po @@ -130,4 +130,4 @@ msgstr "Hizmet Adı" #. module: iap #: model:ir.model,name:iap.model_iap_account msgid "iap.account" -msgstr "" +msgstr "iap.account" diff --git a/addons/im_livechat/i18n/tr.po b/addons/im_livechat/i18n/tr.po index 996f2a4e8a3..7b440f587db 100644 --- a/addons/im_livechat/i18n/tr.po +++ b/addons/im_livechat/i18n/tr.po @@ -64,6 +64,11 @@ msgid "" "country, GeoIP must be installed on your server, otherwise, the countries of" " the rule will not be taken into account." msgstr "" +"Canlı destek kanalınız için kuralları tanımlayın. Belirtilen URL ve " +"ülke için aksiyon tanımlayabilir (desteği gizle, desteği otomatik aç, veya " +"sadece butonu göster)
Ülkeyi tanımlayabilmek için, GeoIP'nin sunucuda " +"yüklenmiş olması gerekmektedir, aksi durumda ülke ile ilgili kurallar " +"geçersiz olacaktır.
" #. module: im_livechat #: model:ir.model.fields,field_description:im_livechat.field_im_livechat_channel_rule__action diff --git a/addons/l10n_nl/data/account_tax_template.xml b/addons/l10n_nl/data/account_tax_template.xml index c26dc9a8345..e9b937b98f5 100644 --- a/addons/l10n_nl/data/account_tax_template.xml +++ b/addons/l10n_nl/data/account_tax_template.xml @@ -593,7 +593,7 @@ none - + @@ -735,7 +735,7 @@ none - + diff --git a/addons/link_tracker/i18n/tr.po b/addons/link_tracker/i18n/tr.po index 21f4defb143..325781ee040 100644 --- a/addons/link_tracker/i18n/tr.po +++ b/addons/link_tracker/i18n/tr.po @@ -228,19 +228,19 @@ msgstr "Website Link Tıklamaları" #. module: link_tracker #: model:ir.model,name:link_tracker.model_link_tracker msgid "link.tracker" -msgstr "" +msgstr "link.tracker" #. module: link_tracker #: model:ir.model,name:link_tracker.model_link_tracker_click msgid "link.tracker.click" -msgstr "" +msgstr "link.tracker.click" #. module: link_tracker #: model:ir.model,name:link_tracker.model_link_tracker_code msgid "link.tracker.code" -msgstr "" +msgstr "link.tracker.code" #. module: link_tracker #: model:ir.actions.act_window,name:link_tracker.action_link_tracker_stats msgid "link.tracker.form.graph.action" -msgstr "" +msgstr "link.tracker.form.graph.action" diff --git a/addons/lunch/i18n/tr.po b/addons/lunch/i18n/tr.po index 6fd066e863d..4bb623040f0 100644 --- a/addons/lunch/i18n/tr.po +++ b/addons/lunch/i18n/tr.po @@ -986,4 +986,4 @@ msgstr "öğle yemeği ürün kategorisi" #. module: lunch #: model:ir.model,name:lunch.model_lunch_order_line_lucky msgid "lunch.order.line.lucky" -msgstr "" +msgstr "lunch.order.line.lucky" diff --git a/addons/mail/i18n/tr.po b/addons/mail/i18n/tr.po index 10f755b2fec..1aabb67b1ff 100644 --- a/addons/mail/i18n/tr.po +++ b/addons/mail/i18n/tr.po @@ -329,6 +329,8 @@ msgid "" "A shortcode is a keyboard shortcut. For instance, you type #gm and it will " "be transformed into \"Good Morning\"." msgstr "" +"Bir kısa kod, bir klavye kısayoludır. Örneğin, # gm yazarsınız ve " +"\"Günaydın\" a dönüşür." #. module: mail #: model:ir.model,name:mail.model_res_groups @@ -1518,6 +1520,8 @@ msgid "" "Email address of the sender. This field is set when no matching partner is " "found and replaces the author_id field in the chatter." msgstr "" +"Gönderenin e-posta adresi. Eşleşen bir ortak bulunmadığında ve sohbetteki " +"author_id alanının yerini aldığında bu alan ayarlanır." #. module: mail #: model:ir.ui.view,arch_db:mail.email_compose_message_wizard_form @@ -3123,7 +3127,7 @@ msgstr "" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__new_value_char msgid "New Value Char" -msgstr "" +msgstr "Yeni Karakter Değeri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__new_value_datetime @@ -3143,12 +3147,12 @@ msgstr "Yeni Tam Sayı Değeri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__new_value_monetary msgid "New Value Monetary" -msgstr "" +msgstr "Yeni Parasal Değer" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__new_value_text msgid "New Value Text" -msgstr "" +msgstr "Yeni Metin Değeri" #. module: mail #. openerp-web @@ -3275,7 +3279,7 @@ msgstr "" #: code:addons/mail/static/src/xml/web_kanban_activity.xml:22 #, python-format msgid "No activities planned." -msgstr "" +msgstr "Hiçbir etkinlik planlanmadı." #. module: mail #. openerp-web @@ -3591,7 +3595,7 @@ msgstr "Odoo" #, python-format msgid "" "Odoo has now the permission to send you native notifications on this device." -msgstr "" +msgstr "Odoo, artık bu cihazda yerel bildirimler göndermek için izin aldı." #. module: mail #. openerp-web @@ -3607,7 +3611,7 @@ msgstr "Odoo için izniniz gerekiyor" msgid "" "Odoo will not have the permission to send native notifications on this " "device." -msgstr "" +msgstr "Odoo, bu cihazda yerel bildirimler gönderme iznine sahip olmayacak." #. module: mail #. openerp-web @@ -3619,32 +3623,32 @@ msgstr "Çevrimdışı" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_char msgid "Old Value Char" -msgstr "" +msgstr "Eski Karakter Değeri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_datetime msgid "Old Value DateTime" -msgstr "" +msgstr "Eski Tarih Saat Değeri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_float msgid "Old Value Float" -msgstr "" +msgstr "Eski Sayısal Değer" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_integer msgid "Old Value Integer" -msgstr "" +msgstr "Eski Tam Sayı Değeri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_monetary msgid "Old Value Monetary" -msgstr "" +msgstr "Eski Parasal Değer" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_tracking_value__old_value_text msgid "Old Value Text" -msgstr "" +msgstr "Eski Metin Değeri" #. module: mail #: selection:ir.model.fields,track_visibility:0 @@ -3701,21 +3705,21 @@ msgstr "Üst Belgeyi Aç" #: code:addons/mail/static/src/xml/discuss.xml:139 #, python-format msgid "Open channel settings" -msgstr "" +msgstr "Açık kanal ayarları" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/discuss.xml:187 #, python-format msgid "Open chat" -msgstr "" +msgstr "Konuşmayı aç" #. module: mail #. openerp-web #: code:addons/mail/static/src/xml/extended_chat_window.xml:15 #, python-format msgid "Open in Discuss" -msgstr "" +msgstr "Tartışmayı Aç" #. module: mail #: model:ir.model.fields,field_description:mail.field_res_partner__opt_out @@ -3881,6 +3885,9 @@ msgid "" " named. For example on a project, the parent_id of project subtypes refers " "to task-related subtypes." msgstr "" +"Otomatik abonelik için kullanılan alt alt türü. Bu alan doğru bir şekilde " +"adlandırılmamış. Örneğin, bir projede, proje alt türlerinin parent_id'i, " +"görevle ilgili alt türlere başvurur." #. module: mail #: model:ir.actions.act_window,name:mail.action_partner_mass_mail @@ -3905,7 +3912,7 @@ msgstr "" #: model:ir.model.fields,field_description:mail.field_mail_message__needaction_partner_ids #: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message__needaction_partner_ids msgid "Partners with Need Action" -msgstr "" +msgstr "Eylem İhtiyacı Olan İş Ortakları" #. module: mail #: model:ir.model.fields,help:mail.field_email_template_preview__auto_delete @@ -4312,7 +4319,7 @@ msgstr "Yeni Şablon olarak kaydet" #: code:addons/mail/static/src/js/chat_window.js:40 #, python-format msgid "Say something" -msgstr "" +msgstr "Bir şey söyle" #. module: mail #: model:ir.ui.view,arch_db:mail.mail_activity_view_form_popup @@ -4436,7 +4443,7 @@ msgstr "" #: code:addons/mail/static/src/js/thread_field.js:92 #, python-format msgid "Sending Error" -msgstr "" +msgstr "Hata Gönderiliyor" #. module: mail #. openerp-web @@ -4483,7 +4490,7 @@ msgstr "" #: model:ir.ui.view,arch_db:mail.mail_shortcode_view_form #: model:ir.ui.view,arch_db:mail.mail_shortcode_view_tree msgid "Shortcodes" -msgstr "" +msgstr "Kısa kodlar" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_shortcode__source @@ -4500,7 +4507,7 @@ msgstr "Bir sonraki eylem tarihi bugünden önce olan tüm kayıtları göster" #: code:addons/mail/models/mail_channel.py:673 #, python-format msgid "Show an helper message" -msgstr "" +msgstr "Bir yardımcı mesajı göster" #. module: mail #: model:ir.model.fields,field_description:mail.field_email_template_preview__ref_ir_act_window @@ -4557,6 +4564,8 @@ msgid "" "Specify a model if the activity should be specific to a model and not " "available when managing activities for other models." msgstr "" +"Etkinliğin bir modele özgü olması ve diğer modellerin etkinliklerini " +"yönetirken kullanılamaması durumunda bir model belirtin." #. module: mail #. openerp-web @@ -4821,6 +4830,8 @@ msgid "" "This group is visible by non members. Invisible groups can add members " "through the invite button." msgstr "" +"Bu grup üye olmayanlar tarafından görülebilir. Görünmez gruplar, davet " +"butonuyla üye ekleyebilir." #. module: mail #: model:ir.ui.view,arch_db:mail.view_mail_search @@ -4924,13 +4935,13 @@ msgstr "İzleme" #: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_form #: model:ir.ui.view,arch_db:mail.view_mail_tracking_value_tree msgid "Tracking Value" -msgstr "" +msgstr "İzleme Değeri" #. module: mail #: model:ir.actions.act_window,name:mail.action_view_mail_tracking_value #: model:ir.ui.menu,name:mail.menu_mail_tracking_value msgid "Tracking Values" -msgstr "" +msgstr "İzleme Değerleri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_compose_message__tracking_value_ids @@ -4938,7 +4949,7 @@ msgstr "" #: model:ir.model.fields,field_description:mail.field_mail_message__tracking_value_ids #: model:ir.model.fields,field_description:mail.field_survey_mail_compose_message__tracking_value_ids msgid "Tracking values" -msgstr "" +msgstr "İzleme Değerleri" #. module: mail #: model:ir.model.fields,field_description:mail.field_mail_compose_message__message_type @@ -5191,7 +5202,7 @@ msgstr "Şablonu Kullan" #. module: mail #: model:ir.ui.view,arch_db:mail.res_config_settings_view_form msgid "Use your own email servers" -msgstr "" +msgstr "Kendi e-mail sunucusunu kullanın" #. module: mail #: model:ir.model.fields,help:mail.field_mail_message_subtype__sequence @@ -5299,7 +5310,7 @@ msgstr "Bu modelin ileti ve bildirimleri destekleyip desteklemediğidir." #. module: mail #: model:ir.ui.view,arch_db:mail.mail_channel_view_form msgid "Who can follow the group's activities?" -msgstr "" +msgstr "Grubun faaliyetlerini kim takip edebilir?" #. module: mail #. openerp-web @@ -5433,13 +5444,13 @@ msgstr "" #: code:addons/mail/static/src/js/thread_field.js:92 #, python-format msgid "Your message has not been sent." -msgstr "" +msgstr "Mesajınız gönderilemedi." #. module: mail #: code:addons/mail/models/ir_actions.py:30 #, python-format msgid "Your template should define email_from" -msgstr "" +msgstr "Şablonunuz email_from tanımlanabilir" #. module: mail #: code:addons/mail/models/mail_thread.py:948 @@ -5533,7 +5544,7 @@ msgstr "" #: code:addons/mail/models/mail_alias.py:267 #, python-format msgid "incorrectly configured alias (unknown reference record)" -msgstr "" +msgstr "yanlış yapılandırılmış takma ad (bilinmeyen referans kaydı)" #. module: mail #: model:ir.model,name:mail.model_ir_actions_server diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index a70e4d65205..d6b696c8124 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -500,11 +500,11 @@ class MailThread(models.AbstractModel): msg_comment = MailMessage.search([ ('model', '=', self._name), ('res_id', '=', self.id), - ('subtype_id', '=', subtype_comment.id)]) + ('subtype_id', '=', subtype_comment)]) msg_not_comment = MailMessage.search([ ('model', '=', self._name), ('res_id', '=', self.id), - ('subtype_id', '!=', subtype_comment.id)]) + ('subtype_id', '!=', subtype_comment)]) # update the messages msg_comment.write({"res_id": new_thread.id, "model": new_thread._name}) diff --git a/addons/mail/static/src/js/systray.js b/addons/mail/static/src/js/systray.js index f11531b6eab..30191cd3845 100644 --- a/addons/mail/static/src/js/systray.js +++ b/addons/mail/static/src/js/systray.js @@ -156,7 +156,7 @@ var MessagingMenu = Widget.extend({ if (channelID === 'channel_inbox' || channelID === 'mail_failure') { var resID = $(event.currentTarget).data('res_id'); var resModel = $(event.currentTarget).data('res_model'); - if (resModel && resID) { + if (resModel && resModel !== 'mail.channel' && resID) { this.do_action({ type: 'ir.actions.act_window', res_model: resModel, @@ -174,7 +174,11 @@ var MessagingMenu = Widget.extend({ domain: [['message_has_error', '=', true]], }); } else { - this.do_action('mail.mail_channel_action_client_chat', {clear_breadcrumbs: true}) + var clientChatOptions = {clear_breadcrumbs: true}; + if (resModel && resModel === 'mail.channel' && resID) { + clientChatOptions.active_id = resID; + } + this.do_action('mail.mail_channel_action_client_chat', clientChatOptions) .then(function () { self.trigger_up('hide_home_menu'); // we cannot 'go back to previous page' otherwise core.bus.trigger('change_menu_section', self.call('chat_manager', 'getDiscussMenuID')); diff --git a/addons/mail/views/res_partner_views.xml b/addons/mail/views/res_partner_views.xml index 0fc6007b449..0264859b615 100644 --- a/addons/mail/views/res_partner_views.xml +++ b/addons/mail/views/res_partner_views.xml @@ -7,7 +7,7 @@ res.partner - + diff --git a/addons/maintenance/i18n/tr.po b/addons/maintenance/i18n/tr.po index bbac3f16eee..fe2712e0e13 100644 --- a/addons/maintenance/i18n/tr.po +++ b/addons/maintenance/i18n/tr.po @@ -982,7 +982,7 @@ msgstr "Durumu değişti" #. module: maintenance #: model:ir.model.fields,field_description:maintenance.field_maintenance_request__name msgid "Subjects" -msgstr "" +msgstr "Konular" #. module: maintenance #: model:ir.model.fields,field_description:maintenance.field_maintenance_request__maintenance_team_id diff --git a/addons/mass_mailing/i18n/tr.po b/addons/mass_mailing/i18n/tr.po index 03ea4cd2a45..88b89e36056 100644 --- a/addons/mass_mailing/i18n/tr.po +++ b/addons/mass_mailing/i18n/tr.po @@ -1911,7 +1911,7 @@ msgstr "Ve bir sonraki siparişinizde20 TL tasarruf edin!" #. module: mass_mailing #: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_campaign__campaign_id msgid "campaign_id" -msgstr "" +msgstr "campaign_id" #. module: mass_mailing #: model:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_list_form @@ -1937,12 +1937,12 @@ msgstr "" #. module: mass_mailing #: model:ir.model,name:mass_mailing.model_link_tracker msgid "link.tracker" -msgstr "" +msgstr "link.tracker" #. module: mass_mailing #: model:ir.model,name:mass_mailing.model_link_tracker_click msgid "link.tracker.click" -msgstr "" +msgstr "link.tracker.click" #. module: mass_mailing #: model:ir.model,name:mass_mailing.model_res_config_settings diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index e611d9dbe26..e1689b69e5b 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -41,7 +41,7 @@ FieldTextHtml.include({ var datarecord = this._super(); if (this.model === 'mail.mass_mailing') { // these fields can potentially get very long, let's remove them - datarecord = _.omit(datarecord, ['mailing_domain', 'contact_list_ids', 'body_html']); + datarecord = _.omit(datarecord, ['mailing_domain', 'contact_list_ids', 'body_html', 'attachment_ids']); } return datarecord; }, diff --git a/addons/mass_mailing_event_track/models/event.py b/addons/mass_mailing_event_track/models/event.py index 156625391c0..e5747875f21 100644 --- a/addons/mass_mailing_event_track/models/event.py +++ b/addons/mass_mailing_event_track/models/event.py @@ -16,7 +16,7 @@ class Event(models.Model): view_mode='form', target='current', context=dict( - default_mailing_model=self.env.ref('website_event_track.model_event_track').id, + default_mailing_model_id=self.env.ref('website_event_track.model_event_track').id, default_mailing_domain="[('event_id', 'in', %s), ('stage_id.is_cancel', '!=', True)]" % self.ids, ), ) diff --git a/addons/mrp/models/mrp_bom.py b/addons/mrp/models/mrp_bom.py index b1892c4db2a..922802f9659 100644 --- a/addons/mrp/models/mrp_bom.py +++ b/addons/mrp/models/mrp_bom.py @@ -80,6 +80,8 @@ class MrpBom(models.Model): def onchange_product_tmpl_id(self): if self.product_tmpl_id: self.product_uom_id = self.product_tmpl_id.uom_id.id + if self.product_id.product_tmpl_id != self.product_tmpl_id: + self.product_id = False @api.onchange('routing_id') def onchange_routing_id(self): diff --git a/addons/mrp/models/mrp_workorder.py b/addons/mrp/models/mrp_workorder.py index 17914b1b9dd..cc7a98635ea 100644 --- a/addons/mrp/models/mrp_workorder.py +++ b/addons/mrp/models/mrp_workorder.py @@ -364,6 +364,7 @@ class MrpWorkorder(models.Model): move_line = production_move.move_line_ids.filtered(lambda x: x.lot_id.id == self.final_lot_id.id) if move_line: move_line.product_uom_qty += self.qty_producing + move_line.qty_done += self.qty_producing else: move_line.create({'move_id': production_move.id, 'product_id': production_move.product_id.id, diff --git a/addons/mrp/models/stock_move.py b/addons/mrp/models/stock_move.py index 1099d8b549e..befe9ceb9d1 100644 --- a/addons/mrp/models/stock_move.py +++ b/addons/mrp/models/stock_move.py @@ -73,6 +73,13 @@ class StockMove(models.Model): order_finished_lot_ids = fields.Many2many('stock.production.lot', compute='_compute_order_finished_lot_ids') finished_lots_exist = fields.Boolean('Finished Lots Exist', compute='_compute_order_finished_lot_ids') + def _unreserve_initial_demand(self, new_move): + # If you were already putting stock.move.lots on the next one in the work order, transfer those to the new move + self.filtered(lambda m: m.production_id or m.raw_material_production_id)\ + .mapped('move_line_ids')\ + .filtered(lambda ml: ml.qty_done == 0.0)\ + .write({'move_id': new_move, 'product_uom_qty': 0}) + @api.depends('active_move_line_ids.qty_done', 'active_move_line_ids.product_uom_id') def _compute_done_quantity(self): super(StockMove, self)._compute_done_quantity() diff --git a/addons/mrp/views/mrp_workorder_views.xml b/addons/mrp/views/mrp_workorder_views.xml index 0aee35f12b1..16757f1acd4 100644 --- a/addons/mrp/views/mrp_workorder_views.xml +++ b/addons/mrp/views/mrp_workorder_views.xml @@ -196,18 +196,19 @@