def delete_box_mutiple(): try: user = User.find_by_email(session['email']) user_boxs = Box.get_user_boxes(session['_id']) user_name = user.email if request.method == 'POST': boxes_id = request.form.getlist('delete') for box_id in boxes_id: box = Box.find_by_id(box_id) if box is not None: box.delete_on_elastic() box.delete() # flash('Your boxes has successfully deleted.') flash( '{ "message":"Your boxes has successfully deleted.", "type":"success", "captaion":"BoxControl", "icon_id": "fas fa-clipboard-check" }' ) return redirect(url_for('.boxs')) return render_template("/boxs/delete_box_mutiple.html", user_boxs=user_boxs, user_name=user_name) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='boxes delete mutiple') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr="Crashed during deleting user's boxes...")
def edit_note(note_id): try: note = Note.find_by_id(note_id) if request.method == 'POST': share = request.form.get("share") != None title = request.form['title'] content = request.form['content'] note.shared = share note.title = title note.content = content note.save_to_mongo() return redirect(url_for('.note', note_id=note_id)) else: return render_template('/notes/edit_note.html', note=note) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='edit_note saveing and getting input from html file' ) Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during saving your note...')
def create_note(): try: if request.method == 'POST': share = request.form.get("share") != None title = request.form['title'] content = request.form['content'] author_email = session['email'] author_nickname = User.find_by_email(author_email).nick_name note_for_save = Note(title=title, content=content, author_email=author_email, shared=share, author_nickname=author_nickname) note_for_save.save_to_mongo() return redirect(url_for('.user_notes')) return render_template('/notes/create_note.html') except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='create_note creating note') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during saving your note...')
def login_user(): try: e = '' if request.method == 'POST': email = request.form['email'] password = request.form['password'] try: if User.is_login_valid(email, password): session['email'] = email user = User.find_by_email(email) session['_id'] = user._id user.last_logined = datetime.datetime.now() user.save_to_mongo() flash('You were successfully logged in') return redirect(url_for("home")) except UserErrors.UserError as e: return render_template("users/login.html", message=e) return render_template("users/login.html", message=e) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='login_user while logining user') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during login...')
def all_messages(user_id): try: user_nickname = User.find_by_id(session['_id']).nick_name if request.method == 'POST': form_ = request.form['Search_message'] messages = Message.search_find_all(form_, user_id) labels = label_maker(messages, user_id) return render_template('messages/messages.html', messages=messages, user_nickname=user_nickname, form=form_, labels=labels) messages = Message.search_find_all('', user_id) labels = label_maker(messages, user_id) return render_template('messages/messages.html', messages=messages, user_nickname=user_nickname, labels=labels) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='my_recived_messages-during message finding') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading your messages')
def delete_note(note_id, redirect_to='.user_notes'): try: note = Note.find_by_id(note_id) try: note.delete_on_elastic() note.delete_img() except: pass note.delete() user_ = User.find_by_id(session['_id']) user_group = Group.find_by_id(user_.group_id) try: user_group.shared_notes.remove(note_id) user_group.save_to_mongo() user_group.save_to_elastic() except: pass # flash('Your note has successfully deleted.') flash( '{ "message":"Your note has successfully deleted.", "type":"success" , "captaion":"Note Deleted", "icon_id": "far fa-check-circle"}' ) return redirect(url_for(redirect_to)) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='notes deleting note') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during deleting your note...')
def user_page(user_id): try: try: user = User.find_by_id(user_id) except: user = User.find_by_email(user_id) user_notes = Note.find_shared_notes_by_user(user.email) return render_template('/users/user.html', user=user, user_notes=user_notes, user_note_count=len(user_notes)) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='user_page while loading user{} info'.format( user_id)) Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading information...')
def create_box(): try: all_notes = Note.get_user_notes(session['email']) if request.method == 'POST': notes_selected = request.form.getlist('notes') name = request.form['name'] maker_id = session['_id'] box_for_save = Box(name=name, notes=notes_selected, maker_id=maker_id) box_for_save.save_to_elastic() box_for_save.save_to_mongo() return redirect(url_for('boxs.boxs')) return render_template('boxs/create_box.html', all_notes=all_notes) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='user box creating USER:'******'email']) Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during creating your box...')
def edit_user(user_id): try: current_user = User.find_by_id(user_id) if request.method == 'POST': nick_name = request.form['nickname'] current_user.nick_name = nick_name current_user.save_to_mongo() return redirect(url_for('.user_page', user_id=user_id)) return render_template("users/edit_user.html", user=current_user) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location= 'edit_user while finding user/saving changes to database') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during saving changes...')
def delete_user(user_id): try: if request.method == 'POST': user = User.find_by_id(user_id) user.delete_user_notes() user.delete_user_boxes() user.delete_user_messages() user.delete() session['email'] = None session['_id'] = None return redirect(url_for('home')) return render_template('/users/confrim.html') except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='delete_user while removing user from database') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during deleting your account...')
def user_page(user_id): try: user = User.find_by_id(user_id) if user is None: user = User.find_by_email(user_id) user_notes = Note.find_shared_notes_by_user(user.email) try: filepath = url_for('static', filename=user.picture) except werkzeug.routing.BuildError: filepath = None return render_template('/users/user.html', user=user, user_notes=user_notes, user_note_count=len(user_notes), filepath=filepath) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='user_page while loading user{} info'.format( user_id)) Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during reading information...')
def delete_multiple(): try: user = User.find_by_email(session['email']) user_notes = User.get_notes(user) user_name = user.email if request.method == 'POST': notes_id = request.form.getlist('delete') for note_id in notes_id: note = Note.find_by_id(note_id) note.delete_on_elastic() note.delete_img() note.delete() flash('Your notes has successfully deleted.') return redirect(url_for('.user_notes')) return render_template("/notes/delete_multiple.html", user_notes=user_notes, user_name=user_name) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='notes public note reading') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during reading users notes...')
def delete_notes_inbox_(box_id): try: if request.method == 'POST': notes_to_delete = request.form.getlist('delete') box = Box.find_by_id(box_id) for note in notes_to_delete: del box.notes[box.notes.index(note)] box.save_to_mongo() box.save_to_elastic() return redirect(url_for('boxs.box', box_id=box_id)) else: box = Box.find_by_id(box_id) box_notes = box.get_box_notes() return render_template('boxs/delete_notes_inbox.html', box_notes=box_notes, box_id=box_id) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='user box creating USER:'******'email']) Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during creating your box...')
def send_message(): try: all_users = User.get_all() recivers = [] if request.method == 'POST': title = request.form['title'] content = request.form['content'] if request.form['reciver_email'] in [None, [], ""]: return render_template( 'messages/send_message.html', e= 'Your receiver field is empty. Please fill in at least ONE receiver.', all_users=all_users, title=title, content=content) try: # reciver_id = User.find_by_email(request.form['reciver_email'])._id recivers_string = request.form['reciver_email'].split() for email in recivers_string: recivers.append(User.find_by_email(email)._id) except Exception: return render_template( 'messages/send_message.html', e= "Please Check That you have coped EXACTLY the target user's email! And separated the emails with spaces!!", all_users=all_users, title=title, content=content) sender_id = User.find_by_email(session['email'])._id message = Message(title=title, content=content, reciver_id=recivers, sender_id=sender_id) message.save_to_mongo() return redirect(url_for('.my_sended_messages', user_id=sender_id)) return render_template('messages/send_message.html', all_users=all_users) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='send_message message sending') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during sending your message...')
def user_notes(box_id=None): try: boxs = Box.get_user_boxes(session['_id']) user = User.find_by_email(session['email']) user_name = user.email if box_id is None: user_notes = User.get_notes(user) box_name = '' search = True else: box = Box.find_by_id(box_id) user_notes = box.get_notes() box_name = box.name search = False if request.method == 'POST': form_ = request.form['form'] if box_id is None: notes = Note.search_with_elastic(form_, user_nickname=user.nick_name, box_id=False) else: notes = Note.search_with_elastic(form_, user_nickname=user.nick_name, box_id=box_id) return render_template('/notes/my_notes_sidebar.html', user_notes=notes, user_name=user_name, form=form_, boxs=boxs, box_name=box_name, search=search, box_id=box_id) else: return render_template('/notes/my_notes_sidebar.html', user_name=user_name, user_notes=user_notes, boxs=boxs, box_name=box_name, search=search, box_id=box_id) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='user note reading USER:'******'email']) Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during reading your notes...')
def send_message(user_to_send=None): try: all_users = User.get_all() if request.method == 'POST': title = request.form['title'] content = request.form['content'] if request.form.getlist("user") in [None, [], ""]: return render_template( 'messages/send_message.html', e= "You hadn't selected an reciver. Please select at least ONE reciver.", all_users=all_users, title=title, content=content) else: recivers = request.form.getlist("user") sender = User.find_by_email(session['email']) sender_name = sender.nick_name sender_id = sender._id message = Message(title=title, content=content, reciver_id=recivers, sender_id=sender_id, is_a_noteOBJ=False, sender_name=sender_name, is_chat_message=False) message.save_to_mongo() message.save_to_elastic() return redirect(url_for('.my_sended_messages', user_id=sender_id)) if user_to_send is not None: return render_template('messages/send_message.html', all_users=all_users, user_to_send=user_to_send) else: return render_template('messages/send_message.html', all_users=all_users) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='send_message message sending') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during sending your message...')
def message(message_id, is_sended=False): try: message = Message.find_by_id(message_id) if message is None: pass if message.readed_by_reciver is False and is_sended is False and session[ '_id'] in message.reciver_id and message.readed_date is None: message.readed_by_reciver = True message.readed_date = datetime.datetime.now() message.save_to_mongo() message.update_to_elastic() sender_nickname = User.find_by_id(message.sender_id).nick_name if type(message.reciver_id) is list: reciver_nickname = [] for reciver in message.reciver_id: reciver_nickname.append(User.find_by_id(reciver).nick_name) else: reciver_nickname = User.find_by_id(message.reciver_id).nick_name if message.is_a_noteOBJ: try: note = Note.find_by_id(message.content) except: note = None else: note = None resp = make_response( render_template('messages/message.html', message=message, sender_nickname=sender_nickname, reciver_nickname=reciver_nickname, is_a_note=message.is_a_noteOBJ, note=note, join_group_redirect_info=','.join( [message_id, message.is_invtation]))) return resp except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='message message reading') Error_obj.save_to_mongo() return render_template('base_htmls/error_page.html', error_msgr='Crashed during reading message...')
def edit_note(note_id): try: note = Note.find_by_id(note_id) if request.method == 'POST': share = request.form['inputGroupSelect01'] try: share, share_only_with_users = share_bool_function(share) except ValueError: return render_template( '/notes/create_note.html', error_msg= "You did not selected an Share label. Please select an Share label." ) title = request.form['title'] content = request.form['content'] note.shared = share note.share_only_with_users = share_only_with_users note.title = title note.content = content note.label = is_shared_validator(share, share_only_with_users) note.save_to_mongo() note.update_to_elastic() # flash('Your note has successfully saved.') flash( '{ "message":"Your note has successfully saved.", "type":"success" , "captaion":"Note Saved", "icon_id": "far fa-save"}' ) return redirect(url_for('.note', note_id=note_id)) else: return render_template( '/notes/edit_note.html', note=note, content=note.content.strip('\n').strip('\r')) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='edit_note saveing and getting input from html file' ) Error_obj.save_to_mongo() return render_template('base_htmls/error_page.html', error_msgr='Crashed during saving your note...')
def notes(): try: return render_template('/notes/pub_notes.html', notes=Note.find_shared_notes()) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='nots publick note reading') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading users notes...')
def group(group_id): try: group_ = Group.find_by_id(group_id) if group_ is None: return render_template( 'groups/group.html', error_msg='The group you requested is no longer exists!') members = [] shared_notes = [] for member in group_.members: members.append(User.find_by_id(member)) for note in group_.shared_notes: append_data = Note.find_by_id(note['note_id']) if append_data is not None: shared_notes.append({"data": append_data, "error_note": False}) else: shared_notes.append({"error_note": True, "data": None}) group_.shared_notes.remove(note) if session['_id'] in group_.members: is_in_group = True else: is_in_group = False group_alerts = Notification.find_by_type('to_group', group_._id, session['_id']) try: group_.save_to_elastic() except: pass group_.save_to_mongo() return render_template('groups/group.html', group=group_, members=members, shared_notes=shared_notes, is_in_group=is_in_group, session_id=session['_id'], group_alerts=group_alerts) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='group getting group') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during getting your group info...')
def delete_note(note_id, redirect_to='.user_notes'): try: note = Note.find_by_id(note_id) note.delete_on_elastic() note.delete_img() note.delete() flash('Your note has successfully deleted.') return redirect(url_for(redirect_to)) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='notes deleting note') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during deleting your note...')
def delete_multiple(): try: user = User.find_by_email(session['email']) user_notes = User.get_notes(user) user_name = user.email if request.method == 'POST': notes_id = request.form.getlist('delete') for note_id in notes_id: note = Note.find_by_id(note_id) note.delete_on_elastic() note.delete_img() try: my_group = Group.find_by_id(user.group_id) del my_group.shared_notes[note._id] my_group.save_to_mongo() my_group.save_to_elastic() except: pass try: box = Box.find_by_id(note.box_id) box.notes.remove(note._id) except: note.delete() # flash('Your notes has successfully deleted.') flash( '{ "message":"Your notes has successfully deleted.", "type":"success" , "captaion":"Note Deleted", "icon_id": "far fa-check-circle"}' ) return redirect(url_for('.user_notes')) return render_template("/notes/delete_multiple.html", user_notes=user_notes, user_name=user_name) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='notes public note reading') Error_obj.save_to_mongo() return render_template( 'base_htmls/error_page.html', error_msgr='Crashed during reading users notes...')
def delete_box(box_id): try: box = Box.find_by_id(box_id) box.delete_on_elastic() box.delete() return redirect(url_for('.boxs')) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='user box creating USER:'******'email']) Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during creating your box...')
def all_messages(): try: all_messagess = Message.find_all() return render_template('messages/all_messages.html', all_messagess=all_messagess) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='message reading') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading your messages...')
def delete_message(message_id): try: message = Message.find_by_id(message_id) message.delete() return redirect(url_for('.my_recived_messages', user_id=session['_id'])) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='delete_message message deleting') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during deleteing your message...')
def users_page(): try: users = User.get_all() # TODO: 일래스틱서치 배우고 완료하기 return render_template('/users/users_page.html', users=users) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location= 'users_page while loading users info and posting to html') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading information...')
def users_page(): try: if request.method == 'POST': el = Elasticsearch(port=port) data = el.search(index='users', doc_type='user', body={ "query": { "prefix": { "nick_name": request.form['Search_user'] } } }) # For debug # print(request.form['Search_user']) # print(data) users = [] try: for user in data['hits']['hits']: users.append(User.find_by_id(user['_source']['user_id'])) except: pass # print(users) del el return render_template('/users/users_page.html', users=users, form=request.form['Search_user']) else: users = User.get_all() return render_template('/users/users_page.html', users=users) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location= 'users_page while loading users info and posting to html') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading information...')
def my_recived_messages(user_id): try: messages = Message.find_by_reciver_id(user_id) user_nickname = User.find_by_id(session['_id']).nick_name return render_template('messages/my_recived_messages.html', messages=messages, user_nickname=user_nickname) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_( error_msg=''.join(error_msg), error_location='my_recived_messages-during message finding') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during reading your messages')
def search_boxes(): try: search_ = request.form['search'] search_result = Box.search_with_elastic(search_, session['_id']) return render_template('boxs/boxs_page.html', all_boxs=search_result, search_=search_) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='boxes box searching') Error_obj.save_to_mongo() return render_template( 'error_page.html', error_msgr='Crashed during searching your boxes...')
def send_note(note_id): try: note = Note.find_by_id(note_id) except: error_msg = traceback.format_exc().split('\n') Error_obj = Error_(error_msg=''.join(error_msg), error_location='send_note note finding/reading') Error_obj.save_to_mongo() return render_template('error_page.html', error_msgr='Crashed during preparing page...') if request.method == 'POST': pass return render_template('send_note.html', note=note)