def addjob(request): board = request.board job_static_form = JobStaticForm(board = board, prefix="job_static_form") job_contact_form = JobContactForm(prefix="job_contact_form") JobForm = get_job_form(board = request.board) form = JobForm(prefix="form") if request.method == "POST": form = JobForm(data = request.POST, files = request.FILES, prefix = "form") job_static_form = JobStaticForm(board = request.board, data = request.POST, prefix = "job_static_form") job_contact_form = JobContactForm(data = request.POST, prefix = "job_contact_form") if form.is_valid() and job_static_form.is_valid() and job_contact_form.is_valid(): job = job_static_form.save() Form = get_job_form(request.board, job = job, captcha_required=False) form = Form(data = request.POST, files = request.FILES, prefix = "form") assert form.is_valid() form.save() contact = job_contact_form.save(commit = False) contact.job = job contact.board = request.board contact.save() #request.user.message_set.create(message="The job has been added.") #The job has been added. It is inactive yet. Ask user to pay via Paypal if needed. if not board.cost_per_job_listing: #There is no charge for adding Jobs to this board. job.is_active = True job.save() return HttpResponseRedirect(reverse("frontend_job", args=[job.job_slug])) else: return HttpResponseRedirect(reverse("frontend_job_paypal", args=[job.pk])) pages = board.page_set.all() payload = {"job_static_form": job_static_form, "job_contact_form": job_contact_form, "job_form": form, "pages": pages} return render_to_response("frontend/addjob.html", payload, RequestContext(request))
def add_job(request): "Add a job, via the backend." job_static_form = JobStaticForm(board = request.board, prefix = "job_static_form") job_contact_form = JobContactForm(prefix = "job_contact_form") Form = get_job_form(request.board, captcha_required=False) form = Form( prefix = "form") if request.method == 'POST': form = Form(data = request.POST, files = request.FILES, prefix = "form") job_static_form = JobStaticForm(board = request.board, data = request.POST, prefix = "job_static_form") job_contact_form = JobContactForm(data = request.POST, prefix = "job_contact_form") if form.is_valid() and job_static_form.is_valid() and job_contact_form.is_valid(): job = job_static_form.save() Form = get_job_form(request.board, job=job, captcha_required=False) form = Form(data = request.POST, files = request.FILES, prefix = "form") assert form.is_valid() form.save() contact = job_contact_form.save(commit = False) contact.job = job contact.board = request.board contact.save() # since the job is added from admin, marking it as # active by default job.is_active = True job.save() request.user.message_set.create(message="The job has been added.") return HttpResponseRedirect(reverse('zobpress_index')) payload = {'form':form, 'job_static_form': job_static_form, "job_contact_form": job_contact_form} return render_to_response('zobpress/addjob.html', payload, RequestContext(request))