def handle_save(self): data, errors = self.extractData() if errors: return errors session = Session() unternehmen = session.query(Unternehmen).get(data.get('mnr')) if not unternehmen: self.flash(u'Das Unternehmen mit der Mitgliedsnummer %s existiert nicht' % data.get('mnr')) return tn = Teilnehmer( name = data['name'], vorname = data['vorname'], passwort = data['passwort'], geburtsdatum = data['geburtsdatum'], ort = data['ort'], adresszusatz = data['adresszusatz'], plz = data['plz'], nr = data['nr'], strasse = data['strasse'], email = data['email'], anrede = data['anrede'], titel = data['titel'], telefon = data['telefon'], unternehmen_mnr=unternehmen.mnr, ) unternehmen.teilnehmer.append(tn) session.flush() flg = session.query(Fernlehrgang).get(data['fernlehrgang_id']) kursteilnehmer = Kursteilnehmer( fernlehrgang_id=data.get('fernlehrgang_id'), status=data.get('status'), erstell_datum=data.get('erstell_datum'), un_klasse = data.get('un_klasse'), branche = data.get('branche'), unternehmen_mnr=data['mnr']) kursteilnehmer.teilnehmer = tn flg.kursteilnehmer.append(kursteilnehmer) session.flush() from zope.event import notify from zope.lifecycleevent import ObjectAddedEvent notify(ObjectAddedEvent(tn)) self.flash('Der Teilnehmer wurde als Kursteilnehmer mit der ID %s angelegt.' % tn.id )
def handle_register(self): data, errors = self.extractData() if errors: return FAILURE if data.get('lehrgang') is not NO_VALUE: session = Session() kursteilnehmer = Kursteilnehmer( fernlehrgang_id=data.get('fernlehrgang_id'), status=data.get('status'), erstell_datum = data.get('erstell_datum'), un_klasse = data.get('un_klasse'), branche = data.get('branche'), unternehmen_mnr=self.context.unternehmen_mnr) kursteilnehmer.teilnehmer = self.context fernlehrgang = session.query(Fernlehrgang).filter( Fernlehrgang.id == kursteilnehmer.fernlehrgang_id).one() print "ADD Kursteilnehmer to Fernlehrgang" fernlehrgang.kursteilnehmer.append(kursteilnehmer) self.flash('Der Teilnehmer wurde als Kursteilnehmer mit der ID %s angelegt.' % kursteilnehmer.id ) else: self.flash('Es wurde kein Lehrgang spezifiziert.', type="warning") self.redirect(self.url(self.context))