Project

General

Profile

Development #57103

API de création d'un agenda

Added by Frédéric Péters 4 months ago. Updated 4 months ago.

Status:
Solution déployée
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
20 Sep 2021
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Rien de bien particulier ici je pense.


Files

0002-api-display-minimal_booking_delay_in_working_days-on.patch (6.99 KB) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 28 Sep 2021 06:48 PM
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8.53 KB) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 28 Sep 2021 06:48 PM
0001-api-display-roles-on-agenda-details-57103.patch (11.8 KB) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 28 Sep 2021 06:48 PM
0002-api-display-minimal_booking_delay_in_working_days-on.patch (3.6 KB) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 01 Oct 2021 05:06 PM
0003-api-add-post-method-on-agenda-endpoint-57103.patch (9.06 KB) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 01 Oct 2021 05:06 PM
0001-api-display-roles-on-agenda-details-57103.patch (12.1 KB) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 01 Oct 2021 05:06 PM
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8.96 KB) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 05 Oct 2021 06:35 PM
0002-api-display-minimal_booking_delay_in_working_days-on.patch (3.64 KB) 0002-api-display-minimal_booking_delay_in_working_days-on.patch Nicolas Roche, 05 Oct 2021 06:35 PM
0001-api-display-roles-on-agenda-details-57103.patch (11.7 KB) 0001-api-display-roles-on-agenda-details-57103.patch Nicolas Roche, 05 Oct 2021 06:35 PM
0003-api-add-post-method-on-agenda-endpoint-57103.patch (8.91 KB) 0003-api-add-post-method-on-agenda-endpoint-57103.patch Nicolas Roche, 06 Oct 2021 10:52 AM

Associated revisions

Revision b7811f52 (diff)
Added by Nicolas Roche 4 months ago

api: display roles on agenda details (#57103)

Revision b9e6c9c5 (diff)
Added by Nicolas Roche 4 months ago

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

Revision 25b5222d (diff)
Added by Nicolas Roche 4 months ago

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

History

#2

Updated by Nicolas Roche 4 months ago

  • Assignee set to Nicolas Roche
#3

Updated by Nicolas Roche 4 months ago

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

Updated by Lauréline Guerin 4 months ago

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

Updated by Nicolas Roche 4 months ago

  • Status changed from Solution proposée to 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

Updated by Nicolas Roche 4 months ago

  • Status changed from Information nécessaire to En cours
#7

Updated by Nicolas Roche 4 months ago

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

Updated by Frédéric Péters 4 months ago

Arrête-toi juste à pouvoir les poser via le nom, ne viens pas faire intervenir Hobo.

#10

Updated by Valentin Deniaud 4 months ago

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

Updated by Nicolas Roche 4 months ago

(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

Updated by Valentin Deniaud 4 months ago

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

Updated by Valentin Deniaud 4 months ago

  • Status changed from Solution proposée to Solution validée
#16

Updated by Nicolas Roche 4 months ago

  • Status changed from Solution validée to 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

Updated by Frédéric Péters 4 months ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF