mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-23 23:32:00 +02:00
19.0 vanilla
This commit is contained in:
parent
e1d89e11e3
commit
a1f02d8cc7
225 changed files with 2335 additions and 775 deletions
|
|
@ -13,7 +13,7 @@ msgstr ""
|
|||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-30 18:36+0000\n"
|
||||
"PO-Revision-Date: 2026-03-06 17:45+0000\n"
|
||||
"PO-Revision-Date: 2026-03-16 14:31+0000\n"
|
||||
"Last-Translator: \"Malaz Siddig Elsayed Abuidris (msea)\" <msea@odoo.com>\n"
|
||||
"Language-Team: Arabic <https://translate.odoo.com/projects/odoo-19/"
|
||||
"hr_work_entry/ar/>\n"
|
||||
|
|
@ -23,7 +23,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 5.16.1\n"
|
||||
"X-Generator: Weblate 5.16.2\n"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,help:hr_work_entry.field_hr_employee__work_entry_source
|
||||
|
|
@ -114,13 +114,13 @@ msgstr "إضافة"
|
|||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry_type__is_extra_hours
|
||||
msgid "Added to Monthly Pay"
|
||||
msgstr ""
|
||||
msgstr "مضاف إلى الراتب الشهري"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model_terms:ir.ui.view,arch_db:hr_work_entry.hr_work_entry_view_calendar_multi_create_form
|
||||
#: model_terms:ir.ui.view,arch_db:hr_work_entry.hr_work_entry_view_form
|
||||
msgid "Additional Description..."
|
||||
msgstr ""
|
||||
msgstr "وصف إضافي..."
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:hr.work.entry.type,name:hr_work_entry.l10n_be_work_entry_type_additional_paid
|
||||
|
|
@ -315,7 +315,7 @@ msgstr "Disability due to illness (IMSS)"
|
|||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry__display_code
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry_type__display_code
|
||||
msgid "Display Code"
|
||||
msgstr ""
|
||||
msgstr "عرض الكود"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_employee__display_name
|
||||
|
|
@ -349,7 +349,7 @@ msgstr "المدة"
|
|||
#. odoo-python
|
||||
#: code:addons/hr_work_entry/models/hr_work_entry.py:0
|
||||
msgid "Duration must be positive and cannot exceed 24 hours."
|
||||
msgstr ""
|
||||
msgstr "يجب أن تكون المدة عبارة عن قيمة موجبة ولا تتجاوز 24 ساعة."
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry_regeneration_wizard__earliest_available_date_message
|
||||
|
|
@ -374,7 +374,7 @@ msgstr "الإجازة التعليمية"
|
|||
#. module: hr_work_entry
|
||||
#: model:hr.work.entry.type,name:hr_work_entry.l10n_sa_work_entry_type_emergency
|
||||
msgid "Emergency Leave"
|
||||
msgstr ""
|
||||
msgstr "إجازة طارئة"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model,name:hr_work_entry.model_hr_employee
|
||||
|
|
@ -392,7 +392,7 @@ msgstr "عقد الموظف"
|
|||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry__version_id
|
||||
msgid "Employee Record"
|
||||
msgstr ""
|
||||
msgstr "سجل الموظف"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,field_description:hr_work_entry.field_hr_work_entry_regeneration_wizard__employee_ids
|
||||
|
|
@ -543,6 +543,7 @@ msgstr ""
|
|||
#: model:ir.model.fields,help:hr_work_entry.field_hr_work_entry_type__amount_rate
|
||||
msgid "If you want the hours should be paid double, the rate should be 200%."
|
||||
msgstr ""
|
||||
"إذا كنت ترغب في أن يتم دفع أجر مضاعف عن الساعات، فيجب أن يكون المعدل 200%."
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields.selection,name:hr_work_entry.selection__hr_work_entry__state__conflict
|
||||
|
|
@ -552,7 +553,7 @@ msgstr ""
|
|||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields.selection,name:hr_work_entry.selection__hr_work_entry__state__validated
|
||||
msgid "In Payslip"
|
||||
msgstr ""
|
||||
msgstr "في كشوف الرواتب"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#. odoo-python
|
||||
|
|
|
|||
|
|
@ -9,12 +9,13 @@
|
|||
# "Dylan Kiss (dyki)" <dyki@odoo.com>, 2025.
|
||||
# Weblate <noreply-mt-weblate@weblate.org>, 2025.
|
||||
# "Noemi Pla Garcia (nopl)" <nopl@odoo.com>, 2025, 2026.
|
||||
# David Domínguez <david@longosos.com>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-30 18:36+0000\n"
|
||||
"PO-Revision-Date: 2026-02-16 10:59+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_work_entry/es/>\n"
|
||||
|
|
@ -22,9 +23,9 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"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"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == "
|
||||
"0) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.16.2\n"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,help:hr_work_entry.field_hr_employee__work_entry_source
|
||||
|
|
@ -1273,7 +1274,7 @@ msgstr "Motivo injustificado"
|
|||
#. module: hr_work_entry
|
||||
#: model:hr.work.entry.type,name:hr_work_entry.work_entry_type_unpaid_leave
|
||||
msgid "Unpaid"
|
||||
msgstr "No retribuido"
|
||||
msgstr "No remunerado"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:hr.work.entry.type,name:hr_work_entry.l10n_ch_swissdec_unpaid_wt
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ msgstr ""
|
|||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-30 18:36+0000\n"
|
||||
"PO-Revision-Date: 2026-01-07 11:18+0000\n"
|
||||
"PO-Revision-Date: 2026-03-14 09:33+0000\n"
|
||||
"Last-Translator: Bren Driesen <brdri@odoo.com>\n"
|
||||
"Language-Team: Dutch <https://translate.odoo.com/projects/odoo-19/"
|
||||
"hr_work_entry/nl/>\n"
|
||||
|
|
@ -22,7 +22,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_work_entry
|
||||
#: model:ir.model.fields,help:hr_work_entry.field_hr_employee__work_entry_source
|
||||
|
|
@ -40,15 +40,14 @@ msgid ""
|
|||
"planning. (requires Planning app)\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Bepaalt de bron voor het genereren van werkboekingen\n"
|
||||
"\n"
|
||||
" Werkschema: Werkboekingen worden gegenereerd voor onderstaande "
|
||||
"werkuren.\n"
|
||||
" Aanwezigheden: Werkboekingen worden gegenereerd op basis van de "
|
||||
"aanwezigheden van werknemers (Aanwezigheden-app vereist)\n"
|
||||
"aanwezigheden van werknemers (Aanwezigheid-app vereist)\n"
|
||||
" Planning: Werkboekingen worden gegenereerd op basis van de planning "
|
||||
"van werknemers planning (Planning-app vereist)\n"
|
||||
"van werknemers (Planning-app vereist)\n"
|
||||
" "
|
||||
|
||||
#. module: hr_work_entry
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ msgstr ""
|
|||
"Project-Id-Version: Odoo Server saas~18.4\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-30 18:36+0000\n"
|
||||
"PO-Revision-Date: 2026-03-06 17:49+0000\n"
|
||||
"PO-Revision-Date: 2026-03-20 13:05+0000\n"
|
||||
"Last-Translator: Hanna Kharraziha <hakha@odoo.com>\n"
|
||||
"Language-Team: Swedish <https://translate.odoo.com/projects/odoo-19/"
|
||||
"hr_work_entry/sv/>\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.16.1\n"
|
||||
"X-Generator: Weblate 5.16.2\n"
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model:ir.model.fields,help:hr_work_entry.field_hr_employee__work_entry_source
|
||||
|
|
@ -1141,8 +1141,8 @@ msgid ""
|
|||
"The ISO country code in two chars. \n"
|
||||
"You can use this field for quick search."
|
||||
msgstr ""
|
||||
"ISO-landskoden med två tecken.\n"
|
||||
"Du kan använda det här fältet för snabbsökning."
|
||||
"ISO-kod med två tecken.\n"
|
||||
"Fältet används för snabbsökning."
|
||||
|
||||
#. module: hr_work_entry
|
||||
#: model_terms:ir.ui.view,arch_db:hr_work_entry.hr_work_entry_view_form
|
||||
|
|
|
|||
|
|
@ -42,9 +42,13 @@ export class WorkEntryCalendarModel extends CalendarModel {
|
|||
}
|
||||
);
|
||||
if (userFavoritesWorkEntriesIds.length) {
|
||||
const typeIds = userFavoritesWorkEntriesIds
|
||||
.map((r) => r.work_entry_type_id?.[0])
|
||||
.filter(Boolean);
|
||||
const uniqueTypeIds = [...new Set(typeIds)];
|
||||
this.userFavoritesWorkEntries = await this.orm.read(
|
||||
"hr.work.entry.type",
|
||||
userFavoritesWorkEntriesIds.map((r) => r.work_entry_type_id?.[0]).filter(Boolean),
|
||||
uniqueTypeIds,
|
||||
["display_name", "display_code", "color"]
|
||||
);
|
||||
this.userFavoritesWorkEntries = this.userFavoritesWorkEntries.sort((a, b) =>
|
||||
|
|
|
|||
|
|
@ -77,3 +77,39 @@ test("should use default_employee_id from context in work entry", async () => {
|
|||
work_entry_type_id: workEntryTypeId,
|
||||
});
|
||||
});
|
||||
|
||||
test("calendar multi-selection quick buttons deduplicate favorites", async () => {
|
||||
const { env } = await makeMockServer();
|
||||
const [type] = env["hr.work.entry.type"].create([
|
||||
{
|
||||
name: "MyType",
|
||||
},
|
||||
]);
|
||||
env["hr.work.entry"].create([
|
||||
{
|
||||
name: "e1",
|
||||
employee_id: 100,
|
||||
work_entry_type_id: type,
|
||||
date: "2025-01-01",
|
||||
create_date: "2025-01-01",
|
||||
},
|
||||
{
|
||||
name: "e2",
|
||||
employee_id: 100,
|
||||
work_entry_type_id: type,
|
||||
date: "2025-01-02",
|
||||
create_date: "2025-01-02",
|
||||
},
|
||||
]);
|
||||
|
||||
const calendar = await mountView({
|
||||
type: "calendar",
|
||||
resModel: "hr.work.entry",
|
||||
});
|
||||
const controller = getCalendarController(calendar);
|
||||
await controller.model._fetchUserFavoritesWorkEntries();
|
||||
//ensure favorites deduplication happened
|
||||
expect(controller.model.userFavoritesWorkEntries).toHaveLength(1, {
|
||||
message: "calendar model favorites list must contain just one type",
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue