Ejemplo n.º 1
0
def homepage(request):
    #unbound forms
    lexForm = LexiconForm()
    timeForm = TimeForm()
    fwForm = FindWordsForm()
    dcForm = DailyChallengesForm()
    ulForm = UserListForm()
    slForm = SavedListForm()
    nlForm = NamedListForm()
    profile = request.user.get_profile()

    if request.method == 'POST':
        return handle_homepage_post(profile, request)

    lengthCounts = dict([(l.lexiconName, l.lengthCounts)
                         for l in Lexicon.objects.all()])
    # Create a random token for socket connection and store in Redis
    # temporarily.
    # conn_token = get_connection_token(request.user)
    profile = request.user.get_profile()
    try:
        data = json.loads(profile.additional_data)
    except (TypeError, ValueError):
        data = {}
    return render(
        request,
        'wordwalls/index.html',
        {
            'fwForm':
            fwForm,
            'dcForm':
            dcForm,
            'challengeTypes': [(n.pk, n.name)
                               for n in DailyChallengeName.objects.all()],
            'ulForm':
            ulForm,
            'slForm':
            slForm,
            'lexForm':
            lexForm,
            'timeForm':
            timeForm,
            'nlForm':
            nlForm,
            'lengthCounts':
            json.dumps(lengthCounts),
            'upload_list_limit':
            wordwalls.settings.UPLOAD_FILE_LINE_LIMIT,
            'dcTimes':
            json.dumps(dcTimeMap),
            'defaultLexicon':
            profile.defaultLexicon,
            # 'connToken': conn_token,
            'chatEnabled':
            not data.get('disableChat', False),
            'socketUrl':
            settings.SOCKJS_SERVER,
            'CURRENT_VERSION':
            CURRENT_VERSION
        })
Ejemplo n.º 2
0
def add_times(swim_id):
    form = TimeForm()
    if request.method == 'POST' and form.validate():
        swim_date = form.dateOfTime.data
        swim_date = swim_date.split(',')
        #swim_date = date(int(swim_date[0]), int(swim_date[1]), int(swim_date[2]))

        if form.minutes.data == "":
            time_min = 0
        else:
            time_min = int(form.minutes.data)

        swimTime = time(0, time_min, int(form.seconds.data),
                        int(form.milliseconds.data) * 10000)

        distance, stroke = form.event.data.split()
        distance = int(distance)

        for cur in session.query(race).filter_by(distance=distance).filter_by(
                stroke=stroke):
            event_id = cur.id
        session.add(
            swimmer_race(swimmer_id=swim_id,
                         race_id=event_id,
                         time=swimTime,
                         date_of_time=date(int(swim_date[0]),
                                           int(swim_date[1]),
                                           int(swim_date[2]))))
        session.commit()

        return redirect('/swimmer_page=' + swim_id)
    return render_template('new_time.html', form=form, swim_id=swim_id)
Ejemplo n.º 3
0
def named_lists_submit(user, post):
    lexForm = LexiconForm(post)
    timeForm = TimeForm(post)
    nlForm = NamedListForm(post)
    if not (lexForm.is_valid() and timeForm.is_valid() and nlForm.is_valid()):
        return response({
            'success':
            False,
            'error':
            'Please check that you have selected a '
            'list and that your quiz time is greater '
            'than 1 minute.'
        })

    lex = Lexicon.objects.get(lexiconName=lexForm.cleaned_data['lexicon'])
    quizTime = int(round(timeForm.cleaned_data['quizTime'] * 60))
    wwg = WordwallsGame()
    tablenum = wwg.initializeByNamedList(lex, user,
                                         nlForm.cleaned_data['namedList'],
                                         quizTime)
    if tablenum == 0:
        raise Http404
    return response({
        'url': reverse('wordwalls_table', args=(tablenum, )),
        'success': True
    })
Ejemplo n.º 4
0
def search_params_submit(user, post):
    """
        Called when user submits a search params query.
    """
    lexForm = LexiconForm(post)
    timeForm = TimeForm(post)
    fwForm = FindWordsForm(post)
    # form bound to the POST data
    if not (lexForm.is_valid() and timeForm.is_valid() and fwForm.is_valid()):
        return response({
            'success':
            False,
            'error':
            'There was something wrong with your '
            'search parameters or time selection.'
        })
    lex = Lexicon.objects.get(lexiconName=lexForm.cleaned_data['lexicon'])
    quizTime = int(round(timeForm.cleaned_data['quizTime'] * 60))
    alphasSearchDescription = searchForAlphagrams(fwForm.cleaned_data, lex)
    wwg = WordwallsGame()
    tablenum = wwg.initializeBySearchParams(user, alphasSearchDescription,
                                            quizTime)

    return response({
        'url': reverse('wordwalls_table', args=(tablenum, )),
        'success': True
    })
Ejemplo n.º 5
0
def time():
    form = TimeForm()
    if form.validate_on_submit():
        session['time_number1'] = form.match_number.data
        session['time_number2'] = form.match_number.data
        session['name_number'] = form.name_number.data
        session['time_row'] = form.match_row.data
        session['robot_number'] = form.robot_number.data
        return redirect(url_for('match2'))
    return render_template('time.html', form=form, num=0)
Ejemplo n.º 6
0
Archivo: app.py Proyecto: aliasxu/Timer
def custom():
    form = TimeForm()
    if form.validate_on_submit():
        times = form.timer.data
        if times[-1] not in 'smh':
            flash(u'请输入正确的格式,如20s,15m,2h')
            return redirect(url_for('timer', form=form))
        else:
            type = {'s': 'seconds', 'm': 'minutes', 'h': 'hours'}
            return redirect(url_for(type[times[-1]], num=int(times[:-1])))
    return redirect(url_for('index', form=form))
Ejemplo n.º 7
0
def admin_page():
    time_form = TimeForm(prefix='time_form')
    monThings = EduSchedu.query.filter(EduSchedu.dow == 0).order_by(
        EduSchedu.time.asc()).all()
    tueThings = EduSchedu.query.filter(EduSchedu.dow == 1).order_by(
        EduSchedu.time.asc()).all()
    wedThings = EduSchedu.query.filter(EduSchedu.dow == 2).order_by(
        EduSchedu.time.asc()).all()
    thuThings = EduSchedu.query.filter(EduSchedu.dow == 3).order_by(
        EduSchedu.time.asc()).all()
    friThings = EduSchedu.query.filter(EduSchedu.dow == 4).order_by(
        EduSchedu.time.asc()).all()
    satThings = EduSchedu.query.filter(EduSchedu.dow == 5).order_by(
        EduSchedu.time.asc()).all()
    sunThings = EduSchedu.query.filter(EduSchedu.dow == 6).order_by(
        EduSchedu.time.asc()).all()

    if time_form.validate_on_submit():
        eduschedu = EduSchedu(classname=time_form.classname.data,
                              time=time_form.time.data,
                              dow=time_form.dow.data,
                              zoomlink=time_form.zoomlink.data)
        database.session.add(eduschedu)
        database.session.commit()
        flash('Class Updated!', 'info')
        if time_form.enroll.data == True:
            print('sup')
            usertest = User.query.first()
            eduscheduler = EduSchedu.query.order_by(
                EduSchedu.id.desc()).first()
            eduscheduler.students.append(usertest)
            database.session.commit()
        return redirect(url_for('admin_page'))

    return render_template('admin_page.html',
                           time_form=time_form,
                           monThings=monThings,
                           tueThings=tueThings,
                           wedThings=wedThings,
                           thuThings=thuThings,
                           friThings=friThings,
                           satThings=satThings,
                           sunThings=sunThings)