Projet

Général

Profil

Development #57103

API de création d'un agenda

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
20 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Rien de bien particulier ici je pense.


Fichiers

0002-api-display-minimal_booking_delay_in_working_days-on.patch (6,99 ko) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 28 septembre 2021 18:48
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8,53 ko) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 28 septembre 2021 18:48
0001-api-display-roles-on-agenda-details-57103.patch (11,8 ko) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 28 septembre 2021 18:48
0002-api-display-minimal_booking_delay_in_working_days-on.patch (3,6 ko) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 01 octobre 2021 17:06
0003-api-add-post-method-on-agenda-endpoint-57103.patch (9,06 ko) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 01 octobre 2021 17:06
0001-api-display-roles-on-agenda-details-57103.patch (12,1 ko) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 01 octobre 2021 17:06
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8,96 ko) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 05 octobre 2021 18:35
0002-api-display-minimal_booking_delay_in_working_days-on.patch (3,64 ko) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 05 octobre 2021 18:35
0001-api-display-roles-on-agenda-details-57103.patch (11,7 ko) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 05 octobre 2021 18:35
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8,91 ko) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 06 octobre 2021 10:52

Révisions associées

Révision b7811f52 (diff)
Ajouté par Nicolas Roche il y a plus de 2 ans

api: display roles on agenda details (#57103)

Révision b9e6c9c5 (diff)
Ajouté par Nicolas Roche il y a plus de 2 ans

api: display minimal_booking_delay_in_working_days on meetings agenda details (#57103)

Révision 25b5222d (diff)
Ajouté par Nicolas Roche il y a plus de 2 ans

api: add post method on agenda endpoint (#57103)

Historique

#2

Mis à jour par Nicolas Roche il y a plus de 2 ans

  • Assigné à mis à Nicolas Roche
#3

Mis à jour par Nicolas Roche il y a plus de 2 ans

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

#4

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)

#5

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).

#6

Mis à jour par Nicolas Roche il y a plus de 2 ans

  • Statut changé de Information nécessaire à En cours
#7

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 ?

#8

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.

#9

Mis à jour par Nicolas Roche il y a plus de 2 ans

(afficher et permettre de modifier minimal_booking_delay_in_working_days uniquement sur les agendas événements).

Fait.

#10

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.

#11

Mis à jour par Nicolas Roche il y a plus de 2 ans

(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.

#13

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()]

#15

Mis à jour par Valentin Deniaud il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée
#16

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)
#17

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

Formats disponibles : Atom PDF