def job(jobid): if request.method == 'GET': job = Job.objects(jobid=int(jobid)).first() stages = Stage.objects(job=job) ref = Referral.objects(job=job) if request_wants_json(): return mongodoc_jsonify(item=job.to_mongo()) else: return render_template('list_job.html', job=job, referrals=ref, stages=stages) if request.method == 'PUT': job = Job.objects(jobid=int(jobid)).first() if request_has_json(): json_data = json.dumps(request.json, default=json_util.default) model = Job.from_json(json_data) job.locationName = model.locationName job.title = model.title job.permOrCont = model.permOrCont job.remuneration = model.remuneration job.tSkill1 = model.tSkill1 job.tSkill2 = model.tSkill2 job.tSkill3 = model.tSkill3 job.pSkill1 = model.pSkill1 job.pSkill2 = model.pSkill2 job.pSkill3 = model.pSkill3 job.qalNeeded = model.qalNeeded job.qal = model.qal job.projChar1 = model.projChar1 job.projChar2 = model.projChar2 job.projChar3 = model.projChar3 job.teamChar1 = model.teamChar1 job.teamChar2 = model.teamChar2 job.teamChar3 = model.teamChar3 job.save() '''Job.objects(jobid=int(jobid)).first().update(json_data)''' return mongodoc_jsonify(item=job.reload().to_mongo()) else: form = AddJobForm(request.form) form.populate_obj(job) job.save() return render_template('list_job.html', jobs=[job])
def stages(jobid): if request.method == 'GET': job = Job.objects(jobid=int(jobid)).first() stages = Stage.objects(job=job) itemLst = [dict(stage.to_mongo()) for stage in stages] return mongodoc_jsonify(items=itemLst) if request.method == 'POST': if request_has_json(): try: job = Job.objects(jobid=int(jobid)).first() reward = Reward.objects(itemid=request.json['reward']).first() model = Stage() model.job = job model.reward = reward model.rewardDesc = reward.itemid model.jobDesc = str(job.jobid) model.stage = request.json['stage'] model.save() model.reload() return mongodoc_jsonify(item=model.to_mongo()) except ValidationError as e: return jsonify(item=str(e))
def edit_job_form(id): job = Job.objects(jobid=id).first() stages = Stage.objects(job=job) form = AddJobForm(request.form, obj=job,) return render_template('add_job.html', form=form, edit=True, stages=stages)
def delete_stage(jobid): stage = Stage.objects(id=request.json['id']).first().delete() return mongodoc_jsonify(item='Object Deleted')