def test_func_get_picture(self): BC = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=1) db.session.add(BC) db.session.commit() self.assertEqual(BC.picture, BusinessCard.get_picture(BC.business_id))
def test_func_save(self): BC = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=1) BC.save() committed_BC = BusinessCard.query.get(BC.id) self.assertEqual(BC, committed_BC)
def business_card_list(): if not session.get('id', '') == '': if not Business.check_confirmed(session.get('id', '')): session['id'] = '' form = FindForm() business_card_list = BusinessCard.sort_by_rating()[::-1] if form.validate_on_submit(): business_card_list = BusinessCard.find(form.words.data) if business_card_list[0] == 0: form.words.errors = ("Ничего не найдено", "") return render_template('business_card_list.html', title='Странички бизнесов', business_card_list=business_card_list, BusinessCard=BusinessCard, form=form)
def test_func_is_real(self): BC1 = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=1) BC2 = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=2) db.session.add(BC1) db.session.commit() self.assertTrue(BusinessCard.is_real(BC1.id)) self.assertFalse(BusinessCard.is_real(BC2.id))
def test_func_how_much(self): BC1 = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=2) BC2 = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=1) db.session.add(BC1) db.session.add(BC2) db.session.commit() self.assertEqual(2, BusinessCard.how_much())
def business_card(business_id): if int(business_id) == session.get('id', '') and (not BusinessCard.is_real(business_id)): not_created = True return render_template('business_card.html', title='Страница бизнеса', name="", description="", contact_information="", not_created=not_created, Widget=Widget, bid=business_id) elif session.get('id', '') == '' and not BusinessCard.is_real(business_id): return redirect('/business/business_card_list') elif not BusinessCard.is_real(business_id): return redirect('/business/business_card_list') session['id_client'] = '' not_created = False name = BusinessCard.get_name(business_id) description = BusinessCard.get_description(business_id) contact_information = BusinessCard.get_contact_information(business_id) address = BusinessCard.get_address(business_id) form = CommentsForm() if form.validate_on_submit(): if not Client.is_real(form.email.data, business_id): form.email.errors = ( "Вы не можете отправлять комментарии, потому что вы не являетесь клиентом этого бизнеса", "") else: comments = Comments(form.text.data, Client.get_id(form.email.data), business_id, form.name.data, form.star.data) Comments.save(comments) rating = BusinessCard.get_new_rating(business_id) rows = BusinessCard.query.filter_by(business_id=business_id).update( {'rating': rating}) db.session.commit() return redirect(url_for('business.business_card', business_id=business_id)) comment_list = Comments.query.filter_by(business_id=business_id).all() if session.get('id', '') == int(business_id): business_account = True else: business_account = False form.star.data = 1 howmuchcomments = BusinessCard.how_much_comments(business_id) rating = BusinessCard.get_new_rating(business_id) return render_template('business_card.html', title='Страничка бизнеса', name=name, description=description, contact_information=contact_information, rating=rating, howmuchcomments=howmuchcomments, business_account=business_account, business_id=business_id, not_created=not_created, form=form, comment_list=comment_list[::-1], address=address, Comments=Comments, BusinessCard=BusinessCard, Widget=Widget, bid=business_id)
def login(): if session.get('id', '') != '': if not Business.check_confirmed(session.get('id', '')): session['id'] = '' return redirect(url_for('business.business_card', business_id=session.get('id', ''))) session['id_client'] = '' find_form = FindForm() business_card_list = BusinessCard.sort_by_rating()[::-1] if find_form.submit2.data and find_form.validate_on_submit(): business_card_list = BusinessCard.find(find_form.words.data) if business_card_list[0] == 0: find_form.words.errors = ("Ничего не найдено", "") form = OrderForm() if form.submit.data and form.validate_on_submit(): number = form.number.data password = form.password.data if Process.query.all() is None: form.password.errors = ('Введён неверный номер заказа или пароль', '') elif Process.query.filter_by(number=number).first() is None: form.password.errors = ('Введён неверный номер заказа или пароль', '') elif Process.is_real_number(number) is False: form.password.errors = ('Введён неверный номер заказа или пароль', '') else: if Process.check_p(Process.get_id(number), password): session['id_client'] = Process.get_client_id(Process.get_id(number)) return redirect(url_for('business_client.status', process_id=Process.get_id(number))) else: form.password.errors = ('Введён неверный номер заказа или пароль', '') return render_template('business_client_index.html', title='Найти заказ', msg='Введите данные заказа', form=form, find_form=find_form, business_card_list=business_card_list, BusinessCard=BusinessCard, )
def change_business(): if session.get('id', '') == '': return redirect('/business') if not Business.check_confirmed(session.get('id', '')): return redirect('/business/unconfirmed') changename = "" changepassword = "" form_name = ChangeBusinessNameForm() form_password = ChangeBusinessPasswordForm() id = session.get('id', '') if form_name.submit1.data and form_name.validate_on_submit(): free_name = Business.name_is_free(form_name.new_name.data) b_password = Business.query.filter_by(id=id).first().password b_name = Business.get_name(id) if free_name or b_name == form_name.new_name.data \ and check_password_hash(b_password, form_name.password.data): rows = Business.query.filter_by(id=id).update({'name': form_name.new_name.data}) db.session.commit() if BusinessCard.is_real(session.get('id', '')): rows = BusinessCard.query.filter_by(business_id=session.get('id', '')).update( {'name': form_name.new_name.data}) db.session.commit() changename = "Название было изменено" # return redirect('/change_business') elif not free_name and form_name.new_name.data != b_name: form_name.new_name.errors = ('Название занято', '') elif not check_password_hash(b_password, form_name.password.data): form_name.password.errors = ('Неправильный пароль', '') if form_password.submit2.data and form_password.validate_on_submit(): b_password = Business.query.filter_by(id=id).first().password check_new = form_password.new_password.data == form_password.check_new_password.data check_old = check_password_hash(b_password, form_password.old_password.data) password_is_valid = Business.password_is_valid(form_password.new_password.data) if check_old and check_new and password_is_valid: new_password = generate_password_hash(form_password.new_password.data) rows = Business.query.filter_by(id=id).update({'password': new_password}) db.session.commit() changepassword = "******" # return redirect('/change_business') elif not password_is_valid: form_password.new_password.errors = ('Пароль не может содержать пробелы', '') elif not check_new: form_password.check_new_password.errors = ('Пароли не совпадают', '') elif not check_old: form_password.old_password.errors = ('Неправильный пароль', '') form_name.new_name.data = Business.query.filter_by(id=id).first().name return render_template('change_business.html', title='Изменить настройки бизнеса', form=form_name, p_form=form_password, changename=changename, changepassword=changepassword)
def creation_card(): if session.get('id', '') == '': return redirect('/business/') elif not Business.check_confirmed(session.get('id', '')): return redirect('/business/unconfirmed') form = CreationCardForm() business_id = session.get('id', '') name = Business.get_name(business_id) if form.validate_on_submit(): if not BusinessCard.is_real(business_id): card = BusinessCard("", "", "", "", business_id) BusinessCard.save(card) rows = BusinessCard.query.filter_by(business_id=business_id).update({'name': name}) rows = BusinessCard.query.filter_by(business_id=business_id).update({'description': form.description.data}) rows = BusinessCard.query.filter_by(business_id=business_id).update( {'contact_information': form.contact_information.data}) rows = BusinessCard.query.filter_by(business_id=business_id).update({'address': form.address.data}) db.session.commit() if 'file' in request.files: file = request.files['file'] if file.filename != '': if file and allowed_file(file.filename): pic = Pictures(business_id) id_picture = Pictures.save(pic) picture = str(id_picture) filename = secure_filename(file.filename) picture += "." + filename.rsplit('.', 1)[1].lower() rows = Pictures.query.filter_by(id=id_picture).update({'picture': picture}) rows = BusinessCard.query.filter_by(business_id=business_id).update({'picture': picture}) db.session.commit() file.save(os.path.join(UPLOAD_FOLDER, str(picture))) return redirect(url_for('business.business_card', business_id=session.get('id', ''))) if BusinessCard.is_real(business_id): form.description.data = BusinessCard.get_description(business_id) form.contact_information.data = BusinessCard.get_contact_information(business_id) form.address.data = BusinessCard.get_address(business_id) else: form.description.data = "" form.contact_information.data = "" form.address.data = "" return render_template('create_business_card.html', title='Изменить страничку бизнеса', form=form, name=name)
def status(process_id): if session.get('id', '') != '': return redirect(url_for('business.business_card', business_id=session.get('id', ''))) elif session.get('id_client', '') == '': return redirect('/business_client/login') elif Process.get_client_id(process_id) != session.get('id_client', ''): return redirect('/business_client/login') form_stage = StatusEmailForm() form_check = CheckBoxForm() form_star = RatingForm() starsave = "" stagesave = "" if form_stage.submit1.data: if Process.get_send(process_id): rows = Process.query.filter_by(id=process_id).update({'send_all_stages': 0}) db.session.commit() else: rows = Process.query.filter_by(id=process_id).update({'send_all_stages': 1}) db.session.commit() stagesave = "Изменения были сохранены" if form_star.submit2.data: rows = Process.query.filter_by(id=process_id).update({"star": form_star.star.data}) db.session.commit() starsave = "Спасибо за оценку" rating = Process.get_star(process_id) form_check.checkbox.data = False send_stages = Process.get_send(process_id) number = Process.get_number(process_id) client_email = Client.get_email(Process.get_client_id(process_id)) business_name = Business.get_name(Process.get_business(process_id)) data = Process.get_data(process_id).strftime("%B %d, %Y") type = PossibleProcess.get_type(Process.get_type_id(process_id)) desc_type = PossibleProcess.get_desc(Process.get_type_id(process_id)) desc = Process.get_desc(process_id) percent = Process.get_percent(process_id) current_stage = Process.get_stages(process_id) current_stage_name = Process.get_stage_name(current_stage) client_id = Process.get_client_id(process_id) price = Process.get_price(process_id) business_id = Process.get_business(process_id) business_card_exists = BusinessCard.is_real(Process.get_business(process_id)) # получение всех стадий процесса stages = Stage.sort_by_id_for_business(Process.get_type_id(process_id)) chat = Chat.get_by_proc(process_id).id is_picture = (PossibleProcess.get_picture(Process.get_type_id(process_id)) != "-1") picture = PossibleProcess.get_picture(Process.get_type_id(process_id)) return render_template('Status.html', title='Статус заказа', number=number, client_email=client_email, business_name=business_name, type=type, desc=desc, desc_type=desc_type, percent=percent, data=data, current_stage=current_stage, current_stage_name=current_stage_name, stages=stages, price=price, business_id=business_id, form_stage=form_stage, form_check=form_check, send_stages=send_stages, form_star=form_star, rating=rating, starsave=starsave, stagesave=stagesave, business_card_exists=business_card_exists, client_id=client_id, chat=chat, is_picture=is_picture, picture=picture, Widget=Widget)
def test_func_by_rating(self): BC = BusinessCard(name='name', description='description', contact_information='contact_information', business_id=1) self.assertEqual(BC.rating, BusinessCard.by_rating(BC))
def mock(): db.drop_all() db.create_all() # Первый бизнес business = Business(name="Туристическое агенство Маленький Принц", password="******", email="*****@*****.**", confirmed=True) Business.save(business) # возможная услуга для первого бизнеса process = PossibleProcess("Помощь выбора путёвки", "Подбор идеального места для отдыха", 1, "10000") pr_id = process.save() stage_not_started = Stage("Не начат", 1) stage_not_started.save() stage_finished = Stage("Закончен", 1) stage_finished.save() # стадии для этой услуги stage = Stage("Анкетирование", 1) stage.save() stage = Stage("Диалог с клиентом", 1) stage.save() stage = Stage("Покупка путёвки", 1) stage.save() Stage.fix_not_finished(1) # созданный заказ для первой услуги client = Client('*****@*****.**') client.save() process = Process(1, 'Подбор идеального места для отдыха', 1, 1, "AAAAAA-AAAAAA", "10000", "qweqwe") process.save() # вторая возможная услуга для первого бизнеса process = PossibleProcess("Собственная экскурсия", "Создание экскурсии спецально по персональным требованиям клиента", 1, "20000") pr_id = process.save() # стадии для этой услуги stage_not_started = Stage("Не начат", 2) stage_not_started.save() stage_finished = Stage("Закончен", 2) stage_finished.save() stage = Stage("Диалог с клиентом", 2) stage.save() stage = Stage("Поиск экукурсоводов", 2) stage.save() stage = Stage("Создание программы экскурсии", 2) stage.save() Stage.fix_not_finished(2) pic = Pictures(1) id_picture = Pictures.save(pic) picture = "2.jpeg" rows = Pictures.query.filter_by(id=id_picture).update({'picture': picture}) rows = PossibleProcess.query.filter_by(id=2).update({'picture': picture}) db.session.commit() # созданный заказ для второй услуги client = Client('*****@*****.**') client.save() process = Process(2, 'Предпочитает картинные галереи', 1, 2, "BBBBBB-BBBBBB", "20000", "asdasd") process.save() rows = Process.query.filter_by(id=2).update({'current_stage': 9}) rows = Process.query.filter_by(id=2).update({'percent': round(45)}) db.session.commit() # создать страницу первого бизнеса card = BusinessCard("Туристическое агенство Маленький Принц", "Поможем Вам найти место для идеального препровождения", "Телефон: +7(924)732-90-65", "метро Добрынинская", 1) BusinessCard.save(card) pic = Pictures(1) id_picture = Pictures.save(pic) picture = "1.jpg" rows = Pictures.query.filter_by(id=id_picture).update({'picture': picture}) rows = BusinessCard.query.filter_by(business_id=1).update({'picture': picture}) db.session.commit() # создать комментарии к бизнесу comments = Comments( "Очень доволен фирмой! Крайне приятный персонал: были вежливы и очень быстро мне подобрали место для отдыха", 1, 1, "Александр", 5) Comments.save(comments) # еще один comments = Comments("Всё, конечно, хорошо, но с местом немного прогадали. Но никаких особых претензий нет", 2, 1, "Анастасия", 1) Comments.save(comments) rating = BusinessCard.get_new_rating(1) rows = BusinessCard.query.filter_by(business_id=1).update( {'rating': rating}) db.session.commit() # Второй бизнес business = Business(name="Общество историков 1984", password="******", email="*****@*****.**", confirmed=True) Business.save(business) # возможная услуга для второго бизнеса process = PossibleProcess("Подготовка к ЕГЭ", "Курсы по подготовке к ЕГЭ по истории", 2, "30000") pr_id = process.save() stage_not_started = Stage("Не начат", 3) stage_not_started.save() stage_finished = Stage("Закончен", 3) stage_finished.save() # стадии для этой услуги stage = Stage("Первый триместр", 3) stage.save() stage = Stage("Второй триместр", 3) stage.save() stage = Stage("Третий триместр", 3) stage.save() Stage.fix_not_finished(3) # созданный заказ для первой услуги client = Client('*****@*****.**') client.save() process = Process(3, 'Курсы по подготовки к ЕГЭ по истории', 2, 3, "CCCCCC-CCCCCC", "30000", "zxczxc") process.save() # вторая возможная услуга для второго бизнеса process = PossibleProcess("Консультирование", "Помощь в написании курсовой/докторской и прочих работ", 2, "40000") pr_id = process.save() stage_not_started = Stage("Не начат", 4) stage_not_started.save() stage_finished = Stage("Закончен", 4) stage_finished.save() # стадии для этой услуги stage = Stage("Первая встреча", 4) stage.save() stage = Stage("Поиск информации", 4) stage.save() stage = Stage("Консультирование", 4) stage.save() Stage.fix_not_finished(4) # созданный заказ для второй услуги process = Process(4, 'Помощь в написании курсовой/докторской и прочих работ', 2, 1, "DDDDDD-DDDDDD", "40000", "werwer") process.save() business = Business(name="Как у бабушки", password="******", email="*****@*****.**", confirmed=True) Business.save(business) w = Widget(-1, 'game', 'http://0.0.0.0:8080/business/widget', 'game', 1, 3) w.save() # возможная услуга для 3 бизнеса process = PossibleProcess("Домашняя пицца", "Сделанная дома пицца по рецепту моей бабушки", 3, "50000") pr_id = process.save() stage_not_started = Stage("Не начат", 5) stage_not_started.save() stage_finished = Stage("Закончен", 5) stage_finished.save() # стадии для этой услуги stage = Stage("Приготовление пиццы", 5) stage.save() stage = Stage("Упаковка пиццы", 5) stage.save() stage = Stage("Доставка", 5) stage.save() Stage.fix_not_finished(5) process = Process(5, 'Сделанная дома пицца', 3, 1, "EEEEEE-EEEEEE", "30000", "sdfsdf") process.save() # вторая возможная услуга для второго бизнеса process = PossibleProcess("Домашняя шаурма", "Сделанная дома шаурма по-моему рецепту", 3, "40000") pr_id = process.save() stage_not_started = Stage("Не начат", 6) stage_not_started.save() stage_finished = Stage("Закончен", 6) stage_finished.save() # стадии для этой услуги stage = Stage("Приготовление шаурмы", 6) stage.save() stage = Stage("Упаковка", 6) stage.save() stage = Stage("Доставка", 6) stage.save() Stage.fix_not_finished(6) process = Process(6, 'Сделанная дома шаурма', 3, 1, "FFFFFF-FFFFFF", "40000", "xcvxcv") process.save() process = Process(2, 'Детская экскурсия', 1, 2, "GGGGGG-GGGGGG", "25000", "ertert") process.save() rows = Process.query.filter_by(id=7).update({'current_stage': 7}) rows = Process.query.filter_by(id=7).update({'percent': round(100)}) db.session.commit() print('Success')