Exemplo n.º 1
0
    def form_valid(self, form):
        edit_request_id = self.kwargs['edit_request_id']
        edit_request = EditRequest.objects.get(pk=edit_request_id)
        volunteer_id = self.kwargs['volunteer_id']
        volunteer = get_volunteer_by_id(volunteer_id)
        shift_id = self.kwargs['shift_id']
        shift = get_shift_by_id(shift_id)
        event = shift.job.event
        start_time = form.cleaned_data['start_time']
        end_time = form.cleaned_data['end_time']
        shift_start_time = shift.start_time
        shift_end_time = shift.end_time
        try:
            if end_time > start_time:
                if (start_time >= shift_start_time
                        and end_time <= shift_end_time):
                    edit_shift_hours(volunteer_id, shift_id, start_time,
                                     end_time)
                    vol_email = volunteer.email
                    message = render_to_string(
                        'shift/request_status.html', {
                            'volunteer_first_name': volunteer.first_name,
                            'event': event
                        })
                    try:
                        send_mail("Log Hours Edited", message,
                                  "*****@*****.**", [vol_email])
                    except Exception:
                        raise Exception("There was an error in sending mail.")
                    return HttpResponseRedirect(
                        reverse('shift:manage_volunteer_shifts',
                                args=(volunteer_id, )))
                else:
                    messages.add_message(
                        self.request, messages.INFO,
                        'Logged hours should be between shift hours')
                    return render(
                        self.request, 'shift/edit_hours_manager.html', {
                            'form': form,
                            'shift_id': shift_id,
                            'volunteer_id': volunteer_id,
                            'shift': shift,
                            'edit_request_id': edit_request_id,
                        })

            else:
                messages.add_message(
                    self.request, messages.INFO,
                    'End time should be greater than start time')
                return render(
                    self.request, 'shift/edit_hours_manager.html', {
                        'form': form,
                        'shift_id': shift_id,
                        'volunteer_id': volunteer_id,
                        'shift': shift,
                        'edit_request_id': edit_request_id,
                    })

        except Exception:
            raise Http404
Exemplo n.º 2
0
 def get_context_data(self, **kwargs):
     context = super(ViewHoursView, self).get_context_data(**kwargs)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['volunteer_shift_list'] = get_volunteer_shifts_with_hours(
         volunteer_id)
     return context
Exemplo n.º 3
0
Arquivo: views.py Projeto: systers/vms
 def get_context_data(self, **kwargs):
     context = super(ViewHoursView, self).get_context_data(**kwargs)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['volunteer_shift_list'] = get_volunteer_shifts_with_hours(
         volunteer_id)
     context['init_date'] = timezone.now()-timedelta(days=7)
     return context
Exemplo n.º 4
0
Arquivo: views.py Projeto: systers/vms
 def get_context_data(self, **kwargs):
     context = super(EditRequestManagerView, self).get_context_data(**kwargs)
     shift_id = self.kwargs['shift_id']
     context['shift'] = get_shift_by_id(shift_id)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['volunteer_shift'] = get_volunteer_shift_by_id(volunteer_id, shift_id)
     return context
Exemplo n.º 5
0
 def get_context_data(self, **kwargs):
     context = super(ViewHoursView, self).get_context_data(**kwargs)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['volunteer_shift_list'] = get_volunteer_shifts_with_hours(
         volunteer_id)
     context['init_date'] = timezone.now() - timedelta(days=7)
     return context
Exemplo n.º 6
0
Arquivo: views.py Projeto: systers/vms
 def get_context_data(self, **kwargs):
     context = super(ManageVolunteerShiftView, self).get_context_data(
         **kwargs)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['shift_list'] = get_unlogged_shifts_by_volunteer_id(
         volunteer_id)
     context['shift_list_with_hours'] = get_volunteer_shifts_with_hours(
         volunteer_id)
     return context
Exemplo n.º 7
0
 def get_context_data(self, **kwargs):
     context = super(EditRequestManagerView,
                     self).get_context_data(**kwargs)
     shift_id = self.kwargs['shift_id']
     context['shift'] = get_shift_by_id(shift_id)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['volunteer_shift'] = \
         get_volunteer_shift_by_id(volunteer_id, shift_id)
     return context
Exemplo n.º 8
0
 def get_context_data(self, **kwargs):
     context = super(ManageVolunteerShiftView,
                     self).get_context_data(**kwargs)
     volunteer_id = self.kwargs['volunteer_id']
     context['volunteer'] = get_volunteer_by_id(volunteer_id)
     context['shift_list'] = get_unlogged_shifts_by_volunteer_id(
         volunteer_id)
     context['shift_list_with_hours'] = get_volunteer_shifts_with_hours(
         volunteer_id)
     return context
Exemplo n.º 9
0
Arquivo: views.py Projeto: systers/vms
    def form_valid(self, form):
        edit_request_id = self.kwargs['edit_request_id']
        edit_request = EditRequest.objects.get(pk=edit_request_id)
        volunteer_id = self.kwargs['volunteer_id']
        volunteer = get_volunteer_by_id(volunteer_id)
        shift_id = self.kwargs['shift_id']
        shift = get_shift_by_id(shift_id)
        event = shift.job.event
        start_time = form.cleaned_data['start_time']
        end_time = form.cleaned_data['end_time']
        shift_start_time = shift.start_time
        shift_end_time = shift.end_time
        try:
            if (end_time > start_time):
                if (start_time >= shift_start_time
                        and end_time <= shift_end_time):
                    edit_shift_hours(volunteer_id, shift_id, start_time,
                                     end_time)
                    vol_email = volunteer.email
                    message = render_to_string('shift/request_status.html',
                                        {'volunteer_first_name': volunteer.first_name,
                                          'event': event
                                        })
                    try:
                        send_mail("Log Hours Edited", message, "*****@*****.**", [vol_email])
                    except:
                        raise Exception("There was an error in sending mail.")
                    return HttpResponseRedirect(
                        reverse(
                            'shift:manage_volunteer_shifts',
                            args=(volunteer_id, )))
                else:
                    messages.add_message(
                        self.request, messages.INFO,
                        'Logged hours should be between shift hours')
                    return render(
                        self.request, 'shift/edit_hours_manager.html', {
                            'form': form,
                            'shift_id': shift_id,
                            'volunteer_id': volunteer_id,
                            'shift': shift,
                            'volunteer_shift': volunteer_shift,
                            'edit_request_id': edit_request_id,
                        })

            else:
                messages.add_message(
                    self.request, messages.INFO,
                    'End time should be greater than start time')
                return render(
                    self.request, 'shift/edit_hours_manager.html', {
                        'form': form,
                        'shift_id': shift_id,
                        'volunteer_id': volunteer_id,
                        'shift': shift,
                        'volunteer_shift': volunteer_shift,
                        'edit_request_id': edit_request_id,
                    })

        except:
            raise Http404
Exemplo n.º 10
0
Arquivo: views.py Projeto: systers/vms
    def form_valid(self, form):
        volunteer_id = self.kwargs['volunteer_id']
        shift_id = self.kwargs['shift_id']
        shift = get_shift_by_id(shift_id)
        volunteer_shift = get_volunteer_shift_by_id(volunteer_id, shift_id)
        volunteer = get_volunteer_by_id(volunteer_id)
        start_time = form.cleaned_data['start_time']
        end_time = form.cleaned_data['end_time']
        shift_start_time = shift.start_time
        shift_end_time = shift.end_time
        event = shift.job.event
        site = get_current_site(self.request)
        try:
            if (end_time > start_time):
                if (start_time >= shift_start_time
                        and end_time <= shift_end_time):
                    request =  form.save(commit=False)
                    request.volunteer_shift = volunteer_shift
                    request.save()
                    message = render_to_string('shift/request_admin.html',
                                              {'volunteer': volunteer,
                                               'new_start_time': start_time,
                                               'new_end_time': end_time,
                                               'original_start_time': shift_start_time,
                                               'original_end_time': shift_end_time,
                                               'event': event,
                                               'edit_request': request,
                                               'shift_id': shift_id,
                                               'domain': site.domain,
                                               })
                    try:
                        send_mail("Edit request", message, "*****@*****.**", ["*****@*****.**"])
                    except:
                        raise Exception("There was an error in sending the email.")
                    volunteer_shift.edit_requested = True
                    volunteer_shift.save()
                    return HttpResponseRedirect(
                        reverse('shift:view_hours', args=(volunteer_id, )))
                else:
                    messages.add_message(
                        self.request, messages.INFO,
                        'Logged hours should be between shift hours')
                    return render(
                        self.request, 'shift/edit_hours.html', {
                            'form': form,
                            'shift_id': shift_id,
                            'volunteer_id': volunteer_id,
                            'shift': shift,
                            'volunteer_shift': volunteer_shift,
                        })

            else:
                messages.add_message(
                    self.request, messages.INFO,
                    'End time should be greater than start time')
                return render(
                    self.request, 'shift/edit_hours.html', {
                        'form': form,
                        'shift_id': shift_id,
                        'volunteer_id': volunteer_id,
                        'shift': shift,
                        'volunteer_shift': volunteer_shift,
                    })
        except:
            raise Http404
Exemplo n.º 11
0
    def form_valid(self, form):
        volunteer_id = self.kwargs['volunteer_id']
        shift_id = self.kwargs['shift_id']
        shift = get_shift_by_id(shift_id)
        volunteer_shift = get_volunteer_shift_by_id(volunteer_id, shift_id)
        volunteer = get_volunteer_by_id(volunteer_id)
        start_time = form.cleaned_data['start_time']
        end_time = form.cleaned_data['end_time']
        shift_start_time = shift.start_time
        shift_end_time = shift.end_time
        event = shift.job.event
        site = get_current_site(self.request)
        try:
            if end_time > start_time:
                if (start_time >= shift_start_time
                        and end_time <= shift_end_time):
                    request = form.save(commit=False)
                    request.volunteer_shift = volunteer_shift
                    request.save()
                    message = render_to_string(
                        'shift/request_admin.html', {
                            'volunteer': volunteer,
                            'new_start_time': start_time,
                            'new_end_time': end_time,
                            'original_start_time': shift_start_time,
                            'original_end_time': shift_end_time,
                            'event': event,
                            'edit_request': request,
                            'shift_id': shift_id,
                            'domain': site.domain,
                        })
                    try:
                        send_mail("Edit request", message,
                                  "*****@*****.**",
                                  ["*****@*****.**"])
                    except Exception:
                        raise Exception(
                            "There was an error in sending the email.")
                    volunteer_shift.edit_requested = True
                    volunteer_shift.save()
                    return HttpResponseRedirect(
                        reverse('shift:view_hours', args=(volunteer_id, )))
                else:
                    messages.add_message(
                        self.request, messages.INFO,
                        'Logged hours should be between shift hours')
                    return render(
                        self.request, 'shift/edit_hours.html', {
                            'form': form,
                            'shift_id': shift_id,
                            'volunteer_id': volunteer_id,
                            'shift': shift,
                            'volunteer_shift': volunteer_shift,
                        })

            else:
                messages.add_message(
                    self.request, messages.INFO,
                    'End time should be greater than start time')
                return render(
                    self.request, 'shift/edit_hours.html', {
                        'form': form,
                        'shift_id': shift_id,
                        'volunteer_id': volunteer_id,
                        'shift': shift,
                        'volunteer_shift': volunteer_shift,
                    })
        except Exception:
            raise Http404