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:28 +01:00
parent 1f0f86df6d
commit ccb7625273
49 changed files with 442267 additions and 5917 deletions

View file

@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * digest
#
#
# Translators:
# Martin Trigaux, 2018
# Boško Stojaković <bluesoft83@gmail.com>, 2018
@ -14,10 +14,10 @@ msgstr ""
"PO-Revision-Date: 2018-10-02 10:05+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2018\n"
"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bs\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: digest
@ -194,50 +194,61 @@ msgid ""
"<strong style=\"font-size: 16px;\">Get things done with activities</strong>"
msgstr ""
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Activate"
msgstr "Aktiviraj"
# taken from hr.po
#. module: digest
#: selection:digest.digest,state:0
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__state__activated
msgid "Activated"
msgstr ""
msgstr "Aktivirano"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Add new users as recipient of a periodic email with key metrics"
msgstr ""
"Dodajte nove korisnike kao primaoce periodičnih e-mailova sa ključnim "
"metrikama"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_tip__group_id
msgid "Authorized Group"
msgstr "Ovlaštena grupa"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__available_fields
msgid "Available Fields"
msgstr ""
msgstr "Dostupna polja"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__company_id
msgid "Company"
msgstr "Kompanija"
# taken from hr.po
#. module: digest
#: model:ir.model,name:digest.model_res_config_settings
msgid "Config Settings"
msgstr ""
msgstr "Podešavanja konfiguracije"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Configure Digest Emails"
msgstr ""
"<strong Stil=\"font-size: 16px;\">Get things Urađeno with "
"activities</strong>"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_res_users_connected
msgid "Connected Users"
msgstr ""
msgstr "Povezani korisnici"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@ -246,18 +257,19 @@ msgid ""
"these fields:"
msgstr ""
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__create_uid
#: model:ir.model.fields,field_description:digest.field_digest_tip__create_uid
msgid "Created by"
msgstr "Kreirao"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__create_date
#: model:ir.model.fields,field_description:digest.field_digest_tip__create_date
msgid "Created on"
msgstr "Kreirano"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__currency_id
msgid "Currency"
@ -268,45 +280,43 @@ msgstr "Valuta"
msgid "Deactivate for everyone"
msgstr ""
# taken from hr.po
#. module: digest
#: selection:digest.digest,state:0
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__state__deactivated
msgid "Deactivated"
msgstr ""
msgstr "Deaktivirano"
# taken from hr.po
#. module: digest
#: model:ir.model,name:digest.model_digest_digest
msgid "Digest"
msgstr ""
msgstr "Sažetak"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_res_config_settings__digest_id
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Digest Email"
msgstr ""
msgstr "Sažeti e-mail"
#. module: digest
#: model:ir.actions.act_window,name:digest.digest_digest_action
#: model:ir.actions.server,name:digest.ir_cron_digest_scheduler_action_ir_actions_server
#: model:ir.cron,cron_name:digest.ir_cron_digest_scheduler_action
#: model:ir.cron,name:digest.ir_cron_digest_scheduler_action
#: model:ir.model.fields,field_description:digest.field_res_config_settings__digest_emails
#: model:ir.ui.menu,name:digest.digest_menu
msgid "Digest Emails"
msgstr ""
msgstr "Sažeti e-mailovi"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.portal_digest_unsubscribed
msgid "Digest Subscriptions"
msgstr ""
"Kreiraj or Uredi the mail Šablon: you may get computed KPI's Vrednost using "
"these fields:"
#. module: digest
#: model:ir.model,name:digest.model_digest_tip
#: model:ir.actions.act_window,name:digest.digest_tip_action
msgid "Digest Tips"
msgstr ""
msgstr "Savjeti sažetka"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__display_name
#: model:ir.model.fields,field_description:digest.field_digest_tip__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
@ -315,15 +325,17 @@ msgstr "Prikazani naziv"
msgid "Email Template"
msgstr "Predložak email-a"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "General"
msgstr "Opšte"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_search
msgid "Group by"
msgstr ""
msgstr "Grupiraj po"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@ -344,14 +356,14 @@ msgstr ""
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__is_subscribed
msgid "Is user subscribed"
msgstr ""
msgstr "Je korisnik pretplaćen"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_tree
msgid "KPI Digest"
msgstr ""
msgstr "KPI sažetak"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "KPIs"
@ -360,28 +372,28 @@ msgstr "KPIs"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_mail_message_total_value
msgid "Kpi Mail Message Total Value"
msgstr ""
msgstr "Kpi vrijednost ukupnih poruka e-pošte"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_res_users_connected_value
msgid "Kpi Res Users Connected Value"
msgstr ""
msgstr "Kpi vrijednost povezanih korisnika resursa"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest____last_update
#: model:ir.model.fields,field_description:digest.field_digest_tip____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__write_uid
#: model:ir.model.fields,field_description:digest.field_digest_tip__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__write_date
#: model:ir.model.fields,field_description:digest.field_digest_tip__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
@ -390,11 +402,13 @@ msgstr "Zadnje ažurirano"
msgid "Messages"
msgstr "Poruke"
# taken from hr.po
#. module: digest
#: selection:digest.digest,periodicity:0
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__periodicity__monthly
msgid "Monthly"
msgstr "Mjesečno"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__name
msgid "Name"
@ -406,26 +420,28 @@ msgid ""
"New users are automatically added as recipient of the following digest "
"email."
msgstr ""
"Novi korisnici se automatski dodaju kao primaoci sljedećeg sažetog e-maila."
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__next_run_date
msgid "Next Send Date"
msgstr ""
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__periodicity
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_search
msgid "Periodicity"
msgstr ""
msgstr "Periodičnost"
# taken from hr.po
#. module: digest
#: selection:digest.digest,periodicity:0
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__periodicity__quarterly
msgid "Quarterly"
msgstr ""
msgstr "Kvartalno"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__user_ids
#: model:ir.model.fields,field_description:digest.field_digest_tip__user_ids
msgid "Recipients"
msgstr "Primaoci"
@ -434,11 +450,13 @@ msgstr "Primaoci"
msgid "Select your KPIs in the KPI's tab."
msgstr ""
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Send Now"
msgstr "Pošalji odmah"
# taken from hr.po
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_tip__sequence
msgid "Sequence"
@ -457,7 +475,7 @@ msgstr ""
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_tip__tip_description
msgid "Tip description"
msgstr ""
msgstr "Opis savjeta"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@ -468,6 +486,8 @@ msgstr ""
#: model:ir.model.fields,help:digest.field_digest_tip__sequence
msgid "Used to display digest tip in email template base on order"
msgstr ""
"Koristi se za prikazivanje savjeta sažetka u predlošku e-maila baziranom na "
"redoslijedu"
#. module: digest
#: model:ir.model,name:digest.model_res_users
@ -477,10 +497,11 @@ msgstr "Korisnici"
#. module: digest
#: model:ir.model.fields,help:digest.field_digest_tip__user_ids
msgid "Users having already received this tip"
msgstr ""
msgstr "Korisnici koji su već primili ovaj savjet"
# taken from hr.po
#. module: digest
#: selection:digest.digest,periodicity:0
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__periodicity__weekly
msgid "Weekly"
msgstr "Sedmično"
@ -541,3 +562,332 @@ msgid ""
" <code>digest</code>\n"
" object:"
msgstr ""
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "<i class=\"fa fa-arrow-right\"/> Check our Documentation"
msgstr "<i class=\"fa fa-arrow-right\"/> Provjerite našu dokumentaciju"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_mail_main
msgid "<span class=\"button\" id=\"button_open_report\">Open Report</span>"
msgstr "<span class=\"button\" id=\"button_open_report\">Otvori izvještaj</span>"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_mail_main
msgid "<span class=\"odoo_link_text\">Odoo</span>"
msgstr "${', '.join(users.mapped('name'))} signed up. Say hello in the"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_mail_main
msgid "<span style=\"color: #8f8f8f;\">Unsubscribe</span>"
msgstr ""
"% Set users = object.env['res.users'].Pretraga([], limit=10, Redosled='id desc')\n"
" % Set channel_id = object.env.ref('mail.channel_all_employees').id\n"
" <strong Stil=\"font-size: 16px;\">Did you know...?</strong>"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Choose the metrics you care about"
msgstr "Odaberite metrike koje vas zanimaju"
# taken from hr.po
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Connect"
msgstr "Poveži"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Custom"
msgstr "Prilagođen"
# taken from hr.po
#. module: digest
#: model:ir.model.fields.selection,name:digest.selection__digest_digest__periodicity__daily
msgid "Daily"
msgstr "Dnevno"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Deactivate"
msgstr "Deaktiviraj"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Digest Title"
msgstr "Naslov sažetka"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Documentation"
msgstr "Dokumentacija"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Email Address"
msgstr "Deactivate for everyone"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_1
msgid ""
"Have a question about a document? Click on the responsible user's picture to"
" start a conversation. If his avatar has a green dot, he is online."
msgstr ""
"Imate pitanje o dokumentu? Kliknite na sliku odgovornog korisnika da "
"pokrenete razgovor. Ako njegov avatar ima zelenu tačku, on je online."
#. module: digest
#: code:addons/digest/controllers/portal.py
#, python-format
msgid "Invalid periodicity set on digest"
msgstr "Neispravna periodičnost postavljena na sažetku"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_tip_view_form
msgid "KPI Digest Tip"
msgstr "Kako to customize your digest?"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_tip_view_tree
msgid "KPI Digest Tips"
msgstr "In Redosled to build your customized digest, Prati these steps:"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Last 24 hours"
msgstr "Poslednja 24 sata"
# taken from hr.po
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Last 30 Days"
msgstr "Zadnjih 30 dana"
# taken from hr.po
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Last 7 Days"
msgstr "Zadnjih 7 dana"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_mail_message_total
msgid "Messages Sent"
msgstr "Poruke poslane"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__next_run_date
msgid "Next Mailing Date"
msgstr "Sljedeći datum slanja"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_section_mobile
msgid "Odoo Mobile"
msgstr "Odoo mobilno"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_mail_main
msgid "Powered by"
msgstr "Podržano od"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Prefer a broader overview ?"
msgstr "Preferirate širi pregled?"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_0
msgid ""
"Press ALT in any screen to highlight shortcuts for every button in the "
"screen. It is useful to process multiple documents in batch."
msgstr ""
"Pritisnite ALT na bilo kojem ekranu da označite prečice za svako dugme na "
"ekranu. Korisno je za obradu više dokumenata u seriji."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_section_mobile
msgid "Run your business from anywhere with <b>Odoo Mobile</b>."
msgstr "Vodite svoj posao otkud god sa <b>Odoo mobilnim</b>."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_mail_main
msgid "Sent by"
msgstr "Pošaljilac"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Statistics"
msgstr "Statistike"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Switch to weekly Digests"
msgstr "Prebaci na nedeljne sažetke"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_2
msgid "Tip: A calculator in Odoo"
msgstr "Savjet: Kalkulator u Odoo"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_1
msgid "Tip: Click on an avatar to chat with a user"
msgstr "Savjet: Kliknite na avatar da razgovarate sa korisnikom"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_3
msgid "Tip: How to ping users in internal notes?"
msgstr "Savjet: Kako označiti korisnike u internim bilješkama?"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_4
msgid "Tip: Knowledge is power"
msgstr "Savjet: Znanje je moć"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_0
msgid "Tip: Speed up your workflow with shortcuts"
msgstr "Savjet: Ubrzajte svoj radni tok sa prečicama"
#. module: digest
#: model:digest.tip,name:digest.digest_tip_digest_2
msgid "Tip: A calculator in Odoo"
msgstr "Weekly Digest"
#. module: digest
#: model:digest.tip,name:digest.digest_tip_digest_1
msgid "Tip: Click on an avatar to chat with a user"
msgstr ""
"you must Kreiraj 2 fields on the\n"
" <Kod>digest</Kod>\n"
" object:"
#. module: digest
#: model:digest.tip,name:digest.digest_tip_digest_3
msgid "Tip: How to ping users in internal notes?"
msgstr "Savjet: Kako označiti korisnike u internim bilješkama?"
#. module: digest
#: model:digest.tip,name:digest.digest_tip_digest_4
msgid "Tip: Knowledge is power"
msgstr "Savjet: Znanje je moć"
#. module: digest
#: model:digest.tip,name:digest.digest_tip_digest_0
msgid "Tip: Speed up your workflow with shortcuts"
msgstr "Savjet: Ubrzajte svoj radni tok sa prečicama"
# taken from hr.po
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_tree
msgid "Title"
msgstr "Naslov"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_3
msgid ""
"Type \"@\" to notify someone in a message, or \"#\" to link to a channel. "
"Try to notify @OdooBot to test the feature."
msgstr ""
"Kucajte \"@\" da obavijestite nekoga u poruci, ili \"#\" da linkujete na "
"kanal. Pokušajte obavijestiti @OdooBot da testirate funkciju."
# taken from hr.po
#. module: digest
#: model:ir.model,name:digest.model_res_users
msgid "User"
msgstr "Vaša registracija za ${object.event_id.name}"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Want to add your own KPIs?<br/>"
msgstr "Želite dodati svoje vlastite KPI-jeve?<br/>"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "Want to customize this email?"
msgstr "Želite prilagoditi ovaj e-mail?"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid ""
"We have noticed you did not connect these last few days. We have "
"automatically switched your preference to %(new_perioridicy_str)s Digests."
msgstr ""
"Primijetili smo da se niste povezali ovih nekoliko dana. Automatski smo "
"prebacili vašu preferencu na %(new_perioridicy_str)s sažetke."
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_2
msgid ""
"When editing a number, you can use formulae by typing the `=` character. "
"This is useful when computing a margin or a discount on a quotation, sale "
"order or invoice."
msgstr ""
"Kada uređujete broj, možete koristiti formule kucanjem znaka `=`. Ovo je "
"korisno pri izračunu marže ili popusta na ponudi, prodajnoj narudžbi ili "
"računu."
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_digest_4
msgid ""
"When following documents, use the pencil icon to fine-tune the information you want to receive.\n"
"Follow a project / sales team to keep track of this project's tasks / this team's opportunities."
msgstr ""
"Kada pratite dokumente, koristite ikonu olovke da fino podešavate informacije koje želite primiti.\n"
"Pratite projekt / prodajni tim da biste pratili zadatke ovog projekta / prilike ovog tima."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.portal_digest_unsubscribed
msgid "You have been successfully unsubscribed from:<br/>"
msgstr "Uspješno ste otkazali pretplatu sa:<br/>"
#. module: digest
#: model:digest.digest,name:digest.digest_digest_default
msgid "Your Odoo Periodic Digest"
msgstr ""
"then Kreiraj a computed Polje called\n"
" <Kod>kpi_myfield_value</Kod>\n"
" that will compute your customized KPI."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "e.g. Your Weekly Digest"
msgstr "You have been successfully unsubscribed from"
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "monthly"
msgstr "You may want to Dodaj new computed fields with Odoo Studio:"
# taken from hr.po
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "quarterly"
msgstr "Kompanija's discussion channel."
#. module: digest
#: code:addons/digest/models/digest.py
#, python-format
msgid "weekly"
msgstr ""
"Prvi Kreiraj a boolean Polje called\n"
" <Kod>kpi_myfield</Kod>\n"
" and Prikaz it in the KPI's Tab;"