Beispiel #1
0
 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
         })
Beispiel #2
0
 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, })
Beispiel #5
0
 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)
Beispiel #7
0
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))
Beispiel #8
0
 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": []
         })
Beispiel #9
0
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,
    })