コード例 #1
0
 def post(self, request, *args, **kwargs):
     event_id = self.kwargs['event_id']
     if event_id:
         event = get_event_by_id(event_id)
         form = EventForm(self.request.POST, instance=event)
         if form.is_valid():
             start_date_event = form.cleaned_data['start_date']
             end_date_event = form.cleaned_data['end_date']
             event_edit = check_edit_event(event_id, start_date_event,
                                           end_date_event)
             if not event_edit['result']:
                 return render(
                     request, 'event/edit_error.html', {
                         'count': event_edit['invalid_count'],
                         'jobs': event_edit['invalid_jobs']
                     })
             if start_date_event < datetime.date.today():
                 data = request.POST.copy()
                 data['end_date'] = end_date_event
                 messages.add_message(
                     request, messages.INFO,
                     'Start date should be today\'s date or later.')
                 form = EventForm(data)
                 return render(request, 'event/edit.html', {
                     'form': form,
                 })
             else:
                 event_to_edit = form.save(commit=False)
                 try:
                     country_name = self.request.POST.get('country')
                     country = Country.objects.get(name=country_name)
                 except ObjectDoesNotExist:
                     country = None
                 event_to_edit.country = country
                 try:
                     state_name = self.request.POST.get('state')
                     state = Region.objects.get(name=state_name)
                 except ObjectDoesNotExist:
                     state = None
                 event_to_edit.state = state
                 try:
                     city_name = self.request.POST.get('city')
                     city = City.objects.get(name=city_name)
                 except ObjectDoesNotExist:
                     city = None
                 event_to_edit.city = city
                 event_to_edit.save()
                 return HttpResponseRedirect(reverse('event:list'))
         else:
             data = request.POST.copy()
             try:
                 data['end_date'] = form.cleaned_data['end_date']
             except KeyError:
                 data['end_date'] = ''
             form = EventForm(data)
             return render(request, 'event/edit.html', {
                 'form': form,
             })
コード例 #2
0
ファイル: views.py プロジェクト: pradeepgangwar/vms
 def post(self, request, *args, **kwargs):
     event_id = self.kwargs['event_id']
     if event_id:
         event = get_event_by_id(event_id)
         form = EventForm(self.request.POST, instance=event)
         if form.is_valid():
             start_date_event = form.cleaned_data['start_date']
             end_date_event = form.cleaned_data['end_date']
             event_edit = check_edit_event(event_id, start_date_event,
                                           end_date_event)
             if not event_edit['result']:
                 return render(
                     request, 'event/edit_error.html', {
                         'count': event_edit['invalid_count'],
                         'jobs': event_edit['invalid_jobs']
                     })
             if start_date_event < datetime.date.today():
                 data = request.POST.copy()
                 data['end_date'] = end_date_event
                 messages.add_message(
                     request, messages.INFO,
                     'Start date should be today\'s date or later.')
                 form = EventForm(data)
                 return render(request, 'event/edit.html', {
                     'form': form,
                 })
             else:
                 form.save()
                 return HttpResponseRedirect(reverse('event:list'))
         else:
             data = request.POST.copy()
             try:
                 data['end_date'] = form.cleaned_data['end_date']
             except KeyError:
                 data['end_date'] = ''
             form = EventForm(data)
             return render(request, 'event/edit.html', {
                 'form': form,
             })
コード例 #3
0
ファイル: views.py プロジェクト: systers/vms
 def post(self, request, *args, **kwargs):
     event_id = self.kwargs['event_id']
     if event_id:
         event = get_event_by_id(event_id)
         form = EventForm(self.request.POST, instance=event)
         if form.is_valid():
             start_date_event = form.cleaned_data['start_date']
             end_date_event = form.cleaned_data['end_date']
             event_edit = check_edit_event(event_id, start_date_event,
                                           end_date_event)
             if not event_edit['result']:
                 return render(
                     request, 'event/edit_error.html', {
                         'count': event_edit['invalid_count'],
                         'jobs': event_edit['invalid_jobs']
                     })
             if start_date_event < datetime.date.today():
                 data = request.POST.copy()
                 data['end_date'] = end_date_event
                 messages.add_message(
                     request, messages.INFO,
                     'Start date should be today\'s date or later.')
                 form = EventForm(data)
                 return render(request, 'event/edit.html', {
                     'form': form,
                 })
             else:
                 form.save()
                 return HttpResponseRedirect(reverse('event:list'))
         else:
             data = request.POST.copy()
             try:
                 data['end_date'] = form.cleaned_data['end_date']
             except KeyError:
                 data['end_date'] = ''
             form = EventForm(data)
             return render(request, 'event/edit.html', {
                 'form': form,
             })
コード例 #4
0
ファイル: test_services.py プロジェクト: rahulyhg/vms-1
    def test_check_edit_event(self):
        """ Uses events e4 and e5 """

        # test typical cases
        start_date1 = datetime.date(2012, 10, 8)
        start_date2 = datetime.date(2012, 10, 7)
        start_date3 = datetime.date(2012, 10, 15)
        start_date4 = datetime.date(2013, 10, 8)
        stop_date1 = datetime.date(2012, 10, 23)
        stop_date2 = datetime.date(2012, 10, 22)
        stop_date3 = datetime.date(2012, 10, 26)
        stop_date4 = datetime.date(2013, 10, 23)

        # edit with valid date
        out1 = check_edit_event(self.e4.id, start_date1, stop_date1)

        # edit with one job outside date range
        out2 = check_edit_event(self.e4.id, start_date2, stop_date2)
        out3 = check_edit_event(self.e4.id, start_date3, stop_date3)
        # edit with both jobs outside
        out4 = check_edit_event(self.e4.id, start_date4, stop_date4)

        # check for event with no jobs
        out5 = check_edit_event(self.e5.id, start_date1, stop_date1)
        # check for non existing event
        out6 = check_edit_event(1000, start_date1, stop_date1)

        self.assertTrue(out1['result'])
        self.assertFalse(out2['result'])
        self.assertFalse(out3['result'])
        self.assertFalse(out4['result'])
        self.assertTrue(out5['result'])
        self.assertFalse(out6['result'])

        self.assertEqual(out1['invalid_count'], 0)
        self.assertEqual(out2['invalid_count'], 1)
        self.assertEqual(out4['invalid_count'], 2)

        self.assertIn(j4.name, out2['invalid_jobs'])
        self.assertIn(j4.name, out4['invalid_jobs'])
        self.assertIn(j3.name, out4['invalid_jobs'])
コード例 #5
0
ファイル: test_services.py プロジェクト: systers/vms
    def test_check_edit_event(self):
        """ Uses events e4 and e5 """

        # test typical cases
        start_date1 = datetime.date(2012, 10, 8)
        start_date2 = datetime.date(2012, 10, 7)
        start_date3 = datetime.date(2012, 10, 15)
        start_date4 = datetime.date(2013, 10, 8)
        stop_date1 = datetime.date(2012, 10, 23)
        stop_date2 = datetime.date(2012, 10, 22)
        stop_date3 = datetime.date(2012, 10, 26)
        stop_date4 = datetime.date(2013, 10, 23)

        # edit with valid date
        out1 = check_edit_event(self.e4.id, start_date1, stop_date1)

        # edit with one job outside date range
        out2 = check_edit_event(self.e4.id, start_date2, stop_date2)
        out3 = check_edit_event(self.e4.id, start_date3, stop_date3)
        # edit with both jobs outside
        out4 = check_edit_event(self.e4.id, start_date4, stop_date4)

        # check for event with no jobs
        out5 = check_edit_event(self.e5.id, start_date1, stop_date1)
        # check for non existing event
        out6 = check_edit_event(1000, start_date1, stop_date1)

        self.assertTrue(out1['result'])
        self.assertFalse(out2['result'])
        self.assertFalse(out3['result'])
        self.assertFalse(out4['result'])
        self.assertTrue(out5['result'])
        self.assertFalse(out6['result'])

        self.assertEqual(out1['invalid_count'], 0)
        self.assertEqual(out2['invalid_count'], 1)
        self.assertEqual(out4['invalid_count'], 2)

        self.assertIn(j4.name, out2['invalid_jobs'])
        self.assertIn(j4.name, out4['invalid_jobs'])
        self.assertIn(j3.name, out4['invalid_jobs'])