def populate_job(form, job=None): """Populates a `Job` model from a `JobForm` object. :param form: A `JobForm` instance. """ if job is None: job = Job() form_data = form.data job.title = form_data['title'] job.description = form_data['description'] job.job_type = form_data['job_type'] job.contact_method = form_data['contact_method'] job.remote_work = form_data['remote_work'] job.replace_tags(form_data['tags']) job.recruiter_name = form_data['recruiter_name'] job.recruiter_email = form_data['recruiter_email'] job.populate_slug() if job.contact_method == 1: job.contact_url = form_data['contact_url'] else: job.contact_email = form_data['contact_email'] populate_company(job, form_data) populate_location(job, form_data) return job