Esempio n. 1
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
Esempio n. 2
0
 def post(self):
     """
     Anlegen eines neuen GruppenTeilnahme-Objekts.
     Die vom Client gesendeten Daten werden über die in jeder BO-Klasse verfügbaren Methode from_dict in das
     jeweilige BO überführt und anschließend in die Datenbank geschrieben.
     """
     adm = Admin()
     proposal = GruppenTeilnahme.from_dict(api.payload)
     if proposal is not None:
         gt = adm.create_gruppen_teilnahme(
             proposal.get_person_id(),
             proposal.get_gruppen_id(),
             proposal.get_ist_admin(),
         )
         return gt, 200
     else:
         return "", 500