Projet

Général

Profil

Development #8749

Agora+ : système d'un sas dans passerelle

Ajouté par Thomas Noël il y a plus de 8 ans. Mis à jour il y a presque 6 ans.

Statut:
Fermé
Priorité:
Haut
Assigné à:
Version cible:
-
Début:
21 octobre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

webservice :
  • POST /sas/ : family: / child: / contact:
Lors du GET family:
  • si la famille n'est pas dans agora+ : prendre celle du SAS
  • si la famille est dans agora+ :
    • si elle existait dans le SAS (cf ci-dessous), ajouter un id_old = id dans le sas
    • pour les enfants agora+, regarder s'il avaient pas un identifiant dans le SAS, et l'ajouter ("id_old": ...)
    • même chose pour les contacts
    • compléter les enfants avec ceux du SAS, le cas échéant
    • compléter les contacts avec ceux du SAS, le cas échéant
Lors d'un POST vers Agora+, retenir la liaison Agora+/SAS :
  • si création d'une famille depuis le SAS, faire la liaison id (id dans agora+) <-> id_sas (id_old)

Fichiers

Révisions associées

Révision 54605af0 (diff)
Ajouté par Thomas Noël il y a plus de 8 ans

agoraplus: create a sas system (#8749)

This requires reviewing some access management in views.py, as even a
NameID which is not linked with an Agora+ family can have a family in
the sas.

Révision 87fd70fe (diff)
Ajouté par Thomas Noël il y a plus de 8 ans

agoraplus: push family from sas to agora+ (#8749)

Historique

#1

Mis à jour par Thomas Noël il y a plus de 8 ans

Je partirai sur ça :

SAS_KIND_OF_VALUES = (
    ('ADULT', 'ADULT'),
    ('CHILD', 'CHILD'),
    ('CONTACT', 'CONTACT'),
    ('DETAIL', 'DETAIL'),
)

class AgoraPlusSas(models.Model):
    resource = models.ForeignKey(AgoraPlus)
    name_id = models.CharField(blank=False, max_length=256)  # Publik user key
    kind = models.CharField(blank=False, max_length=8, choices=SAS_KIND_OF_VALUES)
    agoraplus_id = models.CharField(blank=True, max_length=16)
    value = JSONField(blank=True)
À partir d'un NameID on a donc :
  • la liste des adultes/enfants/contacts/détails dans le SAS (quand agoraplus_id=''). Leur "sas_id" sera "_sas_<pk>"
  • la liste des choses qui étaient dans le sas (agoraplus_id)

Les infos de type 'DETAIL' sont les infos liées à la famille elle-même (le champ "Informations complementaires" de Agora+).

#2

Mis à jour par Thomas Noël il y a plus de 8 ans

Et sur le principe :


children = agora.get_children(family_id=...)

for child in children:
    child.id = sas.get_id(agoraplus_id=child.id) or child.id

children.extend(sas.get_enfants_pas_dans_agora(family_id=...))

#3

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

(je sais que j'ai écrit ça mais ça doit être un peu différent si on veut permettre des modifs dans le sas)

#4

Mis à jour par Thomas Noël il y a plus de 8 ans

Frédéric Péters a écrit :

(je sais que j'ai écrit ça mais ça doit être un peu différent si on veut permettre des modifs dans le sas)

A priori, non.

#5

Mis à jour par Thomas Noël il y a plus de 8 ans

Voici l'étape 1, qui lit les infos dans le sas lorsqu'elles existent.

(au passage, je ne suis pas sûr que le mot "sas" existe en anglais, y'a peut-être une autre façon de dire ?)

#6

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Sujet changé de Agora+ : système d'une SAS dans passerelle à Agora+ : système d'un sas dans passerelle
#7

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Thomas Noël a écrit :

Voici l'étape 1, qui lit les infos dans le sas lorsqu'elles existent.

(au passage, je ne suis pas sûr que le mot "sas" existe en anglais, y'a peut-être une autre façon de dire ?)

http://dictionnaire.reverso.net/francais-anglais/sas :

   [+sous-marin, engin spatial]   airlock
   [+banque]   security door, double door  
→ j'ai failli rester coincé dans le sas de la banque        
   [+écluse]   lock

#8

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 54605af0f80902dbcb4dd7b3e7aae1f771b7808d
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Wed Oct 28 19:37:17 2015 +0100

    agoraplus: create a sas system (#8749)

    This requires reviewing some access management in views.py, as even a
    NameID which is not linked with an Agora+ family can have a family in
    the sas.

#9

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF