def edit(request, job_id): job = None if job_id: job = get_job_by_id(job_id) event_list = get_events_ordered_by_name() if request.method == 'POST': form = JobForm(request.POST, instance=job) if form.is_valid(): job_to_edit = form.save(commit=False) event_id = request.POST.get('event_id') event = get_event_by_id(event_id) if event: job_to_edit.event = event else: raise Http404 job_to_edit.save() return HttpResponseRedirect(reverse('job:list')) else: return render(request, 'job/edit.html', { 'form': form, 'event_list': event_list, 'job': job }) else: form = JobForm(instance=job) return render(request, 'job/edit.html', { 'form': form, 'event_list': event_list, 'job': job })
def create(request): event_list = get_events_ordered_by_name() if request.method == 'POST': form = JobForm(request.POST) if form.is_valid(): job = form.save(commit=False) event_id = request.POST.get('event_id') event = get_event_by_id(event_id) if event: job.event = event else: raise Http404 job.save() return HttpResponseRedirect(reverse('job:list')) else: return render(request, 'job/create.html', { 'form': form, 'event_list': event_list }) else: form = JobForm() return render(request, 'job/create.html', { 'form': form, 'event_list': event_list })
def create_post(request): form = JobForm(request.POST or None, request.FILES or None) if form.is_valid(): form.save() return redirect('dashboard') context = {'form': form} return render(request, 'create_post.html', context)
def editpost(request, id): data = Job.objects.get(pk=id) form = JobForm(request.POST or None, request.FILES or None, instance=data) if form.is_valid(): form.save() return redirect('dashboard') context = {'form': form} return render(request, 'edit_post.html', context)
def test_JobForm_fields_labels(self): form = JobForm() self.assertEquals(form.fields['jobNr'].label, 'Job number') self.assertEquals(form.fields['city'].label, 'City') self.assertEquals(form.fields['street'].label, 'Street') self.assertEquals(form.fields['zip'].label, 'Zip') self.assertEquals(form.fields['start'].label, 'Start Not required') self.assertEquals(form.fields['finish'].label, 'Finish Not required')
def test_JobForm_finish_date_and_no_start_date(self): date = timezone.now() form_data = { 'finish': date, 'city': 'city', 'street': 'street', 'jobNr': 1, 'zip': '00-001' } form = JobForm(data=form_data) self.assertFalse(form.is_valid())
def test_JobForm_correct_start_and_finish_date(self): start_date = datetime.date.today() finish_date = datetime.date.today() + datetime.timedelta(days=1) form_data = { 'start': start_date, 'finish': finish_date, 'city': 'city', 'street': 'street', 'jobNr': 1, 'zip': '00-001' } form = JobForm(data=form_data) self.assertTrue(form.is_valid())
def test_JobForm_finish_date_before_start_date(self): start_date = timezone.now() + datetime.timedelta(days=1) finish_date = timezone.now() form_data = { 'start': start_date, 'finish': finish_date, 'city': 'city', 'street': 'street', 'jobNr': 1, 'zip': '00-001' } form = JobForm(data=form_data) self.assertFalse(form.is_valid())
def post_job(request): if request.method == 'POST': form = JobModelForm(request.POST) if form.is_valid(): company = Company.objects.get(user=request.user) job = form.save(commit=False) job.company = company form.save() messages.success(request, 'Job Posted Successfully!') else: messages.error(request, 'Something is Wrong, try again!') else: form = JobForm(None) # To display different options for job field fields = Field.objects.all() context_dict = {'form': form, 'fields': fields} return render(request, 'job/postjob.html', context_dict)
def edit_job(request, slug): if request.method == 'POST': job = Job.objects.get(slug=slug) form = JobModelForm(request.POST, instance=job) company = Company.objects.get(user=request.user) if form.is_valid(): form.save() messages.success(request, 'Job Posting Edited!') else: messages.error(request, 'Something is Wrong, try again!') return HttpResponseRedirect('/') else: form = JobForm() job = Job.objects.get(slug=slug) # To display different options for job field fields = Field.objects.all() context_dict = {'form': form, 'fields': fields, 'job': job} return render(request, 'job/edit-job.html', context_dict)
def test_JobForm_fields_widgets(self): form = JobForm() self.assertEquals(type(form.fields['start'].widget), forms.SelectDateWidget) self.assertEquals(type(form.fields['finish'].widget), forms.SelectDateWidget)