Fix hr_payroll_clone: AttributeError, add journal/work_type support, use standard wizard

- Fix AttributeError: hr.payslip.run has no company_id field
- Change batch name format from MM/YYYY to YYYY-MM (remove 'Payslips' prefix)
- Add journal_id field and copy from previous batch
- Add work_type_id support (Redovni rad/Regular work) in timesheet generation
- Add duplicate check for existing timesheets to prevent duplication
- Use standard Odoo hr.payslip.employees wizard for payslip generation
- Update version to 16.0.1.1.0

🤖 assisted by claude

🤖 assisted by claude
This commit is contained in:
Ernad Husremovic 2025-11-04 22:43:22 +01:00
parent 3ac97a2210
commit ee00be80d0
46 changed files with 459 additions and 441 deletions

View file

@ -20,39 +20,31 @@ msgstr "Prihvati"
#. module: hr_personal_equipment_request
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment__state__accepted
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment_request__state__accepted
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_search_view
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "Accepted"
msgstr "Prihvaćeno"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_needaction
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_needaction
msgid "Action Needed"
msgstr "Potrebna akcija"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_ids
msgid "Activities"
msgstr "Aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_exception_decoration
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr "Dekoracija iznimke aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_state
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_state
msgid "Activity State"
msgstr "Status aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_type_icon
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_type_icon
msgid "Activity Type Icon"
msgstr "Ikona tipa aktivnosti"
@ -63,10 +55,7 @@ msgstr "Dodaje informacije o osobnoj opremi i dodjeli"
#. module: hr_personal_equipment_request
#. odoo-python
#: code:addons/hr_personal_equipment_request/models/hr_personal_equipment_request.py:0
#: model:ir.actions.act_window,name:hr_personal_equipment_request.hr_personal_equipment_act_window
#: model:ir.ui.menu,name:hr_personal_equipment_request.hr_personal_equipment_allocations_menu
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_form_view
#: code:addons/hr_personal_equipment_request/models/hr_personal_equipment_request.py
#, python-format
msgid "Allocations"
msgstr "Alokacije"
@ -93,13 +82,11 @@ msgstr "Da li ste sigurni da želite isteći ovu dodjelu osobne opreme?"
#. module: hr_personal_equipment_request
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_form_view
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_form_view
msgid "Are you sure you want to validate this personal equipment allocation?"
msgstr "Da li ste sigurni da želite validirati ovu dodjelu osobne opreme?"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_attachment_count
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_attachment_count
msgid "Attachment Count"
msgstr "Broj priloga"
@ -110,53 +97,42 @@ msgstr "Otkaži"
#. module: hr_personal_equipment_request
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment__state__cancelled
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment_request__state__cancelled
msgid "Cancelled"
msgstr "Otkazan"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__create_uid
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__create_date
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__display_name
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: hr_personal_equipment_request
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment__state__draft
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment_request__state__draft
msgid "Draft"
msgstr "U pripremi"
#. module: hr_personal_equipment_request
#: model:ir.model,name:hr_personal_equipment_request.model_hr_employee
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__employee_id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__employee_id
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "Employee"
msgstr "Zaposleni"
#. module: hr_personal_equipment_request
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_form_view
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.product_template_form_view
msgid "Employee Personal Equipment"
msgstr "Osobna oprema zaposlenika"
#. module: hr_personal_equipment_request
#. odoo-python
#: code:addons/hr_personal_equipment_request/models/hr_employee.py:0
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_employee__equipment_request_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__equipment_request_id
#: code:addons/hr_personal_equipment_request/models/hr_employee.py
#, python-format
msgid "Equipment Request"
msgstr "Zahtjev za opremu"
@ -173,7 +149,6 @@ msgstr "Istječe"
#. module: hr_personal_equipment_request
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment__state__expired
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "Expired"
msgstr "Istekao"
@ -184,19 +159,16 @@ msgstr "Datum isteka"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_follower_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_follower_ids
msgid "Followers"
msgstr "Pratioci"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_partner_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_partner_ids
msgid "Followers (Partners)"
msgstr "Pratioci (Partneri)"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__activity_type_icon
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr "Font awesome ikona npr. fa-tasks"
@ -207,157 +179,131 @@ msgstr "Grupiši po"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__has_message
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__has_message
msgid "Has Message"
msgstr "Ima poruku"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__id
msgid "ID"
msgstr "ID"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_exception_icon
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_exception_icon
msgid "Icon"
msgstr "Ikona"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__activity_exception_icon
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr "Ikona za prikaz iznimki."
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__message_needaction
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__message_has_error
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi."
#. module: hr_personal_equipment_request
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_search_view
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "In Draft"
msgstr "U nacrtu"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_product_product__is_personal_equipment
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_product_template__is_personal_equipment
msgid "Is Employee Personal Equipment"
msgstr "Je li osobna oprema zaposlenika"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_is_follower
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_is_follower
msgid "Is Follower"
msgstr "Pratilac"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment____last_update
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__write_uid
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__write_date
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_main_attachment_id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_main_attachment_id
msgid "Main Attachment"
msgstr "Glavna zakačka"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_has_error
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_has_error
msgid "Message Delivery error"
msgstr "Greška pri isporuci poruke"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_ids
msgid "Messages"
msgstr "Poruke"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__my_activity_date_deadline
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr "Rok za moju aktivnost"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__name
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__name
msgid "Name"
msgstr "Naziv:"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_calendar_event_id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_calendar_event_id
msgid "Next Activity Calendar Event"
msgstr "Kaldendarski događaj slijedeće aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_date_deadline
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_date_deadline
msgid "Next Activity Deadline"
msgstr "Krajnji rok za sljedeću aktivnost"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_summary
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_summary
msgid "Next Activity Summary"
msgstr "Pregled sljedeće aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_type_id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_type_id
msgid "Next Activity Type"
msgstr "Tip sljedeće aktivnosti"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_needaction_counter
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_needaction_counter
msgid "Number of Actions"
msgstr "Broj akcija"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__message_has_error_counter
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__message_has_error_counter
msgid "Number of errors"
msgstr "Broj grešaka"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__message_needaction_counter
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Broj poruka koje zahtijevaju aktivnost"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__message_has_error_counter
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Broj poruka sa greškama pri isporuci"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__observations
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_form_view
msgid "Observations"
msgstr "Napomene"
@ -373,11 +319,7 @@ msgstr "LO zahtjev"
#. module: hr_personal_equipment_request
#. odoo-python
#: code:addons/hr_personal_equipment_request/models/hr_employee.py:0
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_employee__personal_equipment_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__line_ids
#: model:ir.ui.menu,name:hr_personal_equipment_request.hr_personal_equipment_menu
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_form_view
#: code:addons/hr_personal_equipment_request/models/hr_employee.py
#, python-format
msgid "Personal Equipment"
msgstr "Osobna oprema"
@ -389,20 +331,18 @@ msgstr "Broj osobne opreme"
#. module: hr_personal_equipment_request
#: model:ir.actions.act_window,name:hr_personal_equipment_request.hr_personal_equipment_request_act_window
#: model:ir.ui.menu,name:hr_personal_equipment_request.hr_personal_equipment_request_menu
msgid "Personal Equipment Request"
msgstr "Zahtjev za osobnu opremu"
#. module: hr_personal_equipment_request
#. odoo-python
#: code:addons/hr_personal_equipment_request/models/hr_personal_equipment_request.py:0
#: code:addons/hr_personal_equipment_request/models/hr_personal_equipment_request.py
#, python-format
msgid "Personal Equipment Request by %s"
msgstr "Zahtjev za osobnu opremu od %s"
#. module: hr_personal_equipment_request
#: model:ir.model,name:hr_personal_equipment_request.model_product_template
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "Product"
msgstr "Artikal"
@ -418,7 +358,6 @@ msgstr "Količina"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__activity_user_id
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_user_id
msgid "Responsible User"
msgstr "Odgovorni korisnik"
@ -429,20 +368,21 @@ msgstr "Početni datum"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__state
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__state
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "State"
msgstr "Status"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__activity_state
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
"Status baziran na aktivnostima\n"
"Zakašnjelo: Rok je već prošao\n"
"Danas: Datum aktivnosti je danas\n"
"Planirano: Buduće aktivnosti."
#. module: hr_personal_equipment_request
#: model:ir.model,name:hr_personal_equipment_request.model_hr_personal_equipment_request
@ -451,7 +391,6 @@ msgstr "Ovaj model omogućava kreiranje zahtjeva za osobnu opremu"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__activity_exception_decoration
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr "Vrsta aktivnosti iznimke na zapisu."
@ -462,24 +401,20 @@ msgstr "Jedinica mjere"
#. module: hr_personal_equipment_request
#: model:ir.model.fields.selection,name:hr_personal_equipment_request.selection__hr_personal_equipment__state__valid
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_search_view
msgid "Valid"
msgstr "Odobreno"
#. module: hr_personal_equipment_request
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_form_view
#: model_terms:ir.ui.view,arch_db:hr_personal_equipment_request.hr_personal_equipment_request_form_view
msgid "Validate"
msgstr "Ovjeri"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment__website_message_ids
#: model:ir.model.fields,field_description:hr_personal_equipment_request.field_hr_personal_equipment_request__website_message_ids
msgid "Website Messages"
msgstr "Poruke sa website-a"
#. module: hr_personal_equipment_request
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment__website_message_ids
#: model:ir.model.fields,help:hr_personal_equipment_request.field_hr_personal_equipment_request__website_message_ids
msgid "Website communication history"
msgstr "Povijest komunikacije Web stranice"