def wakeupSettings(): adminInfo = admin.query.filter_by(username='******').first() wakeupEventInfo = wakeupEvent.query.filter_by(id=1).first() if not adminInfo or not wakeupEventInfo: db.session.close() return redirect('/init') if not 'username' in session: flash(u'请先登录', 'error') db.session.close() return redirect('/manage/login') else: wakeupEventInfo = wakeupEvent.query.filter_by(id=1).first() if request.method == 'GET': _info = {} _info['switch'] = wakeupEventInfo.switch _info['begin_time'] = wakeupEventInfo.begin_time _info['end_time'] = wakeupEventInfo.end_time _info['early_ret'] = wakeupEventInfo.early_ret _info['late_ret'] = wakeupEventInfo.late_ret _info['off_ret'] = wakeupEventInfo.off_ret _info['acc_ret'] = wakeupEventInfo.acc_ret _info['done_ret'] = wakeupEventInfo.done_ret db.session.close() return render_template('manage_wakeup_settings.html', info=_info) else: switch = int(str(request.form['switch'])) begin_time = request.form['begin_time'] end_time = request.form['end_time'] early_ret = request.form['early_ret'] late_ret = request.form['late_ret'] off_ret = request.form['off_ret'] acc_ret = request.form['acc_ret'] done_ret = request.form['done_ret'] if begin_time == '': flash(u'请填写开始时间', 'error') db.session.close() return redirect('/manage/wakeup_event/settings') elif end_time == '': flash(u'请填写结束时间', 'error') db.session.close() return redirect('/manage/wakeup_event/settings') else: if time_misc.check_double_time(begin_time, end_time): wakeupEventInfo.switch = switch wakeupEventInfo.begin_time = begin_time wakeupEventInfo.end_time = end_time wakeupEventInfo.early_ret = early_ret wakeupEventInfo.late_ret = late_ret wakeupEventInfo.off_ret = off_ret wakeupEventInfo.acc_ret = acc_ret wakeupEventInfo.done_ret = done_ret db.session.commit() flash(u'修改成功', 'success') db.session.close() return redirect('/manage/wakeup_event/summary') else: flash(u'时间不合法或者结束时间大于开始时间', 'error') db.session.close() return redirect('/manage/wakeup_event/settings')
def initStepTwo(): adminInfo = admin.query.filter_by(username='******').first() wakeupEventInfo = wakeupEvent.query.filter_by(id=1).first() if not adminInfo: flash(u'请先完成第一步,设置密码', 'error') db.session.close() return redirect('/init/step1') if wakeupEventInfo: db.session.close() return redirect('/') if request.method == 'GET': db.session.close() return render_template('init_step_two.html') elif request.method == 'POST': begin_time = request.form['begin_time'] end_time = request.form['end_time'] early_ret = request.form['early_ret'] late_ret = request.form['late_ret'] off_ret = request.form['off_ret'] acc_ret = request.form['acc_ret'] done_ret = request.form['done_ret'] if begin_time == '': flash(u'请填写开始时间', 'error') db.session.close() return redirect('/init/step2') elif end_time == '': flash(u'请填写结束时间', 'error') db.session.close() return redirect('/init/step2') else: if time_misc.check_double_time(begin_time, end_time): wakeupEventInfo = wakeupEvent('1970-1-1', 0, begin_time, end_time, early_ret, late_ret, off_ret, acc_ret, done_ret) db.session.add(wakeupEventInfo) db.session.commit() db.session.close() return redirect('/init/done') else: flash(u'时间不合法或者结束时间大于开始时间', 'error') db.session.close() return redirect('/init/step2')
def reflectReq(): adminInfo = admin.query.filter_by(username='******').first() wakeupEventInfo = wakeupEvent.query.filter_by(id=1).first() if not adminInfo or not wakeupEventInfo: db.session.close() return redirect('/init') _event = request.args.get('event') if _event: if _event == 'wakeup': try: _id = int(request.args.get('id')) except Exception, e: db.session.close() return abort(404) userInfo = user.query.filter_by(id=_id).first() if not userInfo: userInfo = user(_id, '') db.session.add(userInfo) db.session.commit() _date = time.strftime("%Y-%m-%d", time.localtime()) _time = time.strftime('%H:%M',time.localtime()) # Return transed off_ret if switch is off if not wakeupEventInfo.switch: _ret = str_misc.trans_str(wakeupEventInfo.off_ret, _time) db.session.close() return _ret wakeupRecInfo = wakeupRec.query.filter_by(user_id=_id, create_date=_date).first() if not wakeupRecInfo: # Return early_ret if user hasn't checked and time is earlier than the begin time if time_misc.check_double_time(_time, wakeupEventInfo.begin_time): _ret = str_misc.trans_str(wakeupEventInfo.early_ret, _time) db.session.close() return _ret # Return late_ret if user hasn't checked and time is later than the begin time if time_misc.check_double_time(wakeupEventInfo.end_time, _time): _ret = str_misc.trans_str(wakeupEventInfo.late_ret, _time) db.session.close() return _ret # Return acc_ret if all thing is right db.engine.execute('UPDATE wakeup_event SET last_total = total, last_update_time = %s WHERE last_update_time != %s', (_date, _date)) db.engine.execute('UPDATE wakeup_event SET total = total + 1') wakeupRecInfo = wakeupRec(_id, _date, _time) db.session.add(wakeupRecInfo) db.session.commit() wakeupRecInfo = wakeupRec.query.filter_by(user_id=_id, create_date=_date).first() _rank = wakeupRecInfo._id - wakeupEvent.query.filter_by(id=1).first().last_total wakeupRecInfo.rank = _rank db.session.commit() _ret = str_misc.trans_str(wakeupEventInfo.acc_ret, _time, _time, str(_rank)) db.session.close() return _ret else: # Return done_ret if user has checked in wakeupEvent _ret = str_misc.trans_str(wakeupEventInfo.done_ret, _time, wakeupRecInfo.create_time, str(wakeupRecInfo.rank)) db.session.close() return _ret if _event == 'normal': try: event_id = int(request.args.get('event_id')) except Exception, e: db.session.close() return abort(404) try: _id = int(request.args.get('id')) except Exception, e: db.session.close() return abort(404)