Example #1
0
def new_saying():
    logi('new saying')
    try:
        validate_saying()
    except ValueError, e:
        logi('new saying: validation error errors=%s', e.errors.keys())
        (public, private) = sayings.find_all_group_by_publication()
        return render_template('admin/saying.html', public_saying=public,
                private_saying=private, errors=e.errors)
Example #2
0
File: general.py Project: kzkn/fc
def forcelogin():
    passwd = request.args.get('k')
    if do_login(passwd):
        logi('login successed')
        return redirect(url_for('general.index'))
    else:
        logi('login failed')
        error_message(u'ログインできません。パスワードが間違っています。')
        return redirect(url_for('general.login'))
Example #3
0
def delete_schedule(id, module):
    if request.method == 'GET':
        s = scheds.from_row(scheds.find_by_id(id))
        return render_template(module['delete_template'], schedule=s)
    else:
        if is_yes():
            logi('delete schedule: type=%d, sid=%d', module['type'], id)
            scheds.delete_by_id(id)
        else:
            logi('not delete schedule: type=%d, sid=%d', module['type'], id)
        return redirect(url_for(module['index']))
Example #4
0
def delete_member(id):
    if request.method == 'GET':
        user = users.find_by_id(id)
        return render_template('admin/delete_member.html', user=user)
    else:
        if is_yes():
            logi('delete member: uid=%d', id)
            users.delete_by_id(id)
        else:
            logi('not delete member: uid=%d', id)
        return redirect(url_for('admin.member'))
Example #5
0
def delete_notice(id):
    if request.method == 'GET':
        notice = notices.find_by_id(id)
        return render_template('admin/delete_notice.html', notice=notice)
    else:
        if is_yes():
            logi('delete notice: id=%d', id)
            notices.delete_by_id(id)
        else:
            logi('not delete notice: id=%d', id)
        return redirect(url_for('admin.notice'))
Example #6
0
def edit_member(id):
    if request.method == 'GET':
        user = users.find_by_id(id)
        return render_template('admin/edit_member.html', user=user)
    else:
        logi('edit member')
        try:
            validate_member()
        except ValueError, e:
            user = users.find_by_id(id)
            logi('edit member: validation error uid=%d', id)
            return render_template('admin/edit_member.html', user=user,
                    errors=e.errors)

        u = users.make_obj(request.form, id)
        logi('edit member: update uid=%d', id)
        try:
            users.update(id, u.password, u.sex, u.permission)
        except users.NotUniquePassword:
            user = users.find_by_id(id)
            logi('not unique password')
            return render_template('admin/edit_member.html', user=user,
                    errors=not_unique_password_error())

        if id != g.user.id:
            return redirect(url_for('admin.member'))
        elif u.is_member_admin():
            return redirect(url_for('admin.member'))
        elif u.is_admin():
            return redirect(url_for('admin.index'))
        else:
            return redirect(url_for('general.index'))
Example #7
0
def new_notice():
    if request.method == 'GET':
        return render_template('admin/edit_notice.html')
    else:
        logi('new notice')
        try:
            validate_notice()
        except ValueError, e:
            logi('new notice: validation error')
            return render_template('admin/edit_notice.html', errors=e.errors)

        n = notices.make_obj(request.form)
        notices.insert(n['title'], n['begin_show'], n['end_show'], n['body'])
        return redirect(url_for('admin.notice'))
Example #8
0
def login():
    if request.method == 'GET':
        return render_template('login.html')

    btn = request.form['btn']
    if btn == 'login':
        passwd = request.form['password']
        if do_login(passwd):
            logi('login successed')
            return redirect(url_for('general.index'))
        else:
            logi('login failed')
            error_message(u'ログインできません。パスワードが間違っています。')
            return redirect(url_for('general.login'))
    else:
        abort(400)
Example #9
0
def new_member():
    if request.method == 'GET':
        return render_template('admin/edit_member.html')
    else:
        logi('new member')
        try:
            validate_member()
        except ValueError, e:
            logi('new member: validation error errors=%s', e.errors.keys())
            return render_template('admin/edit_member.html', errors=e.errors)

        u = users.make_obj(request.form)
        logi('new member: insert name=%s', u.name)
        try:
            users.insert(u.name, u.password, u.sex, u.permission)
            return redirect(url_for('admin.member'))
        except users.NotUniquePassword:
            logi('not unique password')
            return render_template('admin/edit_member.html',
                    errors=not_unique_password_error())
Example #10
0
File: schedule.py Project: kzkn/fc
def remove_guest(guest_id):
    gu = entries.find_guest_by_id(guest_id)
    if not gu:
        logi('not found guest id: %d', guest_id)
        return abort(404)

    if not entries.has_permission_to_delete_guest(guest_id):
        logi('no permission to delete guest: %d', guest_id)
        return abort(403)

    logi('delete guest: %d', guest_id)
    entries.delete_guest_by_id(guest_id)
    info_message(message=u'%s の参加表明を取り消しました。' % gu['name'],
                 title=u'更新ありがとうございます!')
    return redirect(url_for('schedule.schedule'))
Example #11
0
File: schedule.py Project: kzkn/fc
def entry(sid):
    action = request.form['action']
    comment = request.form['comment']
    is_guest = request.form.get('is-guest', False)
    if is_guest and is_entering_action(action):
        guest_name = request.form['guest-name']
        logi('guest entry to sid=%d, name=%s', sid, guest_name)
        entries.do_guest_entry(sid, guest_name, comment)
    else:
        if is_entering_action(action):
            logi('entry to sid=%d', sid)
            entries.do_entry(sid, comment, entry=True)
        elif is_leaving_action(action):
            logi('exit from sid=%d', sid)
            entries.do_entry(sid, comment, entry=False)
    return redirect(url_for('schedule.schedule'))
Example #12
0
def new_schedule(module):
    if request.method == 'GET':
        today = datetime.today()
        return render_template(module['edit_template'], today=today)
    else:
        moduletype = module['type']
        logi('new schedule: type=%d', moduletype)
        try:
            module['validate']()
        except ValueError, e:
            logi('new schedule: validation error type=%d, errors=%s', moduletype, e.errors.keys())
            today = datetime.today()
            return render_template(module['edit_template'], today=today,
                    errors=e.errors)

        obj = module['make_obj'](request.form)
        logi('new schedule: insert type=%d, when=%s, body=%s', moduletype, obj['when'], obj['body'])
        scheds.insert(moduletype, obj['when'], obj['body'])
        return redirect(url_for(module['index']))
Example #13
0
def edit_schedule(id, module):
    if request.method == 'GET':
        s = scheds.from_row(scheds.find_by_id(id, with_entry=False))
        return render_template(module['edit_template'], schedule=s)
    else:
        moduletype = module['type']
        logi('edit schedule: type=%d, sid=%d', moduletype, id)
        try:
            module['validate']()
        except ValueError, e:
            logi('edit schedule: validation error type=%d, sid=%d, errors=%s', moduletype, id, e.errors.keys())
            s = scheds.from_row(scheds.find_by_id(id, with_entry=False))
            return render_template(module['edit_template'], schedule=s,
                    errors=e.errors)

        obj = module['make_obj'](request.form)
        logi('edit schedule: update type=%d, sid=%d, when=%s, body=%s', moduletype, id, obj['when'], obj['body'])
        scheds.update(id, obj['when'], obj['body'])
        return redirect(url_for(module['index']))
Example #14
0
def edit_notice(id):
    if request.method == 'GET':
        notice = notices.find_by_id(id)
        return render_template('admin/edit_notice.html', notice=notice)
    else:
        logi('edit notice')
        try:
            validate_notice()
        except ValueError, e:
            logi('edit notice: validation error errors=%s', e.errors.keys())
            notice = notices.find_by_id(id)
            return render_template('admin/edit_notice.html', notice=notice,
                    errors=e.errors)

        n = notices.make_obj(request.form)
        logi('edit notice: update id=%d, begin_show=%s, end_show=%s', id, n['begin_show'], n['end_show'])
        notices.update(id, n['title'], n['begin_show'], n['end_show'],
                n['body'])
        return redirect(url_for('admin.notice'))
Example #15
0
def delete_saying(id):
    sayings.delete(id)
    logi('delete saying: id=%d', id)
    return redirect(url_for('admin.saying'))
Example #16
0
def update_payments(year, user_id):
    new_paid_seasons = [int(x) for x in request.form.getlist('seasons')]
    logi('update payments: uid=%d, year=%d, seasons=%s', user_id, year, new_paid_seasons)
    taxes.update_payments(year, user_id, new_paid_seasons)
    return redirect(url_for('general.tax_list'))
Example #17
0
def logout():
    logi('logout')
    session.pop('user_id')
    return redirect(url_for('general.index'))
Example #18
0
File: bbs.py Project: kzkn/fc
def post():
    logi('bbs post')
    body = request.form['body']
    bbs.post(body)
    return redirect(url_for('bbs.index'))
Example #19
0
@mod.route('/saying/new', methods=['POST'])
@requires_permission(users.PERM_ADMIN)
def new_saying():
    logi('new saying')
    try:
        validate_saying()
    except ValueError, e:
        logi('new saying: validation error errors=%s', e.errors.keys())
        (public, private) = sayings.find_all_group_by_publication()
        return render_template('admin/saying.html', public_saying=public,
                private_saying=private, errors=e.errors)

    who = request.form['who']
    body = request.form['body']
    private = 'private' in request.form.getlist('private')
    logi('new saying: insert who=%s, body=%s, private=%s', who, body, private)
    sayings.insert(who, body, private)
    return redirect(url_for('admin.saying'))


@mod.route('/saying/delete/<int:id>')
@requires_permission(users.PERM_ADMIN)
def delete_saying(id):
    sayings.delete(id)
    logi('delete saying: id=%d', id)
    return redirect(url_for('admin.saying'))


#############
# UTILITIES
#############
Example #20
0
        return delete_report(r)
    abort(400)


def post_report(r):
    try:
        validate_report()
    except ValueError, e:
        return render_template('report_edit.html', errors=e.errors, report=r)

    title = request.form['title']
    feature_image_url = request.form.get('feature_image_url', '')
    description = request.form['description']
    body = request.form['body']
    if r:
        logi('post report: update id=%d', r.id)
        r.update(title, feature_image_url, description, body)
        newid = r.id
    else:
        logi('post report: insert')
        newid = reports.insert(title, feature_image_url, description, body)
    return redirect(url_for('general.report', id=newid))


def delete_report(r):
    r.delete()
    info_message(message=u'活動記録を削除しました。')
    return redirect(url_for('general.report_list'))


@mod.route('/report/preview', methods=['POST'])