Development #57103
API de création d'un agenda
0%
Description
Rien de bien particulier ici je pense.
Fichiers
Révisions associées
api: display minimal_booking_delay_in_working_days on meetings agenda details (#57103)
api: add post method on agenda endpoint (#57103)
Historique
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0003-api-add-post-method-on-agenda-endpoint-57103.patch 0003-api-add-post-method-on-agenda-endpoint-57103.patch ajouté
- Fichier 0002-api-display-minimal_booking_delay_in_working_days-on.patch 0002-api-display-minimal_booking_delay_in_working_days-on.patch ajouté
- Fichier 0001-api-display-roles-on-agenda-details-57103.patch 0001-api-display-roles-on-agenda-details-57103.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
J'ai fait en sorte que l'on puisse obtenir en retour les informations que l'on a poussées.
0001: afficher les permissions sur les agendas
(où je me dis que j'ai peut-être raté un truc avec les prefetchs)
0002: afficher minimal_booking_delay_in_working_days sur les agendas
je lis dans #55049 :
option présente uniquement pour un agenda events, mais je peux généraliser si besoin
et donc je l'ai laissée sur les agenda meetings.
0003: le endpoint POST
Mis à jour par Lauréline Guérin il y a plus de 2 ans
0001: ajoute edit_role et view_role dans le select_related de agendas_queryset
donc je l'ai laissée sur les agenda meetings
c'est dommage de laisser la possibilité de configurer un truc qui n'a pas d'effet
Les Roles sont settés d'après le name du rôle, c'est fiable ?
(il s'agit du model django Role, on ne dispose que de la pk et du name)
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Statut changé de Solution proposée à Information nécessaire
0002:
c'est dommage de laisser la possibilité de configurer un truc qui n'a pas d'effet
Oui je fais ça
(afficher et permettre de modifier minimal_booking_delay_in_working_days
uniquement sur les agendas événements).
0001:
Je pense que c'est nécessaire de pouvoir affecter les rôles via l'API de création de l'agenda.
Mais oui, je ne sais pas comment faire pour utiliser le modèle Role d'Authentic
(si vous avez des pistes je prend).
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Statut changé de Information nécessaire à En cours
Mis à jour par Nicolas Roche il y a plus de 2 ans
J'ai l'impression que je peux récupérer les UUID depuis le modèle défini dans l'agent de hobo.
from hobo.agent.common.models import Role
Malheureusement, cet import ne fonctionne pas via l'environnement de test.
Aussi, la table 'common_role' présente dans la base de chrono n'est pas disponible dans la base de test déployée par tox.
Est-ce que quelqu'un saurait me dire si cet ajout serait souhaitable, et le cas échéant quelle serait la façon de procéder ?
Mis à jour par Frédéric Péters il y a plus de 2 ans
Arrête-toi juste à pouvoir les poser via le nom, ne viens pas faire intervenir Hobo.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0002-api-display-minimal_booking_delay_in_working_days-on.patch 0002-api-display-minimal_booking_delay_in_working_days-on.patch ajouté
- Fichier 0001-api-display-roles-on-agenda-details-57103.patch 0001-api-display-roles-on-agenda-details-57103.patch ajouté
- Statut changé de En cours à Solution proposée
- Fichier 0003-api-add-post-method-on-agenda-endpoint-57103.patch 0003-api-add-post-method-on-agenda-endpoint-57103.patch ajouté
(afficher et permettre de modifier minimal_booking_delay_in_working_days uniquement sur les agendas événements).
Fait.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
0001, je trouverais un one liner type 'edit_role': agenda.edit_role.name if agenda.edit_role else None
préférable.
Pareil dans 0003, je ne comprends pas trop l'écriture de get_permissions
avec la liste en compréhension, là aussi la fonction pourrait faire une ligne en utilisant la forme ternaire je pense.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0003-api-add-post-method-on-agenda-endpoint-57103.patch 0003-api-add-post-method-on-agenda-endpoint-57103.patch ajouté
- Fichier 0002-api-display-minimal_booking_delay_in_working_days-on.patch 0002-api-display-minimal_booking_delay_in_working_days-on.patch ajouté
- Fichier 0001-api-display-roles-on-agenda-details-57103.patch 0001-api-display-roles-on-agenda-details-57103.patch ajouté
(je crois que Thomas n'est pas super fan des opérateurs ternaires, mais osef, il est en vacances.)
0001: fait.
0003: ça vient de là :
https://www.django-rest-framework.org/api-guide/viewsets/#introspecting-viewset-actions
J'ai laissé 2 lignes parce que je trouve plus lisible d'avoir la variable nommée pour comprendre que la fonction doit initier les objets.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Nicolas Roche a écrit :
0003: ça vient de là :
https://www.django-rest-framework.org/api-guide/viewsets/#introspecting-viewset-actions
Dac, et donc je trouve ce code tordu, j'aimerais mieux
def get_permissions(self): if self.request.method == 'GET': return [] else: return [permissions.IsAuthenticated()]
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0003-api-add-post-method-on-agenda-endpoint-57103.patch 0003-api-add-post-method-on-agenda-endpoint-57103.patch ajouté
Remarque prise en compte.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 25b5222dd449aedad215634cb7f4fccdcdbd1f12 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Mon Sep 27 17:26:40 2021 +0200 api: add post method on agenda endpoint (#57103) commit b9e6c9c55c656e0579c20302a8f8b4b65a5cb2fc Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Sep 28 18:24:06 2021 +0200 api: display minimal_booking_delay_in_working_days on meetings agenda details (#57103) commit b7811f5235bb000ff7c95945cc49d4caafdcdcbb Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Sep 28 17:44:50 2021 +0200 api: display roles on agenda details (#57103)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: display roles on agenda details (#57103)