contract view fix

16-renewal-dev
Florian Roger 6 months ago
parent c1cb8b8c7d
commit 2846f7b063

@ -16,7 +16,7 @@ Addons for Odoo 16.
| gn_contract_validation | 16.0.0.0.1 | Simple class inheritance from HrContract to add some states |
| gn_job_sheet | 16.0.0.0.4 | Fiche de poste |
| gn_contract_situation | 16.0.0.0.3 | Multiple Delegation Inheritance to associate original contract, amendments, job sheets |
| gn_contract_renewal | 16.0.0.0.1 | Manage fixed-term contracts renewal |
| gn_contract_renewal | 16.0.0.0.2 | Manage fixed-term contracts renewal |
## ToDo

@ -4,11 +4,15 @@ This module intends to manage renewal of fixed-term contracts.
## Changelog
- v16.0.0.0.2 (2024/04/10)
- solve issue Tree View for renewals in contract form
- v16.0.0.0.1 (2024/04/08)
- inital creation
## Issues
- [] Tree view for renewals in contract form
- [] wait for active state before changing parent's contract
- [] define view for hr.contract.renewal.confirmation.wizard and hr.contract.renewal.type.wizard
| Status | Description | Git ref | Solved in |
|--------|-----------------------------------------------------------|----------------|------------|
| [x] | Tree view for renewals in contract form | | 16.0.0.0.2 |
| [] | wait for active state before changing parent's contract | | |
| [] | define view for hr.contract.renewal.confirmation.wizard and hr.contract.renewal.type.wizard | | |

@ -105,4 +105,4 @@ class GnHrContract(models.Model):
_logger.warning("Wizard generated: %s", wizard)
return wizard
else:
raise UserError("Vous ne pouvez pas renouveller un Contrat à Durée Indéterminée")
raise ValidationError("Vous ne pouvez pas renouveler un Contrat à Durée Indéterminée")

@ -114,7 +114,7 @@ class GnHrContractRenewal(models.Model):
def _check_active_state_unicity(self, current_id, renewal_ids):
already_active = renewal_ids.filtered(lambda s: s.state == 'active' and s.id != current_id)
if len(already_active) > 0:
message = (_("Il ne peut y avoir qu'un renouvellement de contrat actif à la fois, le renouvellement du contrat en cours est le suivant: %s, id %s", already_active, already_active.ids))
message = (_("Il ne peut y avoir qu'un renouvellement de contrat actif à la fois, le renouvellement du contrat en cours est le suivant: %s (id %s)", already_active[0].name, already_active.ids[0]))
return message
elif len(already_active) == 0:
return False
@ -122,7 +122,7 @@ class GnHrContractRenewal(models.Model):
def _check_pending_state_unicity(self, current_id, renewal_ids):
already_pending = renewal_ids.filtered(lambda s: s.state not in ['active', 'expired'] and s.id != current_id)
if len(already_pending) > 0:
message = (_("Il ne peut y avoir qu'un renouvellement de contrat en préparation à la fois, le renouvellement du contrat déjà en préparation est le suivante: %s, id %s", already_pending, already_pending.ids))
message = (_("Il ne peut y avoir qu'un renouvellement de contrat en préparation à la fois, le renouvellement du contrat déjà en préparation est le suivante: %s (id %s)", already_pending[0].name, already_pending.ids[0]))
return message
elif len(already_pending) == 0:
self.contract_id.pending_renewal_id = current_id

@ -14,11 +14,18 @@
</xpath>
<xpath expr="//page[@name='information']" position="after">
<page string="Renouvellements du CDD" name="renewal" class="o_hr_contract_salary_information">
<group name="renewals_infos">
<label for="renewal_ids"/>
<field name="renewal_ids"/>
<tree>
</tree>
<group string="Renouvellements">
<field name="renewal_ids" nolabel='1' nocreate='1' colspan='2' options="{'create': False, 'delete': False, 'editable': False}">
<tree
decoration-info="state == 'draft'"
decoration-muted="state == 'expired'"
>
<field name="name"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="state"/>
</tree>
</field>
</group>
</page>
</xpath>

Loading…
Cancel
Save