示例#1
0
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'})
示例#2
0
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'})
示例#3
0
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)
示例#4
0
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'})
示例#5
0
文件: main.py 项目: yxngxr1/works-log
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')
示例#6
0
文件: main.py 项目: danilakom/Test
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)
示例#7
0
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='Добавление')
示例#8
0
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)
示例#9
0
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)
示例#10
0
文件: main.py 项目: MrEmgin/MarsIT
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)
示例#11
0
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)
示例#12
0
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)
示例#13
0
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'})
示例#14
0
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'})
示例#15
0
文件: jobs_api.py 项目: yxngxr1/COM-2
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'})
示例#16
0
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()
示例#17
0
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'})
示例#18
0
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'})
示例#20
0
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)
示例#21
0
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()
示例#22
0
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()
示例#23
0
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)
示例#24
0
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)
示例#25
0
文件: main.py 项目: YukiNagat0/Flask
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()
示例#26
0
    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'})
示例#27
0
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()
示例#28
0
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()
示例#29
0
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()
示例#30
0
 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'})