Esempio n. 1
0
def workshop_edit(workshop_hash=None):
    workshop_data = {}
    user_data = check_auth()
    if workshop_hash:
        workshop_data = get_workshop(workshop_hash)

        if user_data['user_hash'] != workshop_data['user']:
            abort(403)  # uzivatel tohle nemuze editovat

    if request.method == "POST":
        form = WorkshopForm(request.form)
        if form.validate():
            old_hash = workshop_hash
            workshop_hash = create_or_update_workshop(form.data, workshop_hash)
            user_user_go(user_data)
            flash(u'Workshop byl uložen', 'success')
            if workshop_hash != old_hash:
                return redirect(url_for('workshop_edit', workshop_hash=workshop_hash))
    else:
        form = WorkshopForm(**workshop_data)
    return render_template(
        'workshop_form.html',
        informace=markdown_markup('pro-workshopisty'),
        form=form,
        workshop=workshop_data
    )
Esempio n. 2
0
def create_or_update_workshop(data, workshop_hash=None):
    user_data = check_auth()
    if workshop_hash is None:
        workshop_hash = get_workshop_hash(data)
        data['workshop_hash'] = workshop_hash
        data['status'] = 'waiting'
        # send workshop mail
        send_feedback_mail(
            u"Nový workshop: %s" % data['title'],
            "data/new-workshop.md",
            data,
            user_data,
            url_for(
                'workshop_detail',
                workshop_hash=workshop_hash,
                _external=True
            )
        )

    data.update({
        'user': user_data['user_hash'],
        'workshop_hash': workshop_hash,
    })

    app.redis.set(KEYS['workshop'] % workshop_hash, json.dumps(data))
    # zalozime hlasovani - bezpecne pres zincrby (namisto zadd s if podminkou)
    app.redis.zincrby(KEYS['workshops'], workshop_hash, 0)
    return workshop_hash
Esempio n. 3
0
def attend_add():
    user = check_auth()
    if user_user_go(user):
        flash(u'Na akci už jsi byl přihlášen dříve', 'success')
    else:
        flash(u'Nyní jsi přihlášen jako účastník akce', 'success')
    return redirect(url_for('index'))  # , _anchor="entrants"))
Esempio n. 4
0
def program_aktualne():
    t = times[::]
    t.insert(0, 
            {'block_from': time(18, 0), 'block_to': time(19, 0), 'date': date(2013, 6, 14),
            'data': Markup(u'<a href="/stranka/warmup/">Honza Řezáč</a>')}
    )
    t.insert(1, 
        {'block_from': time(20, 0), 'block_to': time(23, 59), 'date': date(2013, 6, 14),
            'data': Markup(u'<a href="/stranka/warmup/">Warm-up párty</a>')}
    )
    actual_date = datetime.now().date()
    actual_time = datetime.now().time()
    next_times = []
    for event in t:
        if (event['date'] == actual_date and event['block_to'] >= actual_time)\
                or event['date'] > actual_date:
            next_times.append(event)

    return render_template(
        'aktualne.html',
        menu=menu(),
        talks=get_talks_dict(),
        times=next_times,
        user=check_auth()
    )
Esempio n. 5
0
def login():
    next = session.get('next', None)
    if request.method == "POST":
        form = LoginForm(request.form)
        if form.validate():
            user_hash = resolve_user_by_email(
                form.data.get('email'),
                form.data.get('password'))
            if not user_hash:
                session['default_email'] = form.data.get('email')
                flash(
                    u'Neplatná kombinace e-mailu a hesla, zkuste to znovu.',
                    'warning')
            else:
                session.clear()
                session['user_hash'] = user_hash

    else:
        form = LoginForm()

    if check_auth():
        flash(u'Nyní jste přihlášen', 'success')
        return redirect(next or url_for('login_settings'))

    return render_template("login.html", form=form)
Esempio n. 6
0
def talk_edit(talk_hash=None):
    talk_data = {}
    user_data = check_auth()
    if talk_hash:
        talk_data = get_talk(talk_hash)

        if user_data['user_hash'] != talk_data['user']:
            abort(403)  # uzivatel tohle nemuze editovat

    if request.method == "POST":
        form = TalkForm(request.form)
        if form.validate():
            old_hash = talk_hash
            talk_hash = create_or_update_talk(form.data, talk_hash)
            user_user_go(user_data)
            flash(u'Přednáška byla uložena', 'success')
            if talk_hash != old_hash:
                return redirect(url_for('talk_edit', talk_hash=talk_hash))
    else:
        form = TalkForm(**talk_data)
    return render_template(
        'talk_form.html',
        informace=markdown_markup('pro-prednasejici'),
        form=form,
        talk=talk_data
    )
Esempio n. 7
0
def index():
    user = check_auth()
    user_hash = None
    if "PROGRAM_READY" in app.config['STAGES']:
        talks = get_talks_dict()
        extra_talks = []
    else:
        talks, extra_talks = get_talks()
        # bez razeni talks = sorted(talks, key=lambda x: x['title'])

    if user:
        user_hash = user['user_hash']

    stage_template = "index.html"
    if "END" in app.config['STAGES']:
        stage_template = "end.html"

    if "PREVIEW" in app.config['STAGES']:
        stage_template = "preview.html"

    return render_template(
        stage_template,
        user=user,
        menu=menu(),
        times=times,
        entrant_count=get_count(),
        entrants=get_entrants()[:50],
        user_votes=get_user_votes(user_hash),
        novinky=markdown_markup('novinky'),
        sponsors_main=markdown_markup('sponsors_main'),
        sponsors_medial=markdown_markup('sponsors_medial'),
        workshops=markdown_markup('workshopy-program'),
        sponsors=markdown_markup('sponsors'),
        talks=talks, extra_talks=extra_talks,
        talks_dict=get_talks_dict())
Esempio n. 8
0
def attend_add():
    user = check_auth()
    if user_user_go(user):
        flash(u"Na akci už jsi byl přihlášen dříve", "success")
    else:
        flash(u"Nyní jsi přihlášen jako účastník akce", "success")
    return redirect(url_for("index"))  # , _anchor="entrants"))
Esempio n. 9
0
def workshop_edit(workshop_hash=None):
    workshop_data = {}
    user_data = check_auth()
    if workshop_hash:
        workshop_data = get_workshop(workshop_hash)

        if user_data['user_hash'] != workshop_data['user']:
            abort(403)  # uzivatel tohle nemuze editovat

    if request.method == "POST":
        form = WorkshopForm(request.form)
        if form.validate():
            old_hash = workshop_hash
            workshop_hash = create_or_update_workshop(form.data, workshop_hash)
            user_user_go(user_data)
            flash(u'Workshop byl uložen', 'success')
            if workshop_hash != old_hash:
                return redirect(
                    url_for('workshop_edit', workshop_hash=workshop_hash))
    else:
        form = WorkshopForm(**workshop_data)
    return render_template('workshop_form.html',
                           informace=markdown_markup('pro-workshopisty'),
                           form=form,
                           workshop=workshop_data)
Esempio n. 10
0
def login():
    next = session.get('next', None)
    if request.method == "POST":
        form = LoginForm(request.form)
        if form.validate():
            user_hash = resolve_user_by_email(
                form.data.get('email'),
                form.data.get('password'))
            if not user_hash:
                session['default_email'] = form.data.get('email')
                flash(
                    u'Neplatná kombinace e-mailu a hesla, zkuste to znovu.',
                    'warning')
            else:
                session.clear()
                session['user_hash'] = user_hash

    else:
        form = LoginForm()

    if check_auth():
        flash(u'Nyní jste přihlášen', 'success')
        return redirect(next or url_for('login_settings'))

    return render_template("login.html", form=form)
Esempio n. 11
0
def program():
    return render_template(
        'program.html',
        menu=menu(),
        times=times,
        talks=get_talks_dict(),
        user=check_auth()
    )
Esempio n. 12
0
def entrants():
    return render_template(
        "entrants.html",
        user=check_auth(),
        menu=menu(),
        entrant_count=get_count(),
        entrants=reversed(get_entrants())
    )
Esempio n. 13
0
def sponsors():
    return render_template(
        "partneri.html",
        user=check_auth(),
        menu=menu(),
        sponsors_main=markdown_markup('sponsors_main'),
        sponsors=markdown_markup('sponsors'),
        sponsors_other=markdown_markup('sponsors_other'),
    )
Esempio n. 14
0
def talks_all():
    talks, extra_talks = get_talks()
    return render_template(
        "talks.html",
        user=check_auth(),
        menu=menu(),
        talks=talks,
        extra_talks=extra_talks
    )
Esempio n. 15
0
def plneni_newsletteru():
    user = check_auth()
    if user['email'] != u'*****@*****.**':
        abort(418)

    entrants = get_entrants()
    for entrant in entrants:
        app.redis.sadd('newsletter', entrant['email'])

    return 'omg'
Esempio n. 16
0
def workshop_delete(workshop_hash):
    workshop_data = get_workshop(workshop_hash)
    user_data = check_auth()

    if user_data['user_hash'] != workshop_data['user']:
        abort(403)  # uzivatel nema pravo

    app.redis.delete(KEYS['workshop'] % workshop_hash)
    app.redis.zrem(KEYS['workshops'], workshop_hash)
    flash(u'Workshop byl smazán', 'success')
    return redirect(url_for('index'))
Esempio n. 17
0
def talk_detail(talk_hash):
    talk = get_talk(talk_hash)
    if not talk:
        abort(404)

    author = get_account(talk['user'])

    return render_template('talk_detail.html',
                           talk=talk,
                           author=author,
                           user=check_auth())
Esempio n. 18
0
def talk_delete(talk_hash):
    talk_data = get_talk(talk_hash)
    user_data = check_auth()

    if user_data['user_hash'] != talk_data['user']:
        abort(403)  # uzivatel nema pravo

    app.redis.delete(KEYS['talk'] % talk_hash)
    app.redis.zrem(KEYS['talks'], talk_hash)
    flash(u'Přednáška byla smazána', 'success')
    return redirect(url_for('index'))
Esempio n. 19
0
def login_settings():
    user = check_auth()
    if request.method == "POST":
        form = SettingsForm(request.form)
        if form.validate():
            create_update_profile(form.data, user['user_hash'])
            flash(u'Profil aktualizován', 'success')
            return redirect(url_for('login_settings'))
    else:
        form = SettingsForm(**user)
    return render_template('nastaveni.html', user=user, form=form)
Esempio n. 20
0
def workshop_delete(workshop_hash):
    workshop_data = get_workshop(workshop_hash)
    user_data = check_auth()

    if user_data['user_hash'] != workshop_data['user']:
        abort(403)  # uzivatel nema pravo

    app.redis.delete(KEYS['workshop'] % workshop_hash)
    app.redis.zrem(KEYS['workshops'], workshop_hash)
    flash(u'Workshop byl smazán', 'success')
    return redirect(url_for('index'))
Esempio n. 21
0
def test_newsletteru():
    user = check_auth()
    if user['email'] != u'*****@*****.**':
        abort(418)

    send_mail(
        u'Barcamp Brno 2013, ohlédnutí za akcí',
        '*****@*****.**',
        'data/newsletter.md')

    return 'uff'
Esempio n. 22
0
def profile(user_hash):
    data = get_account(user_hash)
    if not data:
        abort(404)

    return render_template(
        'profil.html',
        user=check_auth(),
        menu=menu(),
        profile=data
    )
Esempio n. 23
0
def mexico_tequilla():
    user = check_auth()
    if user['email'] != u'*****@*****.**':
        abort(418)

    talks = get_talks()
    for talk in talks:
        user_user_go(talk['user'])

    flash(u'Prezentující přidáni jako účastníci')
    return redirect(url_for('index'))
Esempio n. 24
0
def talk_delete(talk_hash):
    talk_data = get_talk(talk_hash)
    user_data = check_auth()

    if user_data['user_hash'] != talk_data['user']:
        abort(403)  # uzivatel nema pravo

    app.redis.delete(KEYS['talk'] % talk_hash)
    app.redis.zrem(KEYS['talks'], talk_hash)
    flash(u'Přednáška byla smazána', 'success')
    return redirect(url_for('index'))
Esempio n. 25
0
def login_settings():
    user = check_auth()
    if request.method == "POST":
        form = SettingsForm(request.form)
        if form.validate():
            create_update_profile(form.data, user['user_hash'])
            flash(u'Profil aktualizován', 'success')
            return redirect(url_for('login_settings'))
    else:
        form = SettingsForm(**user)
    return render_template('nastaveni.html', user=user, form=form)
Esempio n. 26
0
def talk_detail(talk_hash):
    talk = get_talk(talk_hash)
    if not talk:
        abort(404)

    author = get_account(talk['user'])

    return render_template(
        'talk_detail.html',
        talk=talk,
        author=author,
        user=check_auth())
Esempio n. 27
0
def attend_remove():
    user = check_auth()
    if not user.get('going_%s' % app.config['YEAR'], False):
        flash(u'Na akci jsi doposud nebyl přihlášen', 'warning')
    else:
        user['going_%s' % app.config['YEAR']] = False
        create_update_profile(user, user['user_hash'])
        app.redis.zrem(KEYS['entrants'], user['user_hash'])
        app.redis.decr(KEYS['entrant_count'])
        remove_user_votes(user['user_hash'])
        flash(u'Již nejsi přihlášen na akci', 'success')
    return redirect(url_for('index'))  # , _anchor="entrants"))
Esempio n. 28
0
def attend_remove():
    user = check_auth()
    if not user.get('going', False):
        flash(u'Na akci jsi doposud nebyl přihlášen', 'warning')
    else:
        user['going'] = False
        create_update_profile(user, user['user_hash'])
        app.redis.zrem(KEYS['entrants'], user['user_hash'])
        app.redis.decr(KEYS['entrant_count'])
        remove_user_votes(user['user_hash'])
        flash(u'Již nejsi přihlášen na akci', 'success')
    return redirect(url_for('index'))  # , _anchor="entrants"))
Esempio n. 29
0
def attend_remove():
    user = check_auth()
    if not user.get("going_%s" % app.config["YEAR"], False):
        flash(u"Na akci jsi doposud nebyl přihlášen", "warning")
    else:
        user["going_%s" % app.config["YEAR"]] = False
        create_update_profile(user, user["user_hash"])
        app.redis.zrem(KEYS["entrants"], user["user_hash"])
        app.redis.decr(KEYS["entrant_count"])
        remove_user_votes(user["user_hash"])
        flash(u"Již nejsi přihlášen na akci", "success")
    return redirect(url_for("index"))  # , _anchor="entrants"))
Esempio n. 30
0
def markdown_static_page(uri):
    pages = Pages(app.redis, app.config['YEAR'])
    page = pages.get(uri)

    if not page:
        abort(404)

    return render_template(
        '_markdown.html',
        content=Markup(markdown.markdown(page['body'])),
        title=page['title'],
        user=check_auth())
Esempio n. 31
0
def markdown_static_page(page):
    try:
        with open('data/brno2013/%s.md' % page) as f:
            raw_data = f.read().decode('utf-8')
            content = Markup(markdown.markdown(raw_data))
    except:
        raise

    if not content:
        abort(404)

    return render_template('_markdown.html',
                           content=content,
                           user=check_auth())
Esempio n. 32
0
def talk_edit(talk_hash=None):
    talk_data = {}
    if talk_hash:
        talk_data = get_talk(talk_hash)
        user_data = check_auth()

        if user_data['user_hash'] != talk_data['user']:
            abort(403)  # uzivatel tohle nemuze editovat

    if request.method == "POST":
        form = TalkForm(request.form)
        if form.validate():
            old_hash = talk_hash
            talk_hash = create_or_update_talk(form.data, talk_hash)
            flash(u'Přednáska byla uložena', 'success')
            if talk_hash != old_hash:
                return redirect(url_for('talk_edit', talk_hash=talk_hash))
    else:
        form = TalkForm(**talk_data)
    return render_template('talk_form.html',
                           form=form,
                           user=check_auth(),
                           talk=talk_data)
Esempio n. 33
0
def create_or_update_talk(data, talk_hash=None):
    user_data = check_auth()
    if talk_hash is None:
        talk_hash = get_talk_hash(data)
        data['talk_hash'] = talk_hash

    data.update({
        'user': user_data['user_hash'],
        'talk_hash': talk_hash,
    })

    app.redis.set(KEYS['talk'] % talk_hash, json.dumps(data))
    # zalozime hlasovani - bezpecne pres zincrby (namisto zadd s if podminkou)
    app.redis.zincrby(KEYS['talks'], talk_hash, 0)
    return talk_hash
Esempio n. 34
0
def markdown_static_page(page):
    try:
        with open('data/brno2013/%s.md' % page) as f:
            raw_data = f.read().decode('utf-8')
            content = Markup(markdown.markdown(raw_data))
    except:
        raise

    if not content:
        abort(404)

    return render_template(
        '_markdown.html',
        content=content,
        user=check_auth())
Esempio n. 35
0
def talks_all():
    user = check_auth()
    user_hash = None

    if stage_is_active(app.config['YEAR'], 'PROGRAM'):
        talks = get_talks_dict()
    else:
        talks = get_talks_by_type()

    if user:
        user_hash = user['user_hash']

    return render_template("talks.html",
                           talks=talks,
                           times=times,
                           user_votes=get_user_votes(user_hash))
Esempio n. 36
0
def my_invoices():
    user = check_auth()
    user_invoices = app.redis.smembers(KEYS['user_invoices'] %
                                       user['user_hash'])
    invoices = []
    if user_invoices:
        invoices = sorted(filter(
            lambda x: bool(x),
            map(lambda invoice: json.loads(invoice or 'false'),
                app.redis.mget(user_invoices))),
                          key=lambda x: x['number'],
                          reverse=True)
    return render_template('moje-objednavky.html',
                           user=user,
                           invoices=invoices,
                           sizes=SIZES)
Esempio n. 37
0
def poslani_newsletteru():
    user = check_auth()
    if user['email'] != u'*****@*****.**':
        abort(418)

    for mail in app.redis.smembers('newsletter'):
        print mail
        app.redis.srem('newsletter', mail)
        continue

        send_mail(
            u'Barcamp Brno 2013, ohlédnutí za akcí',
            '', #mail,
            'data/newsletter.md')

    return 'omg2'
Esempio n. 38
0
def create_or_update_talk(data, talk_hash=None):
    user_data = check_auth()
    print data
    if talk_hash is None:
        talk_hash = get_talk_hash(data)
        data['talk_hash'] = talk_hash

    data.update({
        'user': user_data['user_hash'],
        'talk_hash': talk_hash,
    })

    app.redis.set(KEYS['talk'] % talk_hash, json.dumps(data))
    if not app.redis.zrank(KEYS['talks'], talk_hash):
        app.redis.zadd(KEYS['talks'], talk_hash, 0)
    return talk_hash
Esempio n. 39
0
def create_or_update_talk(data, talk_hash=None):
    user_data = check_auth()
    print data
    if talk_hash is None:
        talk_hash = get_talk_hash(data)
        data['talk_hash'] = talk_hash

    data.update({
        'user': user_data['user_hash'],
        'talk_hash': talk_hash,
    })

    app.redis.set(KEYS['talk'] % talk_hash, json.dumps(data))
    if not app.redis.zrank(KEYS['talks'], talk_hash):
        app.redis.zadd(KEYS['talks'], talk_hash, 0)
    return talk_hash
Esempio n. 40
0
def talk_detail(talk_hash):
    talk = get_talk(talk_hash)
    if not talk:
        abort(404)

    author = get_account(talk['user'])

    user = check_auth()
    user_hash = None

    if user:
        user_hash = user['user_hash']

    return render_template('talk_detail.html',
                           talk=talk,
                           user_votes=get_user_votes(user_hash),
                           author=author)
Esempio n. 41
0
def markdown_static_page(page):
    try:
        with open('data/%s/%s.md' % (app.config['YEAR'], page)) as f:
            raw_data = f.read().decode('utf-8')
            content = Markup(markdown.markdown(raw_data))
    except:
        content = None
        if app.debug:
            raise

    if content is None:
        abort(404)

    return render_template(
        '_markdown.html',
        content=content,
        user=check_auth())
Esempio n. 42
0
def index():
    user = check_auth()
    user_hash = None
    talks, extra_talks = get_talks()
    if user:
        user_hash = user['user_hash']
    return render_template(
        "index.html",
        user=user,
        menu=menu(),
        times=times,
        entrant_count=get_count(),
        entrants=get_entrants()[50:0:-1],
        #user_votes=get_user_votes(user_hash),
        sponsors_main=markdown_markup('sponsors_main'),
        sponsors=markdown_markup('sponsors'),
        talks=get_talks_dict())
Esempio n. 43
0
def invoices():
    user = check_auth()
    if request.method == "POST":
        form = InvoiceForm(request.form)
        if form.validate():
            invoice = form.data
            invoice['total_price'] = sum([UNIT_PRICE * invoice.get(size, 0) for size in SIZES])
            invoice = insert_invoice(invoice, user)
            flash(u'Objednávka číslo {number} za {total_price} kč zaznamenána'.format(**invoice), 'success')
            user_user_go(user)
            return redirect(url_for('my_invoices'))
    else:
        default = dict((size, 0) for size in SIZES)
        default['name'] = user['name']
        default['email'] = user['email']
        form = InvoiceForm(** default)
    return render_template('objednavka.html',
        user=user, form=form, shirt_price=UNIT_PRICE)
Esempio n. 44
0
def vote_for_talk(talk_hash):
    user = check_auth()
    user_hash = user['user_hash']
    old_votes = app.redis.smembers(KEYS['votes'] % user_hash) or set()

    method = request.args.get('method', 'decrease')
    if method == 'increase' and talk_hash not in old_votes:
        app.redis.zincrby(KEYS['talks'], talk_hash, 1)
        app.redis.sadd(KEYS['votes'] % user_hash, talk_hash)

    if method == 'decrease' and talk_hash in old_votes:
        app.redis.zincrby(KEYS['talks'], talk_hash, -1)
        app.redis.srem(KEYS['votes'] % user_hash, talk_hash)

    if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
        return str(int(app.redis.zscore(KEYS['talks'], talk_hash)) or 0)

    flash(u'Hlas byl zaznamenán', 'success')
    return redirect(url_for('talks_all'))
Esempio n. 45
0
def talk_detail(talk_hash):
    talk = get_talk(talk_hash)
    if not talk:
        abort(404)

    author = get_account(talk['user'])

    user = check_auth()
    user_hash = None

    if user:
        user_hash = user['user_hash']

    return render_template(
        'talk_detail.html',
        talk=talk,
        user_votes=get_user_votes(user_hash),
        author=author
    )
Esempio n. 46
0
def my_invoices():
    user = check_auth()
    user_invoices = app.redis.smembers(KEYS['user_invoices'] % user['user_hash'])
    invoices = []
    if user_invoices:
        invoices = sorted(
            filter(
                lambda x: bool(x),
                map(
                    lambda invoice: json.loads(invoice or 'false'),
                    app.redis.mget(
                        user_invoices
                    )
                )
            ),
            key=lambda x: x['number'],
            reverse=True
        )
    return render_template('moje-objednavky.html', user=user, invoices=invoices, sizes=SIZES)
Esempio n. 47
0
def create_or_update_talk(data, talk_hash=None):
    user_data = check_auth()
    if talk_hash is None:
        talk_hash = get_talk_hash(data)
        data['talk_hash'] = talk_hash
        # send talk mail
        send_feedback_mail(
            u"Nová přednáška: %s" % data['title'], "data/new-talk.md", data,
            user_data,
            url_for('talk_detail', talk_hash=talk_hash, _external=True))

    data.update({
        'user': user_data['user_hash'],
        'talk_hash': talk_hash,
    })

    app.redis.set(KEYS['talk'] % talk_hash, json.dumps(data))
    # zalozime hlasovani - bezpecne pres zincrby (namisto zadd s if podminkou)
    app.redis.zincrby(KEYS['talks'], talk_hash, 0)
    return talk_hash
Esempio n. 48
0
def invoices():
    user = check_auth()
    if request.method == "POST":
        form = InvoiceForm(request.form)
        if form.validate():
            invoice = form.data
            invoice['total_price'] = sum(
                [UNIT_PRICE * invoice.get(size, 0) for size in SIZES])
            invoice = insert_invoice(invoice, user)
            flash(
                u'Objednávka číslo {number} za {total_price} kč zaznamenána'.
                format(**invoice), 'success')
            user_user_go(user)
            return redirect(url_for('my_invoices'))
    else:
        default = dict((size, 0) for size in SIZES)
        default['name'] = user['name']
        default['email'] = user['email']
        form = InvoiceForm(**default)
    return render_template('objednavka.html',
                           user=user,
                           form=form,
                           shirt_price=UNIT_PRICE)
Esempio n. 49
0
def create_or_update_workshop(data, workshop_hash=None):
    user_data = check_auth()
    if workshop_hash is None:
        workshop_hash = get_workshop_hash(data)
        data['workshop_hash'] = workshop_hash
        data['status'] = 'waiting'
        # send workshop mail
        send_feedback_mail(
            u"Nový workshop: %s" % data['title'], "data/new-workshop.md", data,
            user_data,
            url_for('workshop_detail',
                    workshop_hash=workshop_hash,
                    _external=True))

    data.update({
        'user': user_data['user_hash'],
        'workshop_hash': workshop_hash,
    })

    app.redis.set(KEYS['workshop'] % workshop_hash, json.dumps(data))
    # zalozime hlasovani - bezpecne pres zincrby (namisto zadd s if podminkou)
    app.redis.zincrby(KEYS['workshops'], workshop_hash, 0)
    return workshop_hash
Esempio n. 50
0
def index():
    return render_template("index.html", user=check_auth(), talks=get_talks())
Esempio n. 51
0
def user():
    return {'user': check_auth()}
Esempio n. 52
0
def login_settings():
    #TODO formular na ukladani detailu uzivatele
    return render_template('nastaveni.html', user=check_auth())
Esempio n. 53
0
def test():
    return render_template("page.html", user=check_auth())