def index(request): course_list = None season = None folder = None if request.method == "POST": form = SeasonCategoryFilterForm(request.POST) if form.is_valid(): season = Season.get(str(form.cleaned_data["season_key"])) folder = Folder.get(str(form.cleaned_data["folder_key"])) if not season is None: request.session["course_season_key"] = str(season.key()) if not folder is None: request.session["course_folder_key"] = str(folder.key()) else: cskey = request.session.get("course_season_key", None) if not cskey is None: season = Season.get(str(cskey)) cfkey = request.session.get("course_folder_key", None) if not cfkey is None: folder = Folder.get(str(cfkey)) if (season is None) or (folder is None): form = SeasonCategoryFilterForm() else: form = SeasonCategoryFilterForm({"season_key": str(season.key()), "folder_key": str(folder.key())}) if (season is None) or (folder is None): course_list = None if request.GET.get("all", None): logging.info("all mode") course_list = Course.list() else: if request.GET.get("all", None): logging.info("all mode") course_list = Course.list() else: course_list = Course.list_filter(str(season.key()), str(folder.key())) tc_em = 0 tc_ef = 0 tc_e = 0 tc_pm = 0 tc_pf = 0 tc_p = 0 tc_ppm = 0 tc_ppf = 0 tc_pp = 0 tc_npm = 0 tc_npf = 0 tc_np = 0 tc_sum = 0 if course_list is not None: for c in course_list: tc_em += c.stat_e_m tc_ef += c.stat_e_f tc_e += c.usage tc_pm += c.stat_fp_m tc_pf += c.stat_fp_f tc_p += c.stat_fp_m + c.stat_fp_f tc_ppm += c.stat_pp_m tc_ppf += c.stat_pp_f tc_pp += c.stat_pp_m + c.stat_pp_f tc_npm += c.stat_np_m tc_npf += c.stat_np_f tc_np += c.stat_np_m + c.stat_np_f tc_sum += c.stat_paid return render_to_response( "admin/courses_index.html", RequestContext( request, { "form": form, "course_list": course_list, "tc_em": tc_em, "tc_ef": tc_ef, "tc_e": tc_e, "tc_pm": tc_pm, "tc_pf": tc_pf, "tc_p": tc_p, "tc_ppm": tc_ppm, "tc_ppf": tc_ppf, "tc_pp": tc_pp, "tc_npm": tc_npm, "tc_npf": tc_npf, "tc_np": tc_np, "tc_sum": tc_sum, }, ), )
def update_folder_stats(request): logging.info(request.POST) folder_key = request.POST['folder_key'] season_key = request.POST['season_key'] course_list=Course.list_filter(season_key,folder_key) tc_em = 0 tc_ef = 0 tc_e = 0 tc_pm = 0 tc_pf = 0 tc_p = 0 tc_ppm = 0 tc_ppf = 0 tc_pp = 0 tc_npm = 0 tc_npf = 0 tc_np = 0 tc_sum = 0 if course_list is not None: for c in course_list: tc_em+=c.stat_e_m tc_ef+=c.stat_e_f tc_e+=c.usage tc_pm+=c.stat_fp_m tc_pf+=c.stat_fp_f tc_p+=c.stat_fp_m+c.stat_fp_f tc_ppm+=c.stat_pp_m tc_ppf+=c.stat_pp_f tc_pp+=c.stat_pp_m+c.stat_pp_f tc_npm+=c.stat_np_m tc_npf+=c.stat_np_f tc_np+=c.stat_np_m+c.stat_np_f tc_sum+=c.stat_paid logging.info('stat done') fs = FolderStats.get_or_create(season_key,folder_key) logging.info('old folder stats %s' % (fs)) fs.stat_em = tc_em fs.stat_ef = tc_ef fs.stat_e = tc_e fs.stat_pm = tc_pm fs.stat_pf = tc_pf fs.stat_p = tc_p fs.stat_ppm = tc_ppm fs.stat_ppf = tc_ppf fs.stat_pp = tc_pp fs.stat_npm = tc_npm fs.stat_npf = tc_npf fs.stat_np = tc_np fs.stat_sum = tc_sum fs.mark_update() fs.save() logging.info('folder stats %s' % (fs)) return HttpResponse('ok')