Exemplo n.º 1
0
 def post(self):
     """Semester erstellen"""
     adm = ProjectAdministration()
     proposal = Semester.from_dict(api.payload)
     if proposal is not None:
         c = adm.create_semester(proposal.get_name(),
                                 proposal.get_current_semester())
         return c, 200
     else:
         return '', 500
Exemplo n.º 2
0
    def put(self, id):
        """Semester wird aktualisiert"""
        adm = ProjectAdministration()
        semester = Semester.from_dict(api.payload)

        if semester is None:
            return "Semester konnte nicht geändert werden", 500

        else:
            semester.set_id(id)
            adm.save_semester(semester)
            return "Semester wurde erfolgreich geändert", 200
Exemplo n.º 3
0
    def put(self, id):
        """Update eines bestimmten Semester-Objekts.

        """
        adm = ProjectAdministration()
        sem = Semester.from_dict(api.payload)

        if sem is not None:
            sem.set_id(id)
            adm.save_semester(sem)
            return '', 200
        else:
            return '', 500
Exemplo n.º 4
0
    def post (self):
        """Anlegen eines neuen Semester-Objekts."""
        adm = ProjektAdministration()
        semester = Semester.from_dict(api.payload)

        if semester is not None:
            """ Wir verwenden semester des Proposals für
             die Erzeugung eines Modul-Objekts. Das serverseitig erzeugte 
             Objekt ist das maßgebliche und  wird auch dem Client zurückgegeben. """
            m = adm.create_semester(semester)
            return m, 200
        else: 
            """ Wenn irgendetwas schiefgeht, dann geben wir nichts zurück und
            werfen einen Server-Fehler. """
            return '', 500
Exemplo n.º 5
0
    def post(self):
        """Anlegen eines neuen Semester-Objekts.

        **ACHTUNG:** Wir fassen die vom Client gesendeten Daten als Vorschlag auf.
        So ist zum Beispiel die Vergabe der ID nicht Aufgabe des Clients.
        Selbst wenn der Client eine ID in dem Proposal vergeben sollte, so
        liegt es an der BankAdministration (Businesslogik), eine korrekte ID
        zu vergeben. *Das korrigierte Objekt wird schließlich zurückgegeben.*
        """
        adm = ProjectAdministration()

        se = Semester.from_dict(api.payload)
        """RATSCHLAG: Prüfen Sie stets die Referenzen auf valide Werte, bevor Sie diese verwenden!"""
        if se is not None:
            """ Wir verwenden id, evaluator, to_be_assessed, passed, grade des Proposals für die Erzeugung
            eines Customer-Objekts. Das serverseitig erzeugte Objekt ist das maßgebliche und 
            wird auch dem Client zurückgegeben. 
            """
            s = adm.create_semester(se.get_creation_time(), se.get_name(),
                                    se.get_start(), se.get_end())
            return s, 200
        else:
            # Wenn irgendetwas schiefgeht, dann geben wir nichts zurück und werfen einen Server-Fehler.
            return '', 500