def get(self):
     session = db_session.create_session()
     categories = session.query(Category).all()
     return jsonify({
         'categories':
         [item.to_dict(only=("name", )) for item in categories]
     })
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     categories = Category(name=args['name'], )
     session.add(categories)
     session.commit()
     return jsonify({'success': 'OK'})
Exemple #3
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Пароли не совпадают")
        session = db_session.create_session()
        if session.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Такой пользователь уже есть")
        user = User(name=form.name.data,
                    email=form.email.data,
                    city=form.city.data,
                    address=form.address.data,
                    hashed_password=form.password.data,
                    create_date=datetime.datetime.now())

        user.set_password(form.password.data)
        session.add(user)
        session.commit()
        return redirect('/')
    return render_template('register.html', title='Регистрация', form=form)
Exemple #4
0
 def get(self):
     session = db_session.create_session()
     users = session.query(AliceUser).all()
     return jsonify({
         'users':
         [item.to_dict(only=('name', 'id_user')) for item in users]
     })
 def get(self, ad_id):
     abort_if_advertising_not_found(ad_id)
     session = db_session.create_session()
     advertising = session.query(Advertising).get(ad_id)
     return jsonify({'advertising': advertising.to_dict(
         only=('title', 'image', 'vk', 'instagram', 'site', 'telephone', 'price',
               'text', 'id_alice_user', 'id_user', 'id_category'))})
 def delete(self, ad_id):
     abort_if_advertising_not_found(ad_id)
     session = db_session.create_session()
     advertising = session.query(Advertising).get(ad_id)
     session.delete(advertising)
     session.commit()
     return jsonify({'success': 'OK'})
 def delete(self, user_id):
     abort_if_user_not_found(user_id)
     session = db_session.create_session()
     user = session.query(User).get(user_id)
     session.delete(user)
     session.commit()
     return jsonify({'success': 'OK'})
 def delete(self, category_id):
     abort_if_category_not_found(category_id)
     session = db_session.create_session()
     category = session.query(Category).get(category_id)
     session.delete(category)
     session.commit()
     return jsonify({'success': 'OK'})
Exemple #9
0
 def get(self, user_id):
     print(user_id)
     session = db_session.create_session()
     user = session.query(AliceUser).filter(
         AliceUser.id_user == user_id).first()
     if not user:
         abort(404, error=f"User {user_id} not found")
     return jsonify({'user': user.to_dict(only=('name', 'id_user'))})
Exemple #10
0
 def delete(self, user_id):
     session = db_session.create_session()
     user = session.query(AliceUser).filter(
         AliceUser.id_user == user_id).first()
     if not user:
         abort(404, error=f"User {user_id} not found")
     session.delete(user)
     session.commit()
     return jsonify({'success': 'OK'})
Exemple #11
0
def edit_ad(ad_id):
    if current_user.is_authenticated:
        form = AdvertisingForm()
        session = db_session.create_session()
        advertising = session.query(Advertising).filter(
            Advertising.id == ad_id).first()

        if advertising:
            if form.image.data is None:
                random_name = advertising.image
            else:
                random_name = get_random_name(
                ) + "." + form.image.data.filename.split(".")[-1]
                form.image.data.save(os.path.join('static/img/', random_name))
            if request.method == "GET":
                form.title.data = advertising.title
                form.text.data = advertising.text
                form.price.data = advertising.price
                form.vk.data = advertising.vk
                form.instagram.data = advertising.instagram
                form.site.data = advertising.site
                form.telephone.data = advertising.telephone
                form.category.data = session.query(Category).filter(
                    Category.id == advertising.id_category).first().name
            else:
                if form.validate_on_submit():
                    advertising.title = form.title.data
                    advertising.text = form.text.data
                    advertising.price = form.price.data
                    advertising.vk = form.vk.data
                    advertising.instagram = form.instagram.data
                    advertising.site = form.site.data
                    advertising.telephone = form.telephone.data
                    categor = session.query(Category).filter(
                        Category.name == form.category.data).first()
                    advertising.id_category = categor.id
                    if not (form.image.data is None):
                        t = str(
                            int(datetime.datetime.now().replace().timestamp() * 1000000 + random.randint(1, 1000))) + \
                            "." + form.image.data.filename.split('.')[-1]

                        shutil.move(
                            os.path.abspath(os.curdir + '/static/img/' +
                                            random_name),
                            os.path.abspath(os.curdir + '/static/img/' + t))
                        advertising.image = t
                    session.commit()

                    return redirect('/my_advertising')
        else:
            abort(404)
        return render_template('advertising.html',
                               title='Редактирование работы',
                               form=form,
                               random_name=random_name,
                               category=category)
    return redirect('/login')
 def get(self):
     session = db_session.create_session()
     users = session.query(User).all()
     return jsonify({
         'users': [
             item.to_dict(only=('name', 'city', 'address', 'email'))
             for item in users
         ]
     })
Exemple #13
0
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     users = AliceUser(
         name=args['name'],
         id_user=args['id_user'],
     )
     session.add(users)
     session.commit()
     return jsonify({'success': 'OK'})
Exemple #14
0
def my_advertising():
    session = db_session.create_session()
    if current_user.is_authenticated:
        advertisings = session.query(Advertising).filter(
            Advertising.id_user == current_user.id).order_by(
                Advertising.create_date.desc()).all()
    else:
        return redirect("/login")
    for ad in advertisings:
        ad.create_date = ad.create_date.strftime("%Y-%m-%d %H.%M.%S")
    return render_template("my_advertising.html", advertisings=advertisings)
Exemple #15
0
def advertising_page(ad_id):
    session = db_session.create_session()
    advertising = session.query(Advertising).filter(
        Advertising.id == ad_id).first()
    id_cat = advertising.id_category
    category = session.query(Category).filter(Category.id == id_cat).first()
    advertising.create_date = advertising.create_date.strftime(
        "%Y-%m-%d %H.%M.%S")
    return render_template('advertising_page.html',
                           title='Объявление',
                           advertising=advertising,
                           category=category)
 def post(self):
     args = parser.parse_args()
     session = db_session.create_session()
     users = User(
         name=args['name'],
         city=args['city'],
         address=args['address'],
         email=args['email'],
     )
     session.add(users)
     session.commit()
     return jsonify({'success': 'OK'})
Exemple #17
0
def new_ad():
    form = AdvertisingForm()
    if form.image.data is None:
        random_name = get_random_name() + '.jpg'
        shutil.copyfile(
            os.path.abspath(os.curdir + '/static/img/default_ad.jpg'),
            os.path.abspath(os.curdir + '/static/img/' + random_name))
    else:
        random_name = get_random_name() + "." + form.image.data.filename.split(
            ".")[-1]
        form.image.data.save(os.path.join('static/img/', random_name))
    if form.category.data is None:
        form.category.data = category[0]
    if form.validate_on_submit():
        session = db_session.create_session()
        print(form.category.data)
        advertising = Advertising()
        advertising.title = form.title.data
        advertising.text = form.text.data
        advertising.price = form.price.data
        advertising.vk = form.vk.data
        advertising.instagram = form.instagram.data
        advertising.site = form.site.data
        advertising.telephone = form.telephone.data
        categor = session.query(Category).filter(
            Category.name == form.category.data).first()
        advertising.id_category = categor.id
        t = str(
            int(datetime.datetime.now().replace().timestamp() * 1000000 +
                random.randint(1, 1000)))
        if form.image.data is None:
            t += '.jpg'
            shutil.copyfile(
                os.path.abspath(os.curdir + '/static/img/default_ad.jpg'),
                os.path.abspath(os.curdir + '/static/img/' + t))
        else:
            t += "." + form.image.data.filename.split('.')[-1]

            shutil.move(
                os.path.abspath(os.curdir + '/static/img/' + random_name),
                os.path.abspath(os.curdir + '/static/img/' + t))
        advertising.image = t
        advertising.create_date = datetime.datetime.now()
        advertising.id_user = current_user.id
        session.add(advertising)
        session.commit()
        return redirect('/my_advertising')
    return render_template('advertising.html',
                           title='Создаем объявление',
                           form=form,
                           random_name=random_name,
                           category=category)
Exemple #18
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.query(User).filter(
            User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect("/")
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form)
    return render_template('login.html', title='Авторизация', form=form)
Exemple #19
0
def delete_jobs(ad_id):
    if current_user.is_authenticated:
        session = db_session.create_session()
        advertising = session.query(Advertising).filter(
            Advertising.id == ad_id).first()
        if advertising:
            image = advertising.image
            session.delete(advertising)
            session.commit()
            os.remove(os.path.abspath(os.curdir + '/static/img/' + image))
        else:
            abort(404)
        return redirect('/my_advertising')
    return redirect('/login')
    def post(self):
        args = parser.parse_args()
        session = db_session.create_session()
        advertisings = Advertising(
            title=args['title'],
            image=args['image'],
            vk=args['vk'],
            instagram=args['instagram'],
            site=args['site'],
            telephone=args['telephone'],
            price=args['price'],
            text=args['text'],
            id_alice_user=args['id_alice_user'],
            id_user=args['id_user'],
            id_category=args['id_category'],

        )
        session.add(advertisings)
        session.commit()
        return jsonify({'success': 'OK'})
Exemple #21
0
def index():
    session = db_session.create_session()
    cat = request.args.get("cat")
    if cat:
        cat = session.query(Category).filter(Category.name == cat).first()
        advertisings = session.query(Advertising).filter(
            Advertising.categories == cat)
    else:
        advertisings = session.query(Advertising)
    q = request.args.get('q')
    if q:
        advertisings = advertisings.filter(
            Advertising.title.like(f'%{q}%')
            | Advertising.text.like(f'%{q}%')).all()
    else:
        advertisings = advertisings.all()

    for ad in advertisings:
        ad.create_date = ad.create_date.strftime("%Y-%m-%d %H.%M.%S")

    return render_template('main.html',
                           title='Главная страница',
                           advertisings=advertisings,
                           category=category)
 def get(self, category_id):
     abort_if_category_not_found(category_id)
     session = db_session.create_session()
     category = session.query(Category).get(category_id)
     return jsonify({'category': category.to_dict(only=('name', ))})
Exemple #23
0
api.add_resource(users_resource.UsersListResource, '/api/v1/users')
api.add_resource(users_resource.UsersResource, '/api/v1/user/<int:user_id>')

api.add_resource(alice_users_resource.AliceUsersListResource,
                 '/api/v1/alice_users')
api.add_resource(alice_users_resource.AliceUsersResource,
                 '/api/v1/alice_user/<user_id>')

api.add_resource(advertings_resource.AdvertisingUsersListResource,
                 '/api/v1/advertisings')
api.add_resource(advertings_resource.AdvertisingUsersResource,
                 '/api/v1/advertising/<int:ad_id>')

api.add_resource(category_resource.CategoryUsersListResource,
                 '/api/v1/categories')
api.add_resource(category_resource.CategoryUsersResource,
                 '/api/v1/category/<int:category_id>')

session = db_session.create_session()
category = [cat.name for cat in session.query(Category).all()]
if not category:
    session = db_session.create_session()
    category = ["Техника", "Книги", "Игрушки", "Продукты"]
    for name in category:
        categor = Category(name=name, )
        session.add(categor)
        session.commit()

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5055)
 def get(self, user_id):
     abort_if_user_not_found(user_id)
     session = db_session.create_session()
     user = session.query(User).get(user_id)
     return jsonify(
         {'users': user.to_dict(only=('name', 'city', 'address', 'email'))})
def abort_if_user_not_found(user_id):
    session = db_session.create_session()
    user = session.query(User).get(user_id)
    if not user:
        abort(404, message=f"User {user_id} not found")
 def get(self):
     session = db_session.create_session()
     advertisings = session.query(Advertising).all()
     return jsonify({'advertisings': [item.to_dict(
         only=('title', 'image', 'vk', 'instagram', 'site', 'telephone', 'price',
               'text', 'id_alice_user', 'id_user', 'id_category')) for item in advertisings]})
Exemple #27
0
def load_user(user_id):
    session = db_session.create_session()
    return session.query(User).get(user_id)
def abort_if_advertising_not_found(ad_id):
    session = db_session.create_session()
    advertising = session.query(Advertising).get(ad_id)
    if not advertising:
        abort(404, message=f"Advertising {ad_id} not found")
def abort_if_category_not_found(category_id):
    session = db_session.create_session()
    category = session.query(Category).get(category_id)
    if not category:
        abort(404, message=f"Category {category_id} not found")