19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-25 12:00:11 +01:00
parent e1d89e11e3
commit a1f02d8cc7
225 changed files with 2335 additions and 775 deletions

View file

@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:43+0000\n"
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
"Last-Translator: \"Larissa Manderfeld (lman)\" <lman@odoo.com>\n"
"Language-Team: German <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/de/>\n"
@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -77,13 +77,13 @@ msgstr "%(project_name)s (%(days)s Tage)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)s St. %(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)s St.)"
#. module: hr_timesheet
#. odoo-python

View file

@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:43+0000\n"
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
"Last-Translator: \"Noemi Pla Garcia (nopl)\" <nopl@odoo.com>\n"
"Language-Team: Spanish <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/es/>\n"
@ -24,7 +24,7 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == "
"0) ? 1 : 2);\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -78,13 +78,13 @@ msgstr "%(project_name)s (%(days)s días)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh)"
#. module: hr_timesheet
#. odoo-python

View file

@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: Odoo Server saas~18.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:53+0000\n"
"PO-Revision-Date: 2026-03-14 09:45+0000\n"
"Last-Translator: \"Fernanda Alvarez (mfar)\" <mfar@odoo.com>\n"
"Language-Team: Spanish (Latin America) <https://translate.odoo.com/projects/"
"odoo-19/hr_timesheet/es_419/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -73,13 +73,13 @@ msgstr "%(project_name)s (%(days)s días)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh)"
#. module: hr_timesheet
#. odoo-python

View file

@ -27,7 +27,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-03-06 17:45+0000\n"
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
"Last-Translator: Saara Hakanen <sahak@odoo.com>\n"
"Language-Team: Finnish <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/fi/>\n"
@ -36,7 +36,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16.1\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -90,13 +90,13 @@ msgstr "%(project_name)s (%(days)s päivää)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh %(minutes)smin)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh)"
#. module: hr_timesheet
#. odoo-python
@ -180,6 +180,9 @@ msgid ""
" Are you sure you want to delete these employees?\n"
" </span>"
msgstr ""
"<span invisible=\"has_timesheet\">\n"
" Haluatko varmasti poistaa nämä työntekijät?\n"
" </span>"
#. module: hr_timesheet
#: model_terms:ir.ui.view,arch_db:hr_timesheet.timesheet_table
@ -809,7 +812,7 @@ msgstr ""
#. module: hr_timesheet
#: model_terms:ir.ui.view,arch_db:hr_timesheet.hr_employee_delete_wizard_form
msgid "Please first delete all of their timesheets."
msgstr ""
msgstr "Poista ensin kaikki heidän työaikakirjaukset."
#. module: hr_timesheet
#: model:ir.model,name:hr_timesheet.model_uom_uom
@ -1459,6 +1462,12 @@ msgid ""
"those timesheets or consider archiving the employee instead.\n"
" </span>"
msgstr ""
"O-ou! Yrität poistaa työntekijää, jolla on yhä työaikakirjauksia. Sen takia "
"poistaminen ei onnistu.\n"
" <span invisible=\"not has_active_employee\">\n"
" Sinulla on kaksi vaihtoehtoa: voit joko poistaa "
"työaikakirjaukset tai arkistoida työntekijän poistamisen sijaan.\n"
" </span>"
#. module: hr_timesheet
#: model:ir.model.fields,help:hr_timesheet.field_project_task__display_name

View file

@ -15,7 +15,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:44+0000\n"
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
"Last-Translator: \"Manon Rondou (ronm)\" <ronm@odoo.com>\n"
"Language-Team: French <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/fr/>\n"
@ -25,7 +25,7 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % "
"1000000 == 0) ? 1 : 2);\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -79,13 +79,13 @@ msgstr "%(project_name)s (%(days)s j)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)s h%(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)s h)"
#. module: hr_timesheet
#. odoo-python

View file

@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:44+0000\n"
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
"Last-Translator: \"Marianna Ciofani (cima)\" <cima@odoo.com>\n"
"Language-Team: Italian <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/it/>\n"
@ -23,7 +23,7 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == "
"0) ? 1 : 2);\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -77,13 +77,13 @@ msgstr "%(project_name)s (%(days)sg)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh)"
#. module: hr_timesheet
#. odoo-python

View file

@ -34,7 +34,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-02-25 14:44+0000\n"
"PO-Revision-Date: 2026-03-14 09:34+0000\n"
"Last-Translator: \"Marta (wacm)\" <wacm@odoo.com>\n"
"Language-Team: Polish <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/pl/>\n"
@ -45,7 +45,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
"X-Generator: Weblate 5.14.3\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python
@ -99,13 +99,13 @@ msgstr "%(project_name)s (%(days)sd)"
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh%(minutes)s)"
#. module: hr_timesheet
#. odoo-python
#: code:addons/hr_timesheet/models/hr_timesheet.py:0
msgid "%(project_name)s (%(sign)s%(hours)sh)"
msgstr ""
msgstr "%(project_name)s (%(sign)s%(hours)sh)"
#. module: hr_timesheet
#. odoo-python

View file

@ -25,7 +25,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-06 18:36+0000\n"
"PO-Revision-Date: 2026-03-06 17:45+0000\n"
"PO-Revision-Date: 2026-03-20 17:34+0000\n"
"Last-Translator: Hanna Kharraziha <hakha@odoo.com>\n"
"Language-Team: Swedish <https://translate.odoo.com/projects/odoo-19/"
"hr_timesheet/sv/>\n"
@ -34,7 +34,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16.1\n"
"X-Generator: Weblate 5.16.2\n"
#. module: hr_timesheet
#. odoo-python

View file

@ -135,16 +135,7 @@ class ProjectProject(models.Model):
""" Create an analytic account if project allow timesheet and don't provide one
Note: create it before calling super() to avoid raising the ValidationError from _check_allow_timesheet
"""
defaults = self.default_get(['allow_timesheets', 'account_id', 'is_template'])
analytic_accounts_vals = [
vals for vals in vals_list
if (
vals.get('allow_timesheets', defaults.get('allow_timesheets')) and
not vals.get('account_id', defaults.get('account_id')) and not vals.get('is_template', defaults.get('is_template'))
)
]
if analytic_accounts_vals:
if analytic_accounts_vals := self._get_processed_analytic_account_vals(vals_list):
analytic_accounts = self.env['account.analytic.account'].create(self._get_values_analytic_account_batch(analytic_accounts_vals))
for vals, analytic_account in zip(analytic_accounts_vals, analytic_accounts):
vals['account_id'] = analytic_account.id
@ -206,6 +197,22 @@ class ProjectProject(models.Model):
action['display_name'] = _("%(name)s's Timesheets", name=self.name)
return action
def _get_processed_analytic_account_vals(self, vals_list):
"""
Filters the values list to return the values for analytic accounts creation.
Allows values modifications through overrides.
"""
defaults = self.default_get(['allow_timesheets', 'account_id', 'is_template'])
analytic_accounts_vals = []
for vals in vals_list:
if (
vals.get('allow_timesheets', defaults.get('allow_timesheets'))
and not vals.get('account_id', defaults.get('account_id'))
and not vals.get('is_template', defaults.get('is_template'))
):
analytic_accounts_vals.append(vals)
return analytic_accounts_vals
# ----------------------------
# Project Updates
# ----------------------------