def get(self, request, tourney_uuid): tourney = Tournament.objects.get(uuid=tourney_uuid) # Make sure that the user has admin rights for this tourney. if not tourney.is_user_admin(request.user): return HttpResponseForbidden( "Only the tournament administrator can do that.") if not tourney.is_open: return HttpResponseForbidden("This tournament is closed.") schedule_form = ScheduleForm(request.GET) if schedule_form.is_valid(): json_response = DatabaseSchedule().get(self.request).content games = json.loads(json_response) else: games = None add_prop_form = PropositionForm(initial={"tournament": tourney.id}) game_schedule_form = GameScheduleForm() GameDatabaseFormset = formset_factory(GameDatabaseForm, extra=0) if games: formset = GameDatabaseFormset(initial=games["games"]) else: formset = None game_seasons = GameSeason.objects.all() return render( self.request, self.template_name, { "tourney": tourney, "now": datetime.datetime.now(), "add_prop_form": add_prop_form, "user_is_admin": True, "game_seasons": game_seasons, "game_schedule_form": game_schedule_form, "games": games, "formset": formset })
def get(self, request, tourney_uuid): tourney = Tournament.objects.get(uuid=tourney_uuid) # Make sure that the user has admin rights for this tourney. if not tourney.is_user_admin(request.user): return HttpResponseForbidden("Only the tournament administrator can do that.") if not tourney.is_open: return HttpResponseForbidden("This tournament is closed.") schedule_form = ScheduleForm(request.GET) if schedule_form.is_valid(): json_response = DatabaseSchedule().get(self.request).content games = json.loads(json_response) else: games = None add_prop_form = PropositionForm(initial={"tournament":tourney.id}) game_schedule_form = GameScheduleForm() GameDatabaseFormset = formset_factory(GameDatabaseForm, extra=0) if games: formset = GameDatabaseFormset(initial=games["games"]) else: formset = None game_seasons = GameSeason.objects.all() return render(self.request, self.template_name, {"tourney": tourney, "now": datetime.datetime.now(), "add_prop_form": add_prop_form, "user_is_admin": True, "game_seasons": game_seasons, "game_schedule_form": game_schedule_form, "games": games, "formset": formset})
def schedule_add(request, module_id): module = check_owner(request, module_id) ActivityScheduleFormSet = formset_factory(ActivityScheduleForm, extra=0) if request.method == 'POST': form = ScheduleForm(request.POST) formset = ActivityScheduleFormSet(request.POST) if form.is_valid() and formset.is_valid(): schedule = Schedule() schedule.module = module schedule.title = form.cleaned_data.get("title").strip() schedule.default = form.cleaned_data.get("default") schedule.created_by = request.user # remvoe any existing default for this schedule if schedule.default: Schedule.objects.filter(module=module).update(default=False) schedule.save() for f in formset: act_sched = ActivitySchedule() start_date = f.cleaned_data.get("start_date") end_date = f.cleaned_data.get("end_date") digest = f.cleaned_data.get("digest") if start_date is not None: act_sched = ActivitySchedule() act_sched.schedule = schedule act_sched.start_date = start_date act_sched.end_date = end_date act_sched.digest = digest.strip() act_sched.save() return HttpResponseRedirect('../saved/') else: activities = Activity.objects.filter(section__module=module) initial = [] section = None start_date = datetime.datetime.now() end_date = datetime.datetime.now() + datetime.timedelta(days=7) for a in activities: if a.section != section: section = a.section start_date = start_date + datetime.timedelta(days=7) end_date = end_date + datetime.timedelta(days=7) data = {} data['title'] = a.title data['digest'] = a.digest data['section'] = a.section.title data['start_date'] = start_date data['end_date'] = end_date initial.append(data) form = ScheduleForm() formset = ActivityScheduleFormSet(initial=initial) return render(request, 'learning_modules/schedule-form.html', { 'form': form, 'formset': formset, 'module': module, })
def schedule_add(request,module_id): module = check_owner(request,module_id) ActivityScheduleFormSet = formset_factory(ActivityScheduleForm, extra=0) if request.method == 'POST': form = ScheduleForm(request.POST) formset = ActivityScheduleFormSet(request.POST) if form.is_valid() and formset.is_valid(): schedule = Schedule() schedule.module = module schedule.title = form.cleaned_data.get("title").strip() schedule.default = form.cleaned_data.get("default") schedule.created_by = request.user # remvoe any existing default for this schedule if schedule.default: Schedule.objects.filter(module=module).update(default=False) schedule.save() for f in formset: act_sched = ActivitySchedule() start_date = f.cleaned_data.get("start_date") end_date = f.cleaned_data.get("end_date") digest = f.cleaned_data.get("digest") if start_date is not None: act_sched = ActivitySchedule() act_sched.schedule = schedule act_sched.start_date = start_date act_sched.end_date = end_date act_sched.digest = digest.strip() act_sched.save() return HttpResponseRedirect('../saved/') else: activities = Activity.objects.filter(section__module = module) initial = [] section = None start_date = datetime.datetime.now() end_date = datetime.datetime.now() + datetime.timedelta(days=7) for a in activities: if a.section != section: section = a.section start_date = start_date + datetime.timedelta(days=7) end_date = end_date + datetime.timedelta(days=7) data = {} data['title'] = a.title data['digest'] = a.digest data['section'] = a.section.title data['start_date'] = start_date data['end_date'] = end_date initial.append(data) form = ScheduleForm() formset = ActivityScheduleFormSet(initial=initial) return render(request, 'learning_modules/schedule-form.html', {'form': form, 'formset': formset,'module':module, })
def get(self, request): form = ScheduleForm(request.GET) if form.is_valid(): game_types = form.get_game_type() _from = form.cleaned_data["start_time"] to = form.cleaned_data["end_time"] combined_query = reduce(operator.or_, [Q(game_type=game_type) for game_type in game_types], Q(game_type="")) games = list(Game.objects.filter(combined_query).filter(start_time__range=(_from, to)).values()) return self.render_to_response({"games": games}) else: return self.render_to_response({"request_error": form.errors, "games": []})
def fillschedule(request): if request.POST: form = ScheduleForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('update_done.html') else: form = ScheduleForm() args = {} args.update(csrf(request)) args['form'] = form return render_to_response('updateschedule.html', args)
def edit_schedule(request): form = ScheduleForm() if request.method == 'POST': form = ScheduleForm(request.POST) if form.is_valid(): cd = form.cleaned_data request.user.classes = [] if cd.get('new_classes'): for cls_num in cd['new_classes']: request.user.classes.create(period=cd['p_'+str(cls_num)], teacher=cd['teacher_'+str(cls_num)], dif=cd['dif_'+str(cls_num)], subject=cd['subject_'+str(cls_num)]) if cd.get('old_classes'): for cls_num in cd['old_classes']: request.user.classes.add(cd['class_'+str(cls_num)]) return HttpResponseRedirect(reverse('home')) return render_to_response('edit_sched.html', {'form': form}, context_instance=RequestContext(request))
def get(self, request): form = ScheduleForm(request.GET) if form.is_valid(): game_types = form.get_game_type() _from = form.cleaned_data["start_time"] to = form.cleaned_data["end_time"] combined_query = reduce( operator.or_, [Q(game_type=game_type) for game_type in game_types], Q(game_type="")) games = list( Game.objects.filter(combined_query).filter( start_time__range=(_from, to)).values()) return self.render_to_response({"games": games}) else: return self.render_to_response({ "request_error": form.errors, "games": [] })
def edit_schedule(request): form = ScheduleForm() if request.method == 'POST': form = ScheduleForm(request.POST) if form.is_valid(): cd = form.cleaned_data request.user.classes = [] if cd.get('new_classes'): for cls_num in cd['new_classes']: request.user.classes.create( period=cd['p_' + str(cls_num)], teacher=cd['teacher_' + str(cls_num)], dif=cd['dif_' + str(cls_num)], subject=cd['subject_' + str(cls_num)]) if cd.get('old_classes'): for cls_num in cd['old_classes']: request.user.classes.add(cd['class_' + str(cls_num)]) return HttpResponseRedirect(reverse('home')) return render_to_response('edit_sched.html', {'form': form}, context_instance=RequestContext(request))
def schedule_edit(request,module_id, schedule_id): module = check_owner(request,module_id) schedule = Schedule.objects.get(pk=schedule_id) ActivityScheduleFormSet = formset_factory(ActivityScheduleForm, extra=0) activities = Activity.objects.filter(section__module = module) if request.method == 'POST': form = ScheduleForm(request.POST) formset = ActivityScheduleFormSet(request.POST) if form.is_valid() and formset.is_valid(): schedule.title = form.cleaned_data.get("title").strip() schedule.default = form.cleaned_data.get("default") schedule.lastupdated_date = datetime.datetime.now() # remvoe any existing default for this schedule if schedule.default: Schedule.objects.filter(module=module).update(default=False) schedule.save() # remove all the old schedule Activities ActivitySchedule.objects.filter(schedule=schedule).delete() for f in formset: act_sched = ActivitySchedule() start_date = f.cleaned_data.get("start_date") end_date = f.cleaned_data.get("end_date") digest = f.cleaned_data.get("digest") if start_date is not None: act_sched = ActivitySchedule() act_sched.schedule = schedule act_sched.start_date = start_date act_sched.end_date = end_date act_sched.digest = digest.strip() act_sched.save() return HttpResponseRedirect('../saved/') else: initial = [] section = None for a in activities: if a.section != section: section = a.section data = {} data['title'] = a.title data['digest'] = a.digest data['section'] = a.section.title try: act_s = ActivitySchedule.objects.get(schedule=schedule,digest = a.digest) start_date = act_s.start_date end_date = act_s.end_date except ActivitySchedule.DoesNotExist: start_date = None end_date = None data['start_date'] = start_date data['end_date'] = end_date initial.append(data) form = ScheduleForm(initial={'title':schedule.title, 'default':schedule.default}) formset = ActivityScheduleFormSet(initial=initial) return render(request, 'learning_modules/schedule-form.html', {'form': form, 'formset': formset,'module':module, })
def schedule_edit(request, module_id, schedule_id): module = check_owner(request, module_id) schedule = Schedule.objects.get(pk=schedule_id) ActivityScheduleFormSet = formset_factory(ActivityScheduleForm, extra=0) activities = Activity.objects.filter(section__module=module) if request.method == 'POST': form = ScheduleForm(request.POST) formset = ActivityScheduleFormSet(request.POST) if form.is_valid() and formset.is_valid(): schedule.title = form.cleaned_data.get("title").strip() schedule.default = form.cleaned_data.get("default") schedule.lastupdated_date = datetime.datetime.now() # remvoe any existing default for this schedule if schedule.default: Schedule.objects.filter(module=module).update(default=False) schedule.save() # remove all the old schedule Activities ActivitySchedule.objects.filter(schedule=schedule).delete() for f in formset: act_sched = ActivitySchedule() start_date = f.cleaned_data.get("start_date") end_date = f.cleaned_data.get("end_date") digest = f.cleaned_data.get("digest") if start_date is not None: act_sched = ActivitySchedule() act_sched.schedule = schedule act_sched.start_date = start_date act_sched.end_date = end_date act_sched.digest = digest.strip() act_sched.save() return HttpResponseRedirect('../saved/') else: initial = [] section = None for a in activities: if a.section != section: section = a.section data = {} data['title'] = a.title data['digest'] = a.digest data['section'] = a.section.title try: act_s = ActivitySchedule.objects.get(schedule=schedule, digest=a.digest) start_date = act_s.start_date end_date = act_s.end_date except ActivitySchedule.DoesNotExist: start_date = None end_date = None data['start_date'] = start_date data['end_date'] = end_date initial.append(data) form = ScheduleForm(initial={ 'title': schedule.title, 'default': schedule.default }) formset = ActivityScheduleFormSet(initial=initial) return render(request, 'learning_modules/schedule-form.html', { 'form': form, 'formset': formset, 'module': module, })