def edit_hours(request, shift_id, volunteer_id): if shift_id and volunteer_id: volunteer_shift = get_volunteer_shift_by_id(volunteer_id, shift_id) user = request.user if int(user.volunteer.id) == int(volunteer_id): if volunteer_shift: if request.method == 'POST': form = HoursForm(request.POST) if form.is_valid(): start_time = form.cleaned_data['start_time'] end_time = form.cleaned_data['end_time'] try: edit_shift_hours(volunteer_id, shift_id, start_time, end_time) return HttpResponseRedirect(reverse('shift:view_hours', args=(shift_id, volunteer_id,))) except: raise Http404 form = HoursForm(initial={'start_time': volunteer_shift.start_time, 'end_time' : volunteer_shift.end_time}) return render(request, 'shift/edit_hours.html', {'form' : form, 'shift_id' : shift_id, 'volunteer_id' : volunteer_id,}) else: raise Http404 else: return HttpResponse(status=403) else: raise Http404
def add_hours(request, shift_id, volunteer_id): if shift_id and volunteer_id: user = request.user if int(user.volunteer.id) == int(volunteer_id): if request.method == 'POST': form = HoursForm(request.POST) if form.is_valid(): start_time = form.cleaned_data['start_time'] end_time = form.cleaned_data['end_time'] try: add_shift_hours(volunteer_id, shift_id, start_time, end_time) return HttpResponseRedirect( reverse('shift:view_hours', args=(volunteer_id, ))) except: raise Http404 else: return render( request, 'shift/add_hours.html', { 'form': form, 'shift_id': shift_id, 'volunteer_id': volunteer_id, }) else: form = HoursForm() return render( request, 'shift/add_hours.html', { 'form': form, 'shift_id': shift_id, 'volunteer_id': volunteer_id, }) else: return HttpResponse(status=403) else: raise Http404
def add_hours_manager(request, shift_id, volunteer_id): user = request.user admin = None try: admin = user.administrator except ObjectDoesNotExist: pass # check that an admin is logged in if not admin: return render(request, 'vms/no_admin_rights.html') else: if request.method == 'POST': form = HoursForm(request.POST) if form.is_valid(): start_time = form.cleaned_data['start_time'] end_time = form.cleaned_data['end_time'] try: add_shift_hours( volunteer_id, shift_id, start_time, end_time ) return HttpResponseRedirect(reverse( 'shift:manage_volunteer_shifts', args=(volunteer_id, ) )) except: raise Http404 else: return render( request, 'shift/add_hours_manager.html', {'form': form, 'shift_id': shift_id, 'volunteer_id': volunteer_id, } ) else: form = HoursForm() return render( request, 'shift/add_hours_manager.html', {'form': form, 'shift_id': shift_id, 'volunteer_id': volunteer_id, } )
def edit_hours_confirmation(request, shift_id, volunteer_id): if shift_id and volunteer_id: user = request.user volunteer_shift = get_volunteer_shift_by_id(volunteer_id, shift_id) if volunteer_shift: if int(user.volunteer.id) == int(volunteer_id): if request.method == 'POST': form = HoursForm(request.POST) if form.is_valid(): start_time = form.cleaned_data['start_time'] end_time = form.cleaned_data['end_time'] return render(request, 'shift/edit_hours_confirmation.html', {'form' : form, 'start_time' : start_time, 'end_time' : end_time, 'shift_id' : shift_id, 'volunteer_id' : volunteer_id,}) else: return HttpResponseRedirect(reverse('shift:edit_hours', args=(shift_id, volunteer_id,))) else: return HttpResponse(status=403) else: raise Http404 else: raise Http404