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
Example #2
0
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
Example #3
0
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