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
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