def home(request, template="home/home_var.html"): colleges = list selected = None if request.LANGUAGE_CODE == 'en': translation = English_Dict ranks = RANKS else: translation = Chinese_Dict ranks = C_RANKS if request.method == "POST": form = HomeListSearchForm(request.POST, request.FILES) if form.is_valid(): sorter = form.cleaned_data['sorter'] colleges = search(sorter=sorter, num=5) selected = form.cleaned_data['sorter'] else: ids = str.split(str(form.cleaned_data['prev_list'][:-1]), ':') for id in ids: colleges.append(College2.objects.get(id=int(id))) else: form = HomeListSearchForm() colleges = search(sorter='rank', num=5) #if in chinese, make states show the chinese values. states = [(st[-2:], state) for st,state in STATES] settings = ['#setting_nopref', '#setting_city', '#setting_suburb', '#setting_town', '#setting_rural'] vals = dict(home=True, translation=translation, colleges=colleges, form=form, ranks = ranks, selected=selected, states=states, settings=settings) context = RequestContext(request, vals) return render_to_response(template, context)
def getranks(request): if request.is_ajax(): category = request.POST.get('category', False) if category == 'rank' or category == 'rank_liberal': num = 40 # elif category == 'cee' or category == 'cos' or category == 'ele' or category == 'mae': # num = 6 # elif category == 'bio' or category == 'psy': # num = 8 else: num = 10 # num=10 link_start = "<a target='_blank' href='http://" link_middle = "'>" link_end = "</a>" colleges = search(sorter=category, num=num) html = "<div id='rank_list'><table><th></th><tbody>" for i in range(0, num): html += "<tr><td class='college_table_slot'><span class='college_table_rank_rank'>" + str(i + 1) + ")</span></td><td><div class='college_table_entry_rank'>" + link_start + colleges[i].website + link_middle + colleges[i].name + link_end + "</div></td></tr>" html += "</tbody></table></div>" return HttpResponse(html) else: return HttpResponse('error')
def search_view(request, template='counselors/list.html'): if request.LANGUAGE_CODE == 'en': translation = English_Dict else: translation = Chinese_Dict results=list() prompt = 'Enter your f*****g search.' form = SearchForm() if request.method == 'POST': form = SearchForm(request.POST, request.FILES) if form.is_valid(): name = form.cleaned_data['name'] state = form.cleaned_data['state'] city = form.cleaned_data['city'] num = form.cleaned_data['num'] type = form.cleaned_data['type'] sorter = form.cleaned_data['sorter'] setting = form.cleaned_data['setting'] minsize = form.cleaned_data['minsize'] maxsize = form.cleaned_data['maxsize'] minsat = form.cleaned_data['minsat'] maxsat = form.cleaned_data['maxsat'] mintuit = form.cleaned_data['mintuit'] maxtuit = form.cleaned_data['maxtuit'] if not num: num = 50 results=list(search(name=name, state=state, city=city, num=num, type=type, setting=setting, sorter = sorter, minsize=minsize, maxsize=maxsize, minsat=minsat, maxsat=maxsat, mintuition=mintuit, maxtuition=maxtuit)) if not len(results): prompt = 'No colleges match your f*****g search criteria...' else: prompt = 'Here are your f*****g results...' vals = dict(form=form, layout='horizontal', results=results, prompt=prompt, translation=translation) return render_to_response(template, RequestContext(request, vals))
def getpersonal(request): if request.is_ajax(): if request.LANGUAGE_CODE == 'en': labels = ['Good Fit', 'Reach', 'Safety'] no_match = 'No Match' else: labels = [u'分数达标', u'需要努力', u'保底学校'] no_match = u'没有结果' state = request.POST.get('state', False) setting = setting_map[request.POST.get('setting', False)] math = float(request.POST.get('math', False)) reading = float(request.POST.get('reading', False)) writing = float(request.POST.get('writing', False)) num = 5 table_styling = "<span class='rank_table_style'>" table_styling_end = "</span>" #add a header to the top of the list specifying the search. sat_total = math + reading + writing sat_mr = math + reading colleges1 = search(sorter='sat', state=state, setting=setting, num=num, p=True, s=sat_total, bracket=1) colleges2 = search(sorter='sat', state=state, setting=setting, num=num, p=True, s=sat_total, bracket=2) colleges3 = search(sorter='sat', state=state, setting=setting, num=num, p=True, s=sat_total, bracket=3) len1 = len(colleges1) len2 = len(colleges2) len3 = len(colleges3) number = len1 + len2 + len3 link_start = "<a target='_blank' href='http://" link_middle = "'>" link_end = "</a>" if not number: html = "<div id='personal_list'><h5 class='no_res'>" + no_match + "</h5></div>" else: html = "<div id='personal_list'>" html += "<h4 class='rank_list_header'>" + labels[0] + "</h4>" if len2 > 0: html += "<table><th></th><tbody>" for i in range(0, len2): html += "<tr><td class='college_table_slot'><span class='college_table_rank'>" + table_styling + str(i + 1) + ")" + table_styling_end + "</span></td><td><div class='college_table_entry'>" + link_start + colleges2[i].website + link_middle + table_styling + colleges2[i].name + table_styling_end + link_end + "</div></td></tr>" html += "</tbody></table>" else: html += "<h5 class='no_res'>" + no_match + "</h5>" html += "<h4 class='rank_list_header'>" + labels[1] + "</h4>" if len1 > 0: html += "<table><th></th><tbody>" for i in range(0, len1): html += "<tr><td class='college_table_slot'><span class='college_table_rank'>" + table_styling + str(i + 1) + ")" + table_styling_end + "</span></td><td><div class='college_table_entry'>" + link_start + colleges1[i].website + link_middle + table_styling + colleges1[i].name + table_styling_end + link_end + "</div></td></tr>" html += "</tbody></table>" else: html += "<h5 class='no_res'>" + no_match + "</h5>" html += "<h4 class='rank_list_header'>" + labels[2] + "</h4>" if len3 > 0: html += "<table><th></th><tbody>" for i in range(0, len3): html += "<tr><td class='college_table_slot'><span class='college_table_rank'>" + table_styling + str(i + 1) + ")" + table_styling_end + "</span></td><td><div class='college_table_entry'>" + link_start + colleges3[i].website + link_middle + table_styling + colleges3[i].name + table_styling_end + link_end + "</div></td></tr>" html += "</tbody></table>" else: html += "<h5 class='no_res'>" + no_match + "</h5>" html += "</div>" return HttpResponse(html) else: return HttpResponse('error')