Исправлено много ошибок
This commit is contained in:
parent
aa65ac0cda
commit
5cf1bf9fde
BIN
db/moona_data.db
BIN
db/moona_data.db
Binary file not shown.
664
main.py
664
main.py
@ -167,125 +167,136 @@ def main_page():
|
|||||||
|
|
||||||
@app.route('/edit_profile/<string:logins>', methods=['GET', 'POST'])
|
@app.route('/edit_profile/<string:logins>', methods=['GET', 'POST'])
|
||||||
def edit_profile(logins):
|
def edit_profile(logins):
|
||||||
global photo
|
if current_user.is_authenticated:
|
||||||
global help_arg
|
global photo
|
||||||
global help_arg_2
|
global help_arg
|
||||||
form = RegisterForm()
|
global help_arg_2
|
||||||
session = db_session.create_session()
|
form = RegisterForm()
|
||||||
ph_f = False
|
session = db_session.create_session()
|
||||||
if current_user.photo != '../static/img/None_logo.png':
|
ph_f = False
|
||||||
photo = current_user.photo
|
if current_user.photo != '../static/img/None_logo.png':
|
||||||
ph_f = True
|
photo = current_user.photo
|
||||||
else:
|
ph_f = True
|
||||||
photo = None
|
|
||||||
if form.del_photo.data:
|
|
||||||
help_arg = photo
|
|
||||||
photo = '../static/img/None_logo.png'
|
|
||||||
if form.submit2.data:
|
|
||||||
user = session.query(User).filter(User.login == logins).first()
|
|
||||||
if user.email != form.email.data:
|
|
||||||
if session.query(User).filter(User.email == form.email.data).first():
|
|
||||||
return render_template('edit_profile.html', title='Редактирование профиля', form=form,
|
|
||||||
ph_f=ph_f,
|
|
||||||
message="Такая почта уже есть")
|
|
||||||
user.name = form.name.data
|
|
||||||
user.surname = form.surname.data
|
|
||||||
user.age = form.age.data
|
|
||||||
user.about = form.about.data
|
|
||||||
if not ph_f and form.photo.data:
|
|
||||||
photo = save_photo(form.photo.data, logins)
|
|
||||||
if help_arg:
|
|
||||||
os.remove(help_arg)
|
|
||||||
help_arg = False
|
|
||||||
user.photo = photo
|
|
||||||
session.commit()
|
|
||||||
if user.email == form.email.data:
|
|
||||||
return redirect('/profile')
|
|
||||||
else:
|
else:
|
||||||
help_arg_2 = form.email.data
|
photo = None
|
||||||
return redirect('/confirmation')
|
if form.del_photo.data:
|
||||||
if request.method == "GET":
|
help_arg = photo
|
||||||
if current_user.login == logins:
|
photo = '../static/img/None_logo.png'
|
||||||
form.email.data = current_user.email
|
if form.submit2.data:
|
||||||
form.name.data = current_user.name
|
user = session.query(User).filter(User.login == logins).first()
|
||||||
form.surname.data = current_user.surname
|
if user.email != form.email.data:
|
||||||
form.login.data = logins
|
if session.query(User).filter(User.email == form.email.data).first():
|
||||||
form.age.data = current_user.age
|
return render_template('edit_profile.html', title='Редактирование профиля', form=form,
|
||||||
form.about.data = current_user.about
|
ph_f=ph_f,
|
||||||
form.password.data = None
|
message="Такая почта уже есть")
|
||||||
form.password2.data = None
|
user.name = form.name.data
|
||||||
return render_template('edit_profile.html', title='Редактирование профиля', form=form, message='', ph_f=ph_f)
|
user.surname = form.surname.data
|
||||||
|
user.age = form.age.data
|
||||||
|
user.about = form.about.data
|
||||||
|
if not ph_f and form.photo.data:
|
||||||
|
photo = save_photo(form.photo.data, logins)
|
||||||
|
if help_arg:
|
||||||
|
os.remove(help_arg)
|
||||||
|
help_arg = False
|
||||||
|
user.photo = photo
|
||||||
|
session.commit()
|
||||||
|
if user.email == form.email.data:
|
||||||
|
return redirect('/profile')
|
||||||
|
else:
|
||||||
|
help_arg_2 = form.email.data
|
||||||
|
help_arg = True
|
||||||
|
return redirect('/confirmation')
|
||||||
|
if request.method == "GET":
|
||||||
|
if current_user.login == logins:
|
||||||
|
form.email.data = current_user.email
|
||||||
|
form.name.data = current_user.name
|
||||||
|
form.surname.data = current_user.surname
|
||||||
|
form.login.data = logins
|
||||||
|
form.age.data = current_user.age
|
||||||
|
form.about.data = current_user.about
|
||||||
|
form.password.data = None
|
||||||
|
form.password2.data = None
|
||||||
|
return render_template('edit_profile.html', title='Редактирование профиля', form=form, message='', ph_f=ph_f)
|
||||||
|
else:
|
||||||
|
return redirect('/login')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/profile')
|
@app.route('/profile')
|
||||||
def profile():
|
def profile():
|
||||||
global help_arg_2
|
if current_user.is_authenticated:
|
||||||
db_sess = db_session.create_session()
|
global help_arg_2
|
||||||
pub_post = db_sess.query(DiaryPost).filter(DiaryPost.author == current_user.id, DiaryPost.public == 1).all()
|
db_sess = db_session.create_session()
|
||||||
pub_post = pub_post[::-1]
|
pub_post = db_sess.query(DiaryPost).filter(DiaryPost.author == current_user.id, DiaryPost.public == 1).all()
|
||||||
emotion_pub = []
|
pub_post = pub_post[::-1]
|
||||||
for i in pub_post:
|
emotion_pub = []
|
||||||
emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [], 'like': None, 'is_like': 0,
|
for i in pub_post:
|
||||||
'author': current_user}
|
emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [], 'like': None, 'is_like': 0,
|
||||||
if i.pos_emot:
|
'author': current_user}
|
||||||
emotion['pos_emot'] = i.pos_emot.split()
|
if i.pos_emot:
|
||||||
else:
|
emotion['pos_emot'] = i.pos_emot.split()
|
||||||
emotion['pos_emot'] = None
|
else:
|
||||||
if i.nig_emot:
|
emotion['pos_emot'] = None
|
||||||
emotion['nig_emot'] = i.nig_emot.split()
|
if i.nig_emot:
|
||||||
else:
|
emotion['nig_emot'] = i.nig_emot.split()
|
||||||
emotion['nig_emot'] = None
|
else:
|
||||||
if i.link:
|
emotion['nig_emot'] = None
|
||||||
emotion['link'] = i.link.split()
|
if i.link:
|
||||||
else:
|
emotion['link'] = i.link.split()
|
||||||
emotion['link'] = None
|
else:
|
||||||
like = db_sess.query(Like).filter(Like.post == i.id).all()
|
emotion['link'] = None
|
||||||
if like:
|
like = db_sess.query(Like).filter(Like.post == i.id).all()
|
||||||
emotion['like'] = len(like)
|
if like:
|
||||||
if db_sess.query(Like).filter(Like.post == i.id, Like.user == current_user.id).first():
|
emotion['like'] = len(like)
|
||||||
emotion['is_like'] = 1
|
if db_sess.query(Like).filter(Like.post == i.id, Like.user == current_user.id).first():
|
||||||
emotion_pub.append(emotion)
|
emotion['is_like'] = 1
|
||||||
message = 'Ваша почта успешно изменена!' if help_arg_2 == 'EditEmail' else ''
|
emotion_pub.append(emotion)
|
||||||
return render_template('profile.html', title='Профиль', pub_post=pub_post, emotion_pub=emotion_pub, message=message)
|
message = 'Ваша почта успешно изменена!' if help_arg_2 == 'EditEmail' else ''
|
||||||
|
return render_template('profile.html', title='Профиль', pub_post=pub_post, emotion_pub=emotion_pub,
|
||||||
|
message=message)
|
||||||
|
else:
|
||||||
|
return redirect('/login')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/new_like/<int:user_id>/<int:post_id>/<string:ret_href>')
|
@app.route('/new_like/<int:user_id>/<int:post_id>/<string:ret_href>')
|
||||||
def new_like(user_id, post_id, ret_href):
|
def new_like(user_id, post_id, ret_href):
|
||||||
session = db_session.create_session()
|
if current_user.is_authenticated:
|
||||||
find = session.query(Like).filter(Like.post == post_id, Like.user == user_id).first()
|
session = db_session.create_session()
|
||||||
if find:
|
find = session.query(Like).filter(Like.post == post_id, Like.user == user_id).first()
|
||||||
if (find.date - datetime.datetime.now()).days <= 30:
|
if find:
|
||||||
pop = session.query(Popularity).filter(Popularity.post == post_id).first()
|
if (find.date - datetime.datetime.now()).days <= 30:
|
||||||
pop.popularity = 10 * sum(1 if (i.date - datetime.datetime.now()).days <= 30 else 0 for i in
|
pop = session.query(Popularity).filter(Popularity.post == post_id).first()
|
||||||
session.query(Like).filter(Like.post == post_id).all()) - 10
|
pop.popularity = 10 * sum(1 if (i.date - datetime.datetime.now()).days <= 30 else 0 for i in
|
||||||
if not pop.popularity:
|
session.query(Like).filter(Like.post == post_id).all()) - 10
|
||||||
session.delete(pop)
|
if not pop.popularity:
|
||||||
session.delete(find)
|
session.delete(pop)
|
||||||
session.commit()
|
session.delete(find)
|
||||||
if ret_href != 'main':
|
session.commit()
|
||||||
return redirect(f"/{ret_href}")
|
if ret_href != 'main':
|
||||||
|
return redirect(f"/{ret_href}")
|
||||||
|
else:
|
||||||
|
return redirect('/')
|
||||||
else:
|
else:
|
||||||
return redirect('/')
|
popular = session.query(Popularity).filter(Popularity.post == post_id).first()
|
||||||
|
if not popular:
|
||||||
|
pop = Popularity()
|
||||||
|
pop.post = post_id
|
||||||
|
pop.popularity = 10
|
||||||
|
pop.edit_date = datetime.datetime.now()
|
||||||
|
session.add(pop)
|
||||||
|
else:
|
||||||
|
popular.popularity += 10
|
||||||
|
like = Like()
|
||||||
|
like.user = user_id
|
||||||
|
like.post = post_id
|
||||||
|
like.date = datetime.datetime.now()
|
||||||
|
session.add(like)
|
||||||
|
session.commit()
|
||||||
|
if ret_href != 'main':
|
||||||
|
return redirect(f"/{ret_href}")
|
||||||
|
else:
|
||||||
|
return redirect('/')
|
||||||
else:
|
else:
|
||||||
popular = session.query(Popularity).filter(Popularity.post == post_id).first()
|
return redirect('/')
|
||||||
if not popular:
|
|
||||||
pop = Popularity()
|
|
||||||
pop.post = post_id
|
|
||||||
pop.popularity = 10
|
|
||||||
pop.edit_date = datetime.datetime.now()
|
|
||||||
session.add(pop)
|
|
||||||
else:
|
|
||||||
popular.popularity += 10
|
|
||||||
like = Like()
|
|
||||||
like.user = user_id
|
|
||||||
like.post = post_id
|
|
||||||
like.date = datetime.datetime.now()
|
|
||||||
session.add(like)
|
|
||||||
session.commit()
|
|
||||||
if ret_href != 'main':
|
|
||||||
return redirect(f"/{ret_href}")
|
|
||||||
else:
|
|
||||||
return redirect('/')
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/publications', methods=['GET', 'POST'])
|
@app.route('/publications', methods=['GET', 'POST'])
|
||||||
@ -333,11 +344,14 @@ def publications():
|
|||||||
if pop:
|
if pop:
|
||||||
if len(pop) > 50:
|
if len(pop) > 50:
|
||||||
pop = pop[:50]
|
pop = pop[:50]
|
||||||
pop_post = [session.query(DiaryPost).filter(DiaryPost.public == 1, DiaryPost.id == i.post).first() for i in pop]
|
pop_post = list(
|
||||||
|
map(lambda x: session.query(DiaryPost).filter(DiaryPost.public == 1, DiaryPost.id == x.post).first(), pop))
|
||||||
emotion_pop = []
|
emotion_pop = []
|
||||||
for i in pop_post:
|
for i in pop_post:
|
||||||
|
logging.warning(f'{datetime.datetime.now()}:{i} - i_pop_post')
|
||||||
emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [],
|
emotion = {id: i.id, 'pos_emot': [], 'nig_emot': [], 'link': [],
|
||||||
'author': session.query(User).filter(User.id == i.author).first(), 'like': None, 'is_like': 0}
|
'author': session.query(User).filter(User.id == i.author).first(), 'like': None,
|
||||||
|
'is_like': 0}
|
||||||
if i.pos_emot:
|
if i.pos_emot:
|
||||||
emotion['pos_emot'] = i.pos_emot.split()
|
emotion['pos_emot'] = i.pos_emot.split()
|
||||||
else:
|
else:
|
||||||
@ -396,168 +410,206 @@ def publications():
|
|||||||
|
|
||||||
@app.route('/answer_quest/<int:id>', methods=['GET', 'POST'])
|
@app.route('/answer_quest/<int:id>', methods=['GET', 'POST'])
|
||||||
def answer_quest(id):
|
def answer_quest(id):
|
||||||
session = db_session.create_session()
|
if current_user.is_authenticated:
|
||||||
answer = AnswerQuest()
|
session = db_session.create_session()
|
||||||
quest = session.query(Quest).filter(Quest.id == id).first()
|
answer = AnswerQuest()
|
||||||
if request.method == 'GET':
|
quest = session.query(Quest).filter(Quest.id == id).first()
|
||||||
if session.query(Answer).filter(Answer.id_question == id).first():
|
if request.method == 'GET':
|
||||||
ans_quest = session.query(Answer).filter(Answer.id_question == id).first()
|
if session.query(Answer).filter(Answer.id_question == id).first():
|
||||||
answer.answer.data = ans_quest.answer
|
ans_quest = session.query(Answer).filter(Answer.id_question == id).first()
|
||||||
if answer.validate_on_submit():
|
answer.answer.data = ans_quest.answer
|
||||||
if not session.query(Answer).filter(Answer.id_question == id).first():
|
if answer.validate_on_submit():
|
||||||
answer_user = Answer(id_question=id,
|
if not session.query(Answer).filter(Answer.id_question == id).first():
|
||||||
answer=answer.answer.data,
|
answer_user = Answer(id_question=id,
|
||||||
user=current_user.id,
|
answer=answer.answer.data,
|
||||||
date=datetime.date.today())
|
user=current_user.id,
|
||||||
quest.one_used = True
|
date=datetime.date.today())
|
||||||
if len(session.query(Answer).filter(Answer.id_question == id).all()) == len(session.query(User).all()):
|
quest.one_used = True
|
||||||
quest.all_used = True
|
if len(session.query(Answer).filter(Answer.id_question == id).all()) == len(session.query(User).all()):
|
||||||
session.add(answer_user)
|
quest.all_used = True
|
||||||
session.commit()
|
session.add(answer_user)
|
||||||
return redirect('/diary')
|
session.commit()
|
||||||
else:
|
return redirect('/diary')
|
||||||
ans_quest = session.query(Answer).filter(Answer.id_question == id).first()
|
else:
|
||||||
ans_quest.answer = answer.answer.data
|
ans_quest = session.query(Answer).filter(Answer.id_question == id).first()
|
||||||
session.commit()
|
ans_quest.answer = answer.answer.data
|
||||||
return redirect('/diary')
|
session.commit()
|
||||||
return render_template('answer_quest.html', tetle='Ответ на вопрос', form=answer, message='', quest=quest)
|
return redirect('/diary')
|
||||||
|
return render_template('answer_quest.html', tetle='Ответ на вопрос', form=answer, message='', quest=quest)
|
||||||
|
else:
|
||||||
|
return redirect('/')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/delete_quest/<int:id>', methods=['GET', 'POST'])
|
@app.route('/delete_quest/<int:id>', methods=['GET', 'POST'])
|
||||||
def delete_quest(id):
|
def delete_quest(id):
|
||||||
session = db_session.create_session()
|
if current_user.is_authenticated:
|
||||||
pos = session.query(Quest).filter(Quest.id == id).first()
|
session = db_session.create_session()
|
||||||
if pos:
|
pos = session.query(Quest).filter(Quest.id == id).first()
|
||||||
session.delete(pos)
|
if pos:
|
||||||
session.commit()
|
session.delete(pos)
|
||||||
|
session.commit()
|
||||||
|
else:
|
||||||
|
abort(404)
|
||||||
|
return redirect('/add_question')
|
||||||
else:
|
else:
|
||||||
abort(404)
|
return redirect('/')
|
||||||
return redirect('/add_question')
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/add_question', methods=['GET', 'POST'])
|
@app.route('/add_question', methods=['GET', 'POST'])
|
||||||
def add_question():
|
def add_question():
|
||||||
que = AddQuest()
|
if current_user.is_authenticated:
|
||||||
session = db_session.create_session()
|
que = AddQuest()
|
||||||
if que.validate_on_submit():
|
session = db_session.create_session()
|
||||||
if que.quest.data in list(map(lambda x: x.quest, session.query(Quest).all())):
|
if que.validate_on_submit():
|
||||||
return render_template('add_question.html', message='Такой вопрос уже есть!', title='Добавить вопрос',
|
if que.quest.data in list(map(lambda x: x.quest, session.query(Quest).all())):
|
||||||
form=que)
|
return render_template('add_question.html', message='Такой вопрос уже есть!', title='Добавить вопрос',
|
||||||
new_que = Quest()
|
form=que)
|
||||||
new_que.quest = que.quest.data.strip()
|
new_que = Quest()
|
||||||
session.add(new_que)
|
new_que.quest = que.quest.data.strip()
|
||||||
session.commit()
|
session.add(new_que)
|
||||||
que.quest.data = ''
|
session.commit()
|
||||||
return render_template('add_question.html', message='', title='Добавить вопрос', form=que,
|
que.quest.data = ''
|
||||||
question=session.query(Quest).all())
|
return render_template('add_question.html', message='', title='Добавить вопрос', form=que,
|
||||||
|
question=session.query(Quest).all())
|
||||||
|
else:
|
||||||
|
return redirect('/')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/post/<int:id>', methods=['GET', 'POST'])
|
@app.route('/post/<int:id>', methods=['GET', 'POST'])
|
||||||
def post_edit(id):
|
def post_edit(id):
|
||||||
global photo
|
if current_user.is_authenticated:
|
||||||
global help_arg
|
|
||||||
post_ed = AddPost()
|
|
||||||
ph_f = False
|
|
||||||
if post_ed.del_photo.data:
|
|
||||||
help_arg = photo
|
|
||||||
photo = None
|
|
||||||
if request.method == "GET":
|
|
||||||
session = db_session.create_session()
|
session = db_session.create_session()
|
||||||
post_exc = session.query(DiaryPost).filter(DiaryPost.id == id,
|
find_post = session.query(DiaryPost).filter(DiaryPost.id == id).first()
|
||||||
DiaryPost.author == current_user.id).first()
|
if find_post:
|
||||||
if post_exc:
|
if find_post.author == current_user.id:
|
||||||
post_ed.name.data = post_exc.name
|
global photo
|
||||||
post_ed.text.data = post_exc.text
|
global help_arg
|
||||||
post_ed.public.data = post_exc.public
|
post_ed = AddPost()
|
||||||
post_ed.pos_emot.data = post_exc.pos_emot
|
ph_f = False
|
||||||
post_ed.nig_emot.data = post_exc.nig_emot
|
if post_ed.del_photo.data:
|
||||||
post_ed.link.data = post_exc.link
|
help_arg = photo
|
||||||
if post_exc.photo:
|
photo = None
|
||||||
photo = post_exc.photo
|
if request.method == "GET":
|
||||||
ph_f = True
|
session = db_session.create_session()
|
||||||
|
post_exc = session.query(DiaryPost).filter(DiaryPost.id == id,
|
||||||
|
DiaryPost.author == current_user.id).first()
|
||||||
|
if post_exc:
|
||||||
|
post_ed.name.data = post_exc.name
|
||||||
|
post_ed.text.data = post_exc.text
|
||||||
|
post_ed.public.data = post_exc.public
|
||||||
|
post_ed.pos_emot.data = post_exc.pos_emot
|
||||||
|
post_ed.nig_emot.data = post_exc.nig_emot
|
||||||
|
post_ed.link.data = post_exc.link
|
||||||
|
if post_exc.photo:
|
||||||
|
photo = post_exc.photo
|
||||||
|
ph_f = True
|
||||||
|
else:
|
||||||
|
photo = None
|
||||||
|
else:
|
||||||
|
abort(404)
|
||||||
|
if post_ed.validate_on_submit() and not post_ed.del_photo.data:
|
||||||
|
session = db_session.create_session()
|
||||||
|
post_exc = session.query(DiaryPost).filter(DiaryPost.id == id,
|
||||||
|
DiaryPost.author == current_user.id).first()
|
||||||
|
if post_exc:
|
||||||
|
post_exc.name = post_ed.name.data
|
||||||
|
post_exc.text = post_ed.text.data
|
||||||
|
post_exc.public = post_ed.public.data
|
||||||
|
post_exc.pos_emot = post_ed.pos_emot.data
|
||||||
|
post_exc.nig_emot = post_ed.nig_emot.data
|
||||||
|
post_exc.link = post_ed.link.data
|
||||||
|
if help_arg:
|
||||||
|
os.remove(help_arg[3:])
|
||||||
|
help_arg = False
|
||||||
|
if post_ed.photo.data:
|
||||||
|
post_exc.photo = save_photo(post_ed.photo.data, current_user.login, post=True,
|
||||||
|
id_post=post_exc.id)
|
||||||
|
else:
|
||||||
|
post_exc.photo = photo
|
||||||
|
check_pop = session.query(Popularity).filter(Popularity.post == post_exc.id).first()
|
||||||
|
if post_ed.public.data and check_pop:
|
||||||
|
session.delete(check_pop)
|
||||||
|
session.commit()
|
||||||
|
return redirect('/diary')
|
||||||
|
else:
|
||||||
|
abort(404)
|
||||||
|
return render_template('post.html', form=post_ed, message='', title='Изменить запись', pht=ph_f)
|
||||||
else:
|
else:
|
||||||
photo = None
|
return redirect('/diary')
|
||||||
else:
|
else:
|
||||||
abort(404)
|
|
||||||
if post_ed.validate_on_submit() and not post_ed.del_photo.data:
|
|
||||||
session = db_session.create_session()
|
|
||||||
post_exc = session.query(DiaryPost).filter(DiaryPost.id == id,
|
|
||||||
DiaryPost.author == current_user.id).first()
|
|
||||||
if post_exc:
|
|
||||||
post_exc.name = post_ed.name.data
|
|
||||||
post_exc.text = post_ed.text.data
|
|
||||||
post_exc.public = post_ed.public.data
|
|
||||||
post_exc.pos_emot = post_ed.pos_emot.data
|
|
||||||
post_exc.nig_emot = post_ed.nig_emot.data
|
|
||||||
post_exc.link = post_ed.link.data
|
|
||||||
if help_arg:
|
|
||||||
os.remove(help_arg[3:])
|
|
||||||
help_arg = False
|
|
||||||
if post_ed.photo.data:
|
|
||||||
post_exc.photo = save_photo(post_ed.photo.data, current_user.login, post=True, id_post=post_exc.id)
|
|
||||||
else:
|
|
||||||
post_exc.photo = photo
|
|
||||||
session.commit()
|
|
||||||
return redirect('/diary')
|
return redirect('/diary')
|
||||||
else:
|
else:
|
||||||
abort(404)
|
return redirect('/login')
|
||||||
return render_template('post.html', form=post_ed, message='', title='Изменить запись', pht=ph_f)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/post_deleted/<int:id>', methods=['GET', 'POST'])
|
@app.route('/post_deleted/<int:id>', methods=['GET', 'POST'])
|
||||||
def post_deleted(id):
|
def post_deleted(id):
|
||||||
session = db_session.create_session()
|
if current_user.is_authenticated:
|
||||||
pos = session.query(DiaryPost).filter(DiaryPost.id == id,
|
session = db_session.create_session()
|
||||||
DiaryPost.author == current_user.id).first()
|
find_post = session.query(DiaryPost).filter(DiaryPost.id == id).first()
|
||||||
if pos:
|
if find_post:
|
||||||
if pos.photo:
|
if find_post.author == current_user.id:
|
||||||
os.remove(pos.photo[3:])
|
session = db_session.create_session()
|
||||||
session.delete(pos)
|
pos = session.query(DiaryPost).filter(DiaryPost.id == id,
|
||||||
session.commit()
|
DiaryPost.author == current_user.id).first()
|
||||||
|
if pos:
|
||||||
|
if pos.photo:
|
||||||
|
os.remove(pos.photo[3:])
|
||||||
|
session.delete(pos)
|
||||||
|
session.commit()
|
||||||
|
else:
|
||||||
|
abort(404)
|
||||||
|
return redirect('/diary')
|
||||||
|
else:
|
||||||
|
return redirect('/diary')
|
||||||
|
else:
|
||||||
|
return redirect('/diary')
|
||||||
else:
|
else:
|
||||||
abort(404)
|
return redirect('/login')
|
||||||
return redirect('/diary')
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/add_post', methods=['GET', 'POST'])
|
@app.route('/add_post', methods=['GET', 'POST'])
|
||||||
def add_post():
|
def add_post():
|
||||||
pos = AddPost()
|
if current_user.is_authenticated:
|
||||||
session = db_session.create_session()
|
pos = AddPost()
|
||||||
if pos.validate_on_submit():
|
session = db_session.create_session()
|
||||||
try:
|
if pos.validate_on_submit():
|
||||||
id = session.query(DiaryPost).order_by(DiaryPost.id)[-1].id
|
try:
|
||||||
if id:
|
id = session.query(DiaryPost).order_by(DiaryPost.id)[-1].id
|
||||||
id += 1
|
if id:
|
||||||
else:
|
id += 1
|
||||||
|
else:
|
||||||
|
id = -1
|
||||||
|
except Exception:
|
||||||
id = -1
|
id = -1
|
||||||
except Exception:
|
if pos.photo.data:
|
||||||
id = -1
|
diart_pos = DiaryPost(name=pos.name.data,
|
||||||
if pos.photo.data:
|
text=pos.text.data,
|
||||||
diart_pos = DiaryPost(name=pos.name.data,
|
author=current_user.id,
|
||||||
text=pos.text.data,
|
date=datetime.datetime.now(),
|
||||||
author=current_user.id,
|
photo=save_photo(pos.photo.data, current_user.login, post=True, id_post=id),
|
||||||
date=datetime.datetime.now(),
|
public=pos.public.data,
|
||||||
photo=save_photo(pos.photo.data, current_user.login, post=True, id_post=id),
|
pos_emot=pos.pos_emot.data,
|
||||||
public=pos.public.data,
|
nig_emot=pos.nig_emot.data,
|
||||||
pos_emot=pos.pos_emot.data,
|
link=pos.link.data)
|
||||||
nig_emot=pos.nig_emot.data,
|
session.add(diart_pos)
|
||||||
link=pos.link.data)
|
session.commit()
|
||||||
session.add(diart_pos)
|
return redirect("/diary")
|
||||||
session.commit()
|
else:
|
||||||
return redirect("/diary")
|
diart_pos = DiaryPost(name=pos.name.data,
|
||||||
else:
|
text=pos.text.data,
|
||||||
diart_pos = DiaryPost(name=pos.name.data,
|
author=current_user.id,
|
||||||
text=pos.text.data,
|
date=datetime.datetime.now(),
|
||||||
author=current_user.id,
|
public=pos.public.data,
|
||||||
date=datetime.datetime.now(),
|
pos_emot=pos.pos_emot.data,
|
||||||
public=pos.public.data,
|
nig_emot=pos.nig_emot.data,
|
||||||
pos_emot=pos.pos_emot.data,
|
link=pos.link.data)
|
||||||
nig_emot=pos.nig_emot.data,
|
session.add(diart_pos)
|
||||||
link=pos.link.data)
|
session.commit()
|
||||||
session.add(diart_pos)
|
return redirect("/diary")
|
||||||
session.commit()
|
return render_template('post.html', form=pos, title='Новый пост', message='')
|
||||||
return redirect("/diary")
|
else:
|
||||||
return render_template('post.html', form=pos, title='Новый пост', message='')
|
return redirect('/login')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/diary', methods=['GET', 'POST'])
|
@app.route('/diary', methods=['GET', 'POST'])
|
||||||
@ -663,66 +715,71 @@ def login():
|
|||||||
@app.route('/confirmation', methods=['GET', 'POST'])
|
@app.route('/confirmation', methods=['GET', 'POST'])
|
||||||
def confirmation():
|
def confirmation():
|
||||||
global help_arg
|
global help_arg
|
||||||
global send_msg
|
if help_arg:
|
||||||
global secret_code
|
global send_msg
|
||||||
global photo
|
global secret_code
|
||||||
global help_arg_2
|
global photo
|
||||||
session = db_session.create_session()
|
global help_arg_2
|
||||||
if not help_arg_2:
|
session = db_session.create_session()
|
||||||
form = help_arg
|
if not help_arg_2:
|
||||||
if not send_msg:
|
form = help_arg
|
||||||
secret_code = secret_key()
|
if not send_msg:
|
||||||
mail(f'Ваш секретный код: {secret_code}', form.email.data, 'Moona Код')
|
secret_code = secret_key()
|
||||||
send_msg = True
|
mail(f'Ваш секретный код: {secret_code}', form.email.data, 'Moona Код')
|
||||||
conf = Confirmation()
|
send_msg = True
|
||||||
if conf.validate_on_submit():
|
conf = Confirmation()
|
||||||
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
if conf.validate_on_submit():
|
||||||
if form.photo.data:
|
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
||||||
user = User(
|
if form.photo.data:
|
||||||
name=form.name.data,
|
user = User(
|
||||||
surname=form.surname.data,
|
name=form.name.data,
|
||||||
login=form.login.data,
|
surname=form.surname.data,
|
||||||
age=form.age.data,
|
login=form.login.data,
|
||||||
about=form.about.data,
|
age=form.age.data,
|
||||||
email=form.email.data,
|
about=form.about.data,
|
||||||
photo=photo,
|
email=form.email.data,
|
||||||
role='user'
|
photo=photo,
|
||||||
)
|
role='user'
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
user = User(
|
||||||
|
name=form.name.data,
|
||||||
|
surname=form.surname.data,
|
||||||
|
login=form.login.data,
|
||||||
|
age=form.age.data,
|
||||||
|
about=form.about.data,
|
||||||
|
email=form.email.data,
|
||||||
|
role='user',
|
||||||
|
photo='../static/img/Икона.png'
|
||||||
|
)
|
||||||
|
user.set_password(form.password.data)
|
||||||
|
session.add(user)
|
||||||
|
session.commit()
|
||||||
|
send_msg = False
|
||||||
|
help_arg = False
|
||||||
|
return redirect('/login')
|
||||||
else:
|
else:
|
||||||
user = User(
|
return render_template('confirmation_reg.html', title='Подтверждение', form=conf,
|
||||||
name=form.name.data,
|
message='Коды не совпадают')
|
||||||
surname=form.surname.data,
|
return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='')
|
||||||
login=form.login.data,
|
else:
|
||||||
age=form.age.data,
|
conf = Confirmation()
|
||||||
about=form.about.data,
|
if not send_msg:
|
||||||
email=form.email.data,
|
secret_code = secret_key()
|
||||||
role='user',
|
mail(f'Ваш секретный код: {secret_code}', help_arg_2, 'Moona Код')
|
||||||
photo='../static/img/Икона.png'
|
send_msg = True
|
||||||
)
|
if conf.validate_on_submit():
|
||||||
user.set_password(form.password.data)
|
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
||||||
session.add(user)
|
user = session.query(User).filter(User.id == current_user.id).first()
|
||||||
session.commit()
|
user.email = help_arg_2
|
||||||
send_msg = False
|
help_arg_2 = 'EditEmail'
|
||||||
return redirect('/login')
|
session.commit()
|
||||||
else:
|
send_msg = False
|
||||||
return render_template('confirmation_reg.html', title='Подтверждение', form=conf,
|
help_arg = False
|
||||||
message='Коды не совпадают')
|
return redirect('/profile')
|
||||||
return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='')
|
return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='')
|
||||||
else:
|
else:
|
||||||
conf = Confirmation()
|
return redirect('/')
|
||||||
if not send_msg:
|
|
||||||
secret_code = secret_key()
|
|
||||||
mail(f'Ваш секретный код: {secret_code}', help_arg_2, 'Moona Код')
|
|
||||||
send_msg = True
|
|
||||||
if conf.validate_on_submit():
|
|
||||||
if str(conf.code_key.data).strip() == str(secret_code).strip():
|
|
||||||
user = session.query(User).filter(User.id == current_user.id).first()
|
|
||||||
user.email = help_arg_2
|
|
||||||
help_arg_2 = 'EditEmail'
|
|
||||||
session.commit()
|
|
||||||
send_msg = False
|
|
||||||
return redirect('/profile')
|
|
||||||
return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='')
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/register', methods=['GET', 'POST'])
|
@app.route('/register', methods=['GET', 'POST'])
|
||||||
@ -796,6 +853,7 @@ def main():
|
|||||||
serve(app, host='0.0.0.0', port=5000)
|
serve(app, host='0.0.0.0', port=5000)
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
logging.warning(f'{datetime.datetime.now()}:{error}')
|
logging.warning(f'{datetime.datetime.now()}:{error}')
|
||||||
|
print(error)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
BIN
static/app_image/users_photo/Лого.png
Normal file
BIN
static/app_image/users_photo/Лого.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
Loading…
x
Reference in New Issue
Block a user