def update_model(self, new_status_form: Form,
                     beneficiary_import: BeneficiaryImport) -> None:
        new_status = ImportStatus(new_status_form.status.data)

        if is_import_status_change_allowed(beneficiary_import.currentStatus,
                                           new_status):
            beneficiary_import.setStatus(new_status,
                                         detail=new_status_form.detail.data,
                                         author=current_user)
            repository.save(beneficiary_import)
        else:
            new_status_form.status.errors.append(
                IMPORT_STATUS_MODIFICATION_RULE)
Ejemplo n.º 2
0
 def test_retry_cannot_be_changed(self, new_status):
     assert is_import_status_change_allowed(ImportStatus.RETRY, new_status) is False
Ejemplo n.º 3
0
 def test_rejected_cannot_be_changed(self, new_status):
     assert is_import_status_change_allowed(ImportStatus.REJECTED, new_status) is False
Ejemplo n.º 4
0
 def test_created_cannot_be_changed(self, new_status):
     assert is_import_status_change_allowed(ImportStatus.CREATED, new_status) is False
Ejemplo n.º 5
0
 def test_error_cannot_be_changed(self, new_status):
     assert is_import_status_change_allowed(ImportStatus.ERROR, new_status) is False
Ejemplo n.º 6
0
 def test_duplicate_can_be_rejected_or_retried(self, new_status, allowed):
     assert is_import_status_change_allowed(ImportStatus.DUPLICATE, new_status) is allowed