Esempio n. 1
0
def edit(username):
    """ Edit a smiley's data """
    person = PeopleModel.get_by_key_name(username.lower())
    if person and person.password:
        if 'username' in session and session['username'] == username:
            form = EditForm()
            if form.validate_on_submit():
                if form.delete.data:
                    person.delete()
                    return redirect(url_for('home'))
                else:
                    updated_person = PeopleModel(
                            key_name = person.name,
                            name = person.name,
                            startdate = form.startdate.data,
                            enddate = form.enddate.data,
                            password = person.password
                            )
                    updated_person.put()
                    return redirect(url_for('home') + person.name.encode("utf-8"))
            startdate = person.startdate
            enddate = person.enddate
            return render_template('edit.html', name=username, form=form, startdate=startdate, enddate=enddate)
        else:
            return redirect(url_for('home')+username+'/auth')
    else:
        abort(404)
Esempio n. 2
0
def new_smiley():
    """ Input info for new user """
    in_use = []
    people = PeopleModel.all()
    for person in people:
        in_use.append(person.name)
    reservered = [u'new', u'debug', u'debug-people', u'home', u'about']

    form = PeopleForm()
    if form.validate_on_submit():
        person = PeopleModel(
                key_name = form.name.data.lower(),
                name = form.name.data.lower(),
                startdate = form.startdate.data,
                enddate = form.enddate.data,
                password = generate_password_hash(form.password.data)
                )
        person.name = slugify(person.name)
        if form.password.data == "":
            person.password = ""
        if unicode(person.name) not in in_use and (unicode(person.name) not in reservered):
                try:
                        person.put()
                        flash(unicode(person.name), 'success')
                        mail.send_mail(sender="Neuer Nutzer! <*****@*****.**>",\
                                to = "<*****@*****.**>", subject="Neuer Benutzer!", body=person.name)
                        return redirect(url_for('home') + person.name.encode("utf-8"))
                except CapabilityDisabledError:
                        flash(u'App Engine Datastore is currently in read-only mode.', 'failure')
                        return redirect(url_for('list_examples'))
        else:
            flash(u'Der Name ist leider schon reserviert, probiere doch einfach einen anderen')
            return redirect(url_for('new_smiley'))
    return render_template('setup.html', form=form)