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