Skip to content
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

Erreur sur l'onglet service #3795

Closed
jeromesourdin opened this issue Oct 11, 2023 · 11 comments
Closed

Erreur sur l'onglet service #3795

jeromesourdin opened this issue Oct 11, 2023 · 11 comments
Labels

Comments

@jeromesourdin
Copy link

Bonjour,
Suite au passage à la version 2.101, nous avons un message d'erreur sur l'onglet service.
Est-ce que ça vous parle ?

image

Internal Server Error: /api/service/drf/services.datatables

AttributeError at /api/service/drf/services.datatables
Got AttributeError when attempting to get a value for field `name` on serializer `DatatablesSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `Service` instance.
Original exception text was: 'ServiceType' object has no attribute 'review'.
@babastienne
Copy link
Member

Bonjour,

C'est assez étrange, je ne reproduit pas ce problème.
La 2.101.1 corrige un bug mais ce n'est pas celui-ci.

Il y n'y a pas eu de modification particulière liée au services dans la 2.101. Par contre dans la 2.100 on a corrigé un bug justement lié à datatables et aux Services : #3521

Ton erreur me fait un peu penser à ce bug, mais vu qu'il a été corrigé justement ça m'étonne.

Est-ce que sur votre instance il y a un paramétrage particulier (dans le custom.py) lié aux colonnes affichées dans la vue liste ou à datatable ?

@camillemonchicourt
Copy link
Member

Sinon ça peut justement être un problème de cache du navigateur ou du serveur ?

@jeromesourdin
Copy link
Author

Bonjour,
J'ai vidé tout les caches et ça ne résout pas le problème. Il y avait bien une config pour les colonnes dans le custom.py :

COLUMNS_LISTS['trek_view'] = ['structure', 'practice', 'length_2d']

Je l'ai commenté et restart géotrek, et idem...

@jeromesourdin
Copy link
Author

jeromesourdin commented Oct 12, 2023

Après de multiple tests, j'ai réussi à résoudre le problème par la modification de la ligne https://github.com/GeotrekCE/Geotrek-admin/blob/master/geotrek/trekking/views.py#L456 en supprimant le 'name', et en ajoutant la ligne suivante au custom.py :

COLUMNS_LISTS["service_view"] = ["type"]

Ce n'est surement pas la bonne méthode, mais je n'ai plus d'erreur. Si ça peut aider à résoudre le problème...

@camillemonchicourt
Copy link
Member

OK, en effet les services n'ont pas de champs NAME, mais seulement un id et un type.
Donc peut-etre un truc à revoir car ça a en effet été modifié récemment : 6c9b8f8

@babastienne
Copy link
Member

Oui en effet j'ai l'impression qu'il y a un lien avec ce commit. Mais ce qui est bizarre c'est que le problème ne survienne pas sur d'autres instances ... 🤔

@jeromesourdin
Copy link
Author

Est-ce que cela peu venir du fait d'avoir sauté plusieurs versions ?

@babastienne
Copy link
Member

Non. Lorsqu'on passe d'une ancienne version à une nouvelle la mise à jour repasse chaque migration de base une à une, comme si faisait chaque mise à jour l'une après l'autre, donc normalement ça n'engendre pas de problèmes.

@submarcos
Copy link
Member

submarcos commented Oct 16, 2023

Ce n'est pas le champ 'name' qui pose probleme en temps que tel. Le serializer de la liste se sert de la proprieté name_display, qui affiche un lien et une icone en fonction de plusieurs attributs. le nom du type, le statut "publié" etc. dans le cas ou le service n'est pas publié, il va regarder la propriété self.type.review, Or un type de service n'a pas d'attribut review (différence entre PublishableMixin et BasePublishableMixin). Donc çà ne marche pas pour les instances ayant des services non publiés.

Il ya donc bien un bug qui se produit en fonction des données en base, pour corriger il faudrait savoir est-ce qu'un type de service peut avoir un attribut review, ou est-ce qu'on fait sauter cette vérification ?

C'est du à ce commit

@babastienne
Copy link
Member

Oups, si je comprends bien c'est donc mon code qui a tout cassé ... 😬

L'idée du ticket #1669 c'était justement d'enlever cet attribut review qui n'avait pas de sens sur le model servicetype. Par contre ce que je réalise c'est que j'ai fais le travail à moitié, j'ai oublié de supprimer le code que tu as pointé dans ton commentaire @submarcos .

@Chatewgne
Copy link
Contributor

Bonjour, un fix est publié dans la version 2.101.2, merci d'avoir remonté le problème

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants