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'})
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)
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'})
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'))})
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'})
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 ] })
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'})
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)
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'})
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)
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)
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'})
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', ))})
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]})
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")