def create():
	post_data = get_post_data()
	post_data['lead_id'] = parse_endpoint(post_data['lead'], 'leads')

	# saves the job
	job = Job()
	job.build(post_data)
	job.status = 'CREATED'
	job.unique_id = Job.generate_unique_id()

	if job.put():
		# enqueue job to be sent to townflix
		_enqueue_job_creation_message(job)

		pprint.pprint('=== JOB CREATED')

		# mark the lead as converted
		lead = job.lead.get()
		lead.status = 'CONVERTED'
		lead.put()

		create_activity('LEAD_CONVERTED', lead=lead, job=job)
		create_activity('JOB_CREATED', lead=lead, job=job)

		# send a message to property owner
		_enqueue_job_create_message(job)

		# if the lead has been sent by someone
		if lead.sender_broker is not None:
			# send a message to the broker
			_enqueue_broker_job_create_message(job)

		return jsonify(data=job.to_json()), 201
	else:
		return jsonify(data=job.error_messages()), 500
Esempio n. 2
0
 def post(self):
     job = Job()
     job.title = self.request.get("title")
     job.description = self.request.get("description")
     job.salary = self.request.get("salary")
     job.location = self.request.get("location")
     job.industry = self.request.get("industry")
     job.contact_phone = self.request.get("contact_phone")
     job.job_type = self.request.get("job_type")
     job.company = self.request.get("company")
     job.contact_name = self.request.get("contact_name")
     job.contact_email = self.request.get("contact_email")
     job.put()
     self.response.out.write(job.to_json("title", "is_deleted", "is_active", "is_starred", "when_created"))