Example #1
0
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
Example #2
0
def test_job_slug_model_mixin():
    job = Job()
    assert job.slug is None

    job.populate_slug()
    assert job.slug is None

    job.title = u'test'
    job.populate_slug()
    assert job.slug == u'test'

    job.title = u'test1'
    job.populate_slug()
    assert job.slug == u'test1'