def create_jobs(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in [ 'job', 'team_leader', 'work_size', 'collaborators', 'categories_levels' ]): return jsonify({'error': 'Bad request'}) session = db_session.create_session() ids = list(map(operator.itemgetter(0), session.query(Jobs.id).all())) if request.json.get('id') in ids: return jsonify({'error': 'Id already exists'}) try: collaborators = get_collaborators(request.json) except Exception as e: return jsonify({'error': str(e)}) jobs = Jobs(job=request.json['job'], team_leader=request.json['team_leader'], work_size=request.json['work_size'], collaborators=', '.join(map(str, collaborators)), start_date=request.json.get('start_date'), end_date=request.json.get('end_date'), is_finished=request.json.get('is_finished'), id=request.json.get('id')) try: categories = get_categories(request.json) except Exception as e: return jsonify({'error': str(e)}) jobs.categories.extend(categories) jobs.author = request.json['team_leader'] session.add(session.merge(jobs)) session.commit() return jsonify({'success': 'OK'})
def create_job(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in [ 'id', 'job', 'team_leader_id', 'work_size', 'collaborators', 'categories_id', 'is_finished' ]): return jsonify({'error': 'Bad request'}) session = db_session.create_session() if session.query(Jobs).filter(Jobs.id == request.json['id']).first(): return jsonify({'error': 'Id already exists'}) job = Jobs() job.job = request.json['job'] job.id = request.json['id'] job.team_leader_id = request.json['team_leader_id'] job.work_size = request.json['work_size'] job.collaborators = request.json['collaborators'] job.is_finished = request.json['is_finished'] job.team_leader = session.query(User).filter( User.id == request.json['team_leader_id']).first() job.categories_id = request.json['categories_id'] session.add(job) session.commit() for i in request.json['categories_id'].split(', '): job.categories.append( session.query(Category).filter(Category.id == int(i)).first()) session.commit() return jsonify({'success': 'OK'})
def add_job(): form = JobsForm() if form.validate_on_submit(): session = create_session() job = Jobs() job.customer = current_user.id job.title = form.title.data job.cost = form.cost.data job.description = form.description.data job.brief = ''.join(form.description.data[:30] + '...') job.category = form.category.data job.category_2 = form.category_2.data UPLOAD_DIR: Path = Path(__file__).parent / 'static/jobs_img' UPLOAD_DIR.mkdir(parents=True, exist_ok=True) for upload in request.files.getlist('images'): filename = secure_filename(upload.filename) if filename != '': save_path = str(UPLOAD_DIR / filename) upload.save(save_path) job.img = '\\static' + save_path.split("\\static")[1] session.add(job) session.merge(current_user) session.commit() return redirect('/') return render_template('job_add.html', title='Adding a job', form=form)
def create_job(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in ['job', 'work_size', 'collaborators', 'start_date', 'is_finished', 'team_leader']): return jsonify({'error': 'Bad request'}) db_sess = db_session.create_session() if request.json.get('id'): if db_sess.query(Jobs).filter(Jobs.id == int(request.json['id'])).first(): return jsonify({'error': 'Id already exists'}) job = Jobs( job=request.json['job'], work_size=int(request.json['work_size']), collaborators=request.json['collaborators'], start_date=datetime.datetime.strptime( request.json['start_date'], '%d-%m-%y').date(), is_finished=request.json['is_finished'], team_leader=int(request.json['team_leader']) ) if request.json.get('id'): job.id = int(request.json['id']) if request.json.get('end_date'): job.end_date = datetime.datetime.strptime( request.json['end_date'], '%d-%m-%y').date() db_sess.add(job) db_sess.commit() return jsonify({'success': 'OK'})
def main(): db_session.global_init("db/mars_explorer.db") session = db_session.create_session() user1 = User(surname="Scott", name="Ridley", age="21", position="captain", speciality="engineer", address="module_1", email="*****@*****.**") user2 = User(surname="Weir", name="Andy", age="21", position="captain", speciality="engineer", address="module_1", email="*****@*****.**") user3 = User(surname="Sanders", name="Teddy", age="21", position="captain", speciality="engineer", address="module_1", email="*****@*****.**") for user in [user1, user2, user3]: session.add(user) session.commit() job1 = Jobs(team_leader=1, job='Deployment of residential modules 1 and 2', work_size=15, collaborators='2, 3', start_date=(datetime.datetime.now()), is_finished=False, user=user1) job2 = Jobs(team_leader=2, job='Exploration of mineral resources', work_size=20, collaborators='4, 3', start_date=(datetime.datetime.now()), is_finished=True, user=user2) job3 = Jobs(team_leader=3, job='Development of a management system', work_size=25, collaborators='5', start_date=(datetime.datetime.now()), is_finished=False, user=user3) for job in [job1, job2, job3]: session.add(job) session.commit() app.run(port=8080, host='127.0.0.1')
def add_job(): form = Add_Job() if form.validate_on_submit(): session = db_session.create_session() job = Jobs() a = [user.id for user in session.query(User)] if form.team_leader.data not in a: return render_template( 'add_job.html', message="Такого пользователя не сущестсвует", form=form) job.team_leader = form.team_leader.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data if form.start_date.data: job.start_date = datetime.strptime(form.start_date.data, '%d.%m.%Y').date() if form.end_date.data: job.end_date = datetime.strptime(form.end_date.data, '%d.%m.%Y').date() job.is_finished = form.is_finished.data session.add(job) session.commit() return redirect('/') return render_template('add_job.html', title='Добавление работы', form=form)
def add_job(): form = JobForm() if form.validate_on_submit(): session = db_session.create_session() if str(current_user.id) == str(form.team_leader.data): job = Jobs() job.job = form.job.data job.team_leader = form.team_leader.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data job.start_date = datetime.datetime.now() job.end_date = datetime.datetime.now() job.categories.append(Category(name=form.categories.data)) print(job.categories, job.categories[0].name) session.add(job) session.commit() return redirect("/") return render_template('add_job.html', message="нет доступа", form=form, name='Добавление') return render_template('add_job.html', title='Добавление работы', form=form, text='Наше приложение', name='Добавление')
def add_job(): form = JobsForm() session = db_session.create_session() jobs = Jobs() if form.validate_on_submit(): jobs.description = form.description.data jobs.employer = current_user jobs.address = form.address.data jobs.date = form.date.data jobs.info = form.info.data address = form.address.data geocoder_api_server = "http://geocode-maps.yandex.ru/1.x/" geocoder_params = { "apikey": "40d1649f-0493-4b70-98ba-98533de7710b", "geocode": address, "format": "json" } response = requests.get(geocoder_api_server, params=geocoder_params) if response: json_response = response.json() toponym = json_response["response"]["GeoObjectCollection"][ "featureMember"][0]["GeoObject"] jobs.coords = toponym["Point"]["pos"] user = session.query(User).filter(User.id == current_user.id).first() user.job.append(jobs) session.merge(user) session.commit() return redirect('/myjobs') return render_template('jobs.html', title='Добавление обращения', 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 add_work(): form = AddWorkForm() if request.method == 'POST': session = db_session.create_session() data = form.end_date.data date = datetime.datetime.strptime(data, "%Y-%m-%d %H:%M:%S") job = Jobs() job.team_leader = form.team_leader.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.end_date = date job.is_finished = form.is_finished.data session.add(job) session.commit() return redirect('/works', code=302) return render_template('add_work.html', title='Adding work', form=form, warnings=[], data=[''] * 6)
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 edit_job(id): form = JobsForm() if request.method == "GET": session = db_session.create_session() job = session.query(Jobs).filter(Jobs.id == id).first() if job: form.job.data = job.job form.team_leader.data = job.team_leader form.work_size.data = job.work_size form.collaborators.data = job.collaborators form.start_date.data = job.start_date form.end_date.data = job.end_date form.is_finished.data = job.is_finished cats = "" for i in job.categories: cats += str(i.id) + "," form.categories.data = cats[:-1] else: abort(404) if form.validate_on_submit(): session = db_session.create_session() job = session.query(Jobs).filter(Jobs.id == id, ((Jobs.creator == current_user.id) | (current_user.id == 1))).first() if job: creatorr = job.creator session.delete(job) job = Jobs() job.team_leader = form.team_leader.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.start_date = form.start_date.data job.end_date = form.end_date.data job.is_finished = form.is_finished.data job.creator = creatorr for i in job.categories: job.categories.remove(HazardCategory(name=i.name)) categories = HazardCategory(name=form.categories.data) job.categories.append(categories) session.add(job) session.commit() return redirect('/page') else: abort(404) return render_template('edit_job.html', title='Редактирование работы', form=form)
def create_job(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in [ 'id', 'team_leader', 'job', 'work_size', 'collaborators', 'start_date', 'end_date', 'is_finished' ]): return jsonify({'error': 'Bad request'}) session = db_session.create_session() if session.query(Jobs).all(request.json['id']): return jsonify({'error': 'Bad request'}) job = Jobs(id=request.json['id'], team_leader=request.json['team_leader'], job=request.json['job'], work_size=request.json['work_size'], collaborators=request.json['collaborators'], start_date=request.json['start_date'], end_date=request.json['end_date'], is_finished=request.json['is_finished']) session.add(job) session.commit() return jsonify({'success': 'OK'})
def edit_job(job_id): session = db_session.create_session() if not request.json: return jsonify({'error': 'Empty request'}) elif not all( key in request.json for key in ['job', 'team_leader', 'work_size', 'collaborators', 'category']): return jsonify({'error': 'Bad request'}) jobs = Jobs(id=request.json['id'], job=request.json['job'], team_leader=request.json['team_leader'], work_size=request.json['work_size'], collaborators=request.json['collaborators'], category=request.json['category'], is_finished=request.json['is_finished']) job_to_edit = session.query(Jobs).filter(Jobs.id == job_id).first() if job_to_edit: job_to_edit.id = jobs.id job_to_edit.job = jobs.job job_to_edit.team_leader = jobs.team_leader job_to_edit.work_size = jobs.work_size job_to_edit.collaborators = jobs.collaborators job_to_edit.category = jobs.category job_to_edit.is_finished = jobs.is_finished session.commit() return jsonify({'success': 'OK'})
def create_job(): session = db_session.create_session() if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in ['id', 'job', 'team_leader', 'user_id', 'work_size', 'collaborators', 'is_finished']): return jsonify({'error': 'Bad request'}) # проверка на существование работы if session.query(Jobs).filter(Jobs.id == request.json['id']).first(): return jsonify({'error': 'Id already exists'}) job = Jobs( id=request.json['id'], job=request.json['job'], team_leader=request.json['team_leader'], user_id=request.json['user_id'], work_size=request.json['work_size'], collaborators=request.json['collaborators'], is_finished=request.json['is_finished'] ) session.add(job) session.commit() return jsonify({'success': 'OK'})
def main(): db_session.global_init("db/Mars.sqlite") session = db_session.create_session() app.register_blueprint(jobs_api.blueprint) j = Jobs() u = User() app.run()
def create_jobs(): if not flask.request.json: return flask.jsonify({'error': 'Empty request'}) elif not all(key in flask.request.json for key in [ 'team_leader', 'job', 'work_size', 'collaborators', 'start_date', 'end_date', 'is_finished' ]): return flask.jsonify({'error': 'Bad request'}) db_sess = db_session.create_session() jobs = Jobs(team_leader=flask.request.json['team_leader'], job=flask.request.json['job'], work_size=flask.request.json['work_size'], collaborators=flask.request.json['collaborators'], start_date=flask.request.json['start_date'], end_date=flask.request.json['end_date'], is_finished=flask.request.json['is_finished']) jobs_all = db_session.create_session().query(Jobs).all() jobs_item = list() for item in jobs_all: for i in item.to_dict(): if i == 'team_leader': jobs_item.append(item.to_dict()['team_leader']) if jobs.team_leader in jobs_item: return flask.jsonify({'error': 'Id already exists'}) db_sess.add(jobs) db_sess.commit() return flask.jsonify({'success': 'OK'})
def add_job(): form = JobForm() db_sess = db_session.create_session() form.categories.choices = [(category.id, category.name) for category in db_sess.query(Category).all()] if form.validate_on_submit(): if not db_sess.query(User).filter( User.id == form.team_leader.data).first(): return render_template("job.html", title="Добавить работу", form=form, message="Тимлидер не найден") job = Jobs(team_leader=form.team_leader.data, job=form.title.data, work_size=form.work_size.data, collaborators=form.collaborators.data, is_finished=form.is_finished.data, categories=[ db_sess.query(Category).get(category_id) for category_id in form.categories.data ]) db_sess.add(job) db_sess.commit() return redirect('/') return render_template('job.html', title='Добавить работу', form=form)
def post(self): form = parser.parse_args() session = db_session.create_session() if not session.query(User).filter( User.id == form["team_leader"]).first(): return jsonify({'error': 'Bad request'}) for collaborator in form["collaborators"].split(", "): try: if not session.query(User).filter( User.id == int(collaborator)).first(): return jsonify({'error': 'Bad request'}) except ValueError: return jsonify({'error': 'Bad request'}) if session.query(Jobs).get(form.get("id")): return jsonify({"error": "Id already exists"}) all_fields = { "id", "team_leader", "job", "work_size", "collaborators", "start_date", "end_date", "is_finished" } kwargs = { field: form[field] for field in all_fields.intersection(set(form)) } try: job = Jobs(**kwargs) except StatementError: return jsonify({"error": "Bad request"}) session.add(job) session.commit() return jsonify({'success': 'OK'})
def add_news(): if not current_user.is_authenticated: return redirect('/') form = JobsForm() if form.validate_on_submit(): session = db_session.create_session() news = Jobs() news.title = form.title.data news.content = form.content.data news.is_private = form.is_private.data current_user.news.append(news) session.merge(current_user) session.commit() return redirect('/') return render_template('jobs.html', form=form)
def make_job(team_leaderid, job, work_size, collaborators, start_date, is_finished): job_el = Jobs() job_el.team_leaderid = team_leaderid job_el.job = job job_el.work_size = work_size job_el.collaborators = collaborators job_el.start_date = start_date job_el.is_finished = is_finished session.add(job_el) session.commit()
def main(): db_session.global_init("db/mars_explorer.db") user_kap = User() user_kap.surname = "Scott" user_kap.name = "Ridley" user_kap.age = 21 user_kap.position = "captain" user_kap.speciality = "research engineer" user_kap.address = "module_1" user_kap.email = "*****@*****.**" db_sess = db_session.create_session() db_sess.add(user_kap) db_sess.commit() user_1 = User() user_1.surname = "Peter" user_1.name = "Polosh" user_1.age = 44 user_1.position = "junior commander" user_1.speciality = "senior mechanic" user_1.address = "module_2" user_1.email = "*****@*****.**" db_sess = db_session.create_session() db_sess.add(user_1) db_sess.commit() user_2 = User() user_2.surname = "Harry" user_2.name = "Brown" user_2.age = 23 user_2.position = "executor" user_2.speciality = "sailor" user_2.address = "module_4" user_2.email = "*****@*****.**" db_sess = db_session.create_session() db_sess.add(user_2) db_sess.commit() user_3 = User() user_3.surname = "Naill" user_3.name = "Horan" user_3.age = 32 user_3.position = "assistant captain" user_3.speciality = "radio operator" user_3.address = "module_2" user_3.email = "*****@*****.**" db_sess = db_session.create_session() db_sess.add(user_3) db_sess.commit() job = Jobs(team_leader=1, job="deployment of residential modules 1 and 2", work_size=15, collaborators="2, 3", is_finished=False) db_sess.add(job) db_sess.commit() app.run()
def add_job(): db_sess = db_session.create_session() form = AddJobForm() categories = {'': 0} for i in db_sess.query(Category).all(): categories[i.name] = i.id form.categories.choices = [i for i in categories.keys()] if form.validate_on_submit(): db_sess = db_session.create_session() job = Jobs() job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.team_leader = form.team_leader.data job.is_finished = form.is_finished.data category = categories[form.categories.data] if category: category = db_sess.query(Category).filter( Category.id == category).first() job.categories.append(category) db_sess.add(job) db_sess.commit() return redirect("/get_jobs") return render_template('add_job_form.html', title='Добавление работы', form=form)
def add_job(): form = JobsForm() if form.validate_on_submit(): session = db_session.create_session() jobs = Jobs() jobs.team_leader = form.team_leader.data jobs.job = form.job.data jobs.work_size = form.work_size.data jobs.collaborators = form.collaborators.data jobs.start_date = form.start_date.data jobs.end_date = form.end_date.data jobs.is_finished = form.is_finished.data jobs.category = form.category.data current_user.jobs.append(jobs) session.merge(current_user) session.commit() return redirect("/") return render_template("jobs.html", title="Добавление работы", form=form)
def add_jobs(jobs: List[dict]): db_sess = db_session.create_session() for job in jobs: job_object = Jobs(**job) db_sess.add(job_object) db_sess.commit() db_sess.close()
def post(self): args = parser.parse_args() session = db_session.create_session() job = Jobs(id=int(args['job_id']), team_leader=int(args['team_leader']), job=args['job'], work_size=int(args['work_size']), collaborators=args['collaborators'], is_finished=args['is_finished']) if args['start_date']: job.start_date = datetime.datetime.strptime( args['start_date'], '%d-%m-%y').date() if args['end_date']: job.end_date = datetime.datetime.strptime(args['end_date'], '%d-%m-%y').date() session.add(job) session.commit() return jsonify({'success': 'OK'})
def add_job(tl, jobs, ws, collab, st, isfin): job = Jobs() job.team_leader = tl job.job = jobs job.work_size = ws job.collaborators = collab if st != "now": job.start_date = st job.is_finished = isfin db_sess = db_session.create_session() db_sess.add(job) db_sess.commit()
def add_job(): session = db_session.create_session() job = Jobs(id=2, team_leader=1, job='ship cleaning', work_size=15, collaborators='2, 3', is_finished=False) session.add(job) session.commit()
def main(): session = db_session.create_session() job = Jobs() job.team_leader = 1 job.job = 'deployment of residential modules 1 and 2' job.work_size = 15 job.collaborators = '2, 3' job.start_date = datetime.datetime.now() job.is_finished = False session.add(job) session.commit() app.run()
def post(self): args = parser.parse_args() session = db_session.create_session() job = Jobs(job=args['job'], work_size=args['work_size'], collaborators=args['collaborators'], is_finished=args['is_finished'], team_leader=args['team_leader']) session.add(job) session.commit() return jsonify({'success': 'OK'})