-
-
Notifications
You must be signed in to change notification settings - Fork 164
[19.0][MIG] payroll: migrate #227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 19.0
Are you sure you want to change the base?
Conversation
this commit renames the module from hr_payroll to payroll. This is to avoid conflicting with the hr_payroll module included in Odoo Enterprise
Also removes links to localisations which have not yet been migrated. These can be re-added when the localisations are ported.
author nicolasrsande <[email protected]> 1643135061 -0300 committer nicolasrsande <[email protected]> 1643668459 -0300 fix typo in leave calculation default for worked days should not compute leaves, because leaves are calculated separately we should not add data because it interfers with custom localization payroll modules fix pre-commit add demo data so the test can be executed leaves should be computed in negative value to help creating salary rules Add mantainer key remove mantainer in payroll_account 14.0-minor-fixes fix typo in leave calculation we should not add data because it interfers with custom localization payroll modules fix pre-commit add demo data so the test can be executed leaves should be computed in negative value to help creating salary rules Add mantainer key remove mantainer in payroll_account 14.0-payroll-minor-fixes
accept suggestion use repr() on the string change indentation of error
Currently translated at 93.6% (266 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/ca/
Currently translated at 100.0% (284 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/ca/
Currently translated at 86.9% (247 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/es_AR/
Currently translated at 100.0% (284 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/es_AR/
Currently translated at 100.0% (284 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/es_AR/
Currently translated at 100.0% (284 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/es_AR/
Currently translated at 78.1% (222 of 284 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/it/
Currently translated at 100.0% (290 of 290 strings) Translation: payroll-14.0/payroll-14.0-payroll Translate-URL: https://translation.odoo-community.org/projects/payroll-14-0/payroll-14-0-payroll/es_AR/
The unittest for the payroll module is broken in several ways:
1. It doesn't actually test anything in the payslip, just the states
when various buttons are simulated
2. The payslip is created programatically, so no payslip values are loaded
3. The employee's contract is in "draft" state so even if it tried to
load any values it wouldn't work because the contract isn't "open"
4. It modifies a salary input line, but doesn't verify it worked. It
doesn't work because of the above mentioned reasons.
To ensure a minimal amount of testing:
o Make sure the employee's contract is in "open" state
o Use the "Form" testing object when creating a payslip to ensure
the onchange_employee() is run
o Actually test the payroll calculations are done correctly
…salary rule
A side effect of the way the payslip line quantity and rate are set when
amount_select is set to "code" causes them to never evaluate to zero. When they
evaluate to 0 the side effect causes them to be set to 1.0 and 100.0, respectively.
"result_qty" in localdict and localdict["result_qty"] or 1.0
"result_rate" in localdict and localdict["result_rate"] or 100.0
d8a42bc to
65fd712
Compare
|
faa2a49 to
970eaf7
Compare
|
|
@kaynnan @WesleyOliveira98 @marcelsavegnago @CristianoMafraJunior pre-commit and tests are green; please test on RunBoat and review/approve. |
CristianoMafraJunior
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The commit message should be only: [MIG] payroll: Migration to 19.0
970eaf7
d4fd93d to
0695c91
Compare
I have changed the commit message to the one specified, thank you. |
dreispt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, this looks like solid and brave work.
I made a few minor comments.
The one that could be a bug is the tz handling.
|
Demo data installation fails: |
- Drop hr.contract demo records (Odoo 19) - Use calendar/employee timezone for leave computation - Replace translation % formatting with env._ kwargs - Remove redundant payslip unlink override
|
Thanks for the detailed review. I’ve pushed updates addressing your points: removed the redundant unlink() override, fixed leave-day timezone handling to use the contract/calendar timezone, and refactored the translation strings to use env._(..., **kwargs) so we can drop the noqa/pylint suppressions. Please take another look when you have a moment. |
|
@realsaiko The demo data still referenced hr.contract, which no longer exists in Odoo 19. I’ve updated the demo XML to remove those hr.contract records and instead set the contract/version fields on the employee records, so payroll --with-demo should install cleanly now. If you can retry the install and confirm, that’d be very helpful. |
|
@tishmen great, now the demo installation works without errors |
|
The rest seems ok for me. Functional Test OK |
- Add struct_id to the Employee/Payroll contract overview - Copy struct_id from contract templates (whitelist) Functional
@hieulucky111 In Odoo 19 the “contract” is an hr.version edited through the Employee form (the “New Contract” button creates a new version and reloads the employee with context['version_id']), so adding struct_id only on the contract template form |
hieulucky111
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functional Test Ok


Scope:
Depends on:
Summary:
Pre-commit:
Tests:
./odoo/odoo-bin -c odoo.conf -d odoo_payroll_dev -i payroll --log-level=info --stop-after-init