def named_lists_submit(user, post): lexForm = LexiconForm(post) timeForm = TimeForm(post) nlForm = NamedListForm(post) num_q_form = NumQuestionsForm(post) if not (lexForm.is_valid() and timeForm.is_valid() and nlForm.is_valid() and num_q_form.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() questions_per_round = num_q_form.cleaned_data['num_questions'] tablenum = wwg.initialize_by_named_list( lex, user, nlForm.cleaned_data['namedList'], quizTime, questions_per_round) if tablenum == 0: raise Http404 return response({'url': reverse('wordwalls_table', args=(tablenum,)), 'success': True})
def search_params_submit(user, post): """ Called when user submits a search params query. """ lexForm = LexiconForm(post) timeForm = TimeForm(post) fwForm = FindWordsForm(post) num_q_form = NumQuestionsForm(post) # form bound to the POST data if not (lexForm.is_valid() and timeForm.is_valid() and fwForm.is_valid() and num_q_form.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']) quiz_time = int(round(timeForm.cleaned_data['quizTime'] * 60)) questions_per_round = num_q_form.cleaned_data['num_questions'] search = searchForAlphagrams(fwForm.cleaned_data, lex) wwg = WordwallsGame() tablenum = wwg.initialize_by_search_params(user, search, quiz_time, questions_per_round) return response({'url': reverse('wordwalls_table', args=(tablenum,)), 'success': True})