def create_job(user_id): """Used by users to create job posts""" if not g.user: flash("Access unauthorized.", "danger") return redirect("/") if g.user and session[CURR_USER_KEY] == user_id: genres = Genre.query.all() regions = Region.query.all() # list of tuples for selectfield region_list = [(i.id, i.city) for i in regions] genre_list = [(j.id, j.genre) for j in genres] form = JobForm() #passing selectfield choice into the form form.region_id.choices = region_list form.genre_id.choices = genre_list if form.validate_on_submit(): job = JobPost(title=form.title.data, description=form.description.data, pay=form.pay.data, date=form.date.data, region_id=form.region_id.data, user_id=user_id, genre_id=form.genre_id.data) db.session.add(job) db.session.commit() return redirect(f"/users/{user_id}") return render_template("jobs/job-form.html", form=form) else: flash("Access unauthorized.", "danger") return redirect("/")
def add_job(): form = JobForm() if form.validate_on_submit(): session = db_session.create_session() job = Jobs() job.job = form.title.data job.team_leader = form.leader_id.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data job.creator = current_user.id category_id = form.category.data category = session.query(CategoryJob).filter( CategoryJob.id == category_id).first() job.categories.append(category) session.commit() try: current_user.jobs.append(job) except sqlalchemy.orm.exc.DetachedInstanceError: pass except sqlalchemy.exc.InvalidRequestError: pass session.merge(current_user) session.commit() return redirect('/') return render_template('add_job.html', title='Adding a job', form=form)
def new_job(): form = JobForm() if form.validate_on_submit(): session = db_session.create_session() job = Jobs() job.job = form.title.data job.team_leader = form.leader_id.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data job.creator = current_user.id category_id = form.category.data category = session.query(CategoryJob).filter( CategoryJob.id == category_id).first() job.categories.append(category) session.commit() try: current_user.jobs.append(job) except: pass session.merge(current_user) session.commit() return redirect('/') return render_template('new_job.html', title='New job', form=form)
def create(): form = JobForm() print(form.validate_on_submit(), '---------------1------------') if form.validate_on_submit(): company_id = current_user.id print('职位视图 调用--------') form.create_job(company_id) flash('职位创建成功', 'success') return redirect_job_index() print(' 职位视图结束-------') return render_template('job/create.html', form=form, active='manage', panel='create')
def index(): form = JobForm() if request.method == "POST" and form.validate_on_submit(): obj = create_request(**form.data) flash('Application has been added successfully') if obj: return redirect(url_for('content_list')) return render_template('index.html', **locals()) print "+++++", form.errors
def edit(job_id): job_obj = Job.query.get_or_404(job_id) if job_obj.company_id != current_user.id and not current_user.is_admin(): abort(404) form = JobForm(obj=job_obj) if form.validate_on_submit(): form.update_job(job_obj) flash('职位更新成功', 'success') return redirect_job_index() return render_template('job/edit.html', form=form, job_id=job_id)
def edit_job(id): form = JobForm() if request.method == "GET": session = db_session.create_session() if current_user.id == 1: job = session.query(Jobs).filter(Jobs.id == id).first() else: job = session.query(Jobs).filter( Jobs.id == id, Jobs.creator == current_user.id).first() if job: form.title.data = job.job form.leader_id.data = job.team_leader form.work_size.data = job.work_size form.collaborators.data = job.collaborators form.is_finished.data = job.is_finished form.category.data = job.categories[0].id else: abort(404) if form.validate_on_submit(): session = db_session.create_session() if current_user.id == 1: job = session.query(Jobs).filter(Jobs.id == id).first() else: job = session.query(Jobs).filter( Jobs.id == id, Jobs.creator == current_user.id).first() if job: job.job = form.title.data job.team_leader = form.leader_id.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data category_id = form.category.data category = session.query(CategoryJob).filter( CategoryJob.id == category_id).first() job.categories[0] = category session.commit() try: current_user.jobs.append(job) except sqlalchemy.orm.exc.DetachedInstanceError: pass except sqlalchemy.exc.InvalidRequestError: pass session.commit() return redirect('/') else: abort(404) return render_template('add_job.html', title='Job edit', form=form)
def new_job(): form = JobForm() if form.validate_on_submit(): session = db.create_session() job = models.jobs.Jobs(job=form.job.data, work_size=form.work_size.data, start_date=form.start_date.data, end_date=form.end_date.data, collaborators=form.collaborators.data, is_finished=form.is_finished.data, team_leader=form.team_leader.data, hazard_category=form.hazard_category.data) session.add(job) session.commit() return redirect('/jobs') return render_template('new_job.html', title='New job', form=form, current_user=current_user)
def edit_job(id): form = JobForm() if request.method == "GET": session = db.create_session() job = session.query(models.jobs.Jobs).filter( models.jobs.Jobs.id == id, ((models.jobs.Jobs.user == current_user) | (models.jobs.Jobs.team_leader == 1))).first() if job: form.job.data = job.job form.work_size.data = job.work_size form.start_date.data = job.start_date form.end_date.data = job.end_date form.collaborators.data = job.collaborators form.is_finished.data = job.is_finished form.team_leader.data = job.team_leader form.hazard_category.data = job.hazard_category else: abort(404) if form.validate_on_submit(): session = db.create_session() job = session.query(models.jobs.Jobs).filter( models.jobs.Jobs.id == id, ((models.jobs.Jobs.user == current_user) | (models.jobs.Jobs.team_leader == 1))).first() if job: job.job = form.job.data job.work_size = form.work_size.data job.start_date = form.start_date.data job.end_date = form.end_date.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data job.team_leader = form.team_leader.data job.hazard_category = form.hazard_category.data session.commit() return redirect('/jobs') else: abort(404) return render_template('new_job.html', title='Редактирование новости', form=form)
def home(): """Render website's home page.""" form = JobForm() if form.validate_on_submit(): uniqid = generate_uniqid(10) jobdir = app.config['UPLOAD_FOLDER'] + "/" + uniqid + "/" os.makedirs(jobdir) mp3_filename = secure_filename(form.mp3.data.filename) mp3_new_name = jobdir + uniqid + ".mp3" form.mp3.data.save(mp3_new_name) pic_filename = secure_filename(form.pic.data.filename) _, pic_extension = os.path.splitext(pic_filename) pic_new_name = jobdir + uniqid + pic_extension form.pic.data.save(pic_new_name) video_output = jobdir + uniqid + ".mkv" task = tasks.make_video.apply_async( (uniqid, pic_new_name, mp3_new_name, video_output), countdown=app.config['PHOSIC_TASK_DELAY'], expires=app.config['PHOSIC_TASK_MAX_EXECUTION_TIME']) # Create database item job = models.Job( uniqid=uniqid, task_uuid=task.id, email=form.email.data, created=datetime.datetime.utcnow(), expires=datetime.datetime.utcnow() + datetime.timedelta( minutes=app.config["PHOSIC_JOB_EXPIRY_MINUTES"]), mp3_name=mp3_filename[:255], pic_name=pic_filename[:255], ) db.session.add(job) db.session.commit() return redirect(url_for('jobs', job_id=job.uniqid)) return render_template('home.html', form=form)