예제 #1
0
    def get(self, id):
        """Auslesen eines bestimmten GruppenVorschlag-Objekts.

        Das auszulesende Objekt wird durch die ```id``` in dem URI bestimmt.
        """
        adm = Admin()
        return adm.get_gruppenvorschlag_by_id(id)
예제 #2
0
    def delete(self, id):
        """Löschen eines bestimmten GruppenVorschlag-Objekts.

        Das zu löschende Objekt wird durch die ```id``` in dem URI bestimmt.
        """
        adm = Admin()
        pv = adm.get_gruppenvorschlag_by_id(id)
        adm.delete_gruppenvorschlag(pv)
        return "", 200
예제 #3
0
    def put(self, id):
        """Update eines bestimmten GruppenVorschlag-Objekts.

        Die über die URI übermittelte ID überschreibt das ID-Attribut des im Payload der Anfrage übermittelten
        Objekts.
        """
        adm = Admin()
        p = GruppenVorschlag.from_dict(api.payload)

        if p is not None:
            p.set_id(id)
            adm.save_gruppenvorschlag(p)
            vorschlag = adm.get_gruppenvorschlag_by_id(p.get_id())
            aktuelle_lerngruppe = adm.get_lerngruppe_by_id(vorschlag.get_gruppen_id())
            if vorschlag.get_matchpoints() >= 2:
                adm.create_gruppen_teilnahme(
                    vorschlag.get_person_id(), vorschlag.get_gruppen_id(), False
                )
                adm.create_chatteilnahme(
                    vorschlag.get_person_id(), aktuelle_lerngruppe.get_konversation_id()
                )
            return "", 200
        else:
            return "", 500