def index(): add_website_page = "add_website.html" login_page = "login.html" session = request.environ.get('beaker.session') user_id = session.get("user_id", "") # セッション情報が残っていた場合 if user_id: cls_website = website.Website() attention = u"" website_name = request.forms.decode().get('website_name', "") website_link = request.forms.decode().get('website_link', "") website_keywords = request.forms.decode().get('website_keywords', "") complete_add_website = request.forms.get('complete_add_website', "False") if website_link: if not website_name: website_name = cls_website.get_website_title_with_link(website_link) website_keywords = cls_website.get_website_keywords_with_link(website_link) if complete_add_website == "True": cls_website.add_website(user_id, website_name, website_link, website_keywords) elif complete_add_website == "True": # エラー(URL入力まだの状態で、サイト登録ボタンを押した場合) attention = u'URL入力を先に行ってください' complete_add_website = "False" return jinja2_template( add_website_page, attention=attention, user_id=user_id, website_name=website_name, website_link=website_link, website_keywords=website_keywords, complete_add_website=complete_add_website ) else: session["last_stay_page"] = add_website_page return jinja2_template(login_page)
def index(): manage_page = "manage.html" login_page = "login.html" session = request.environ.get('beaker.session') user_id = session.get("user_id", "") # セッション情報が残っていた場合 if user_id: cls_user = db_user.User() cls_website = db_website.Website() delete_user_ids = request.forms.getall('delete_user_ids') # (管理ユーザーのuser_idは除く) if user_id in delete_user_ids: delete_user_ids.remove(user_id) complete_delete_user_and_websites = "False" if delete_user_ids: # print(user_id, delete_user_ids) cls_user.delete_users(delete_user_ids) cls_website.delete_websites_with_user_ids(delete_user_ids) complete_delete_user_and_websites = "True" users_data = cls_user.get_users() users = list() for i in range(len(users_data)): user = dict() user["id"] = tmp_user_id = users_data[i].get("id", "") user["_id"] = users_data[i].get("_id", "") user["websites"] = cls_website.get_websites(user["id"]) if tmp_user_id else [] users.append(user) return jinja2_template( manage_page, users=users, complete_delete_user_and_websites=complete_delete_user_and_websites ) else: session["last_stay_page"] = manage_page return jinja2_template(login_page)
def index(): search_page = "search.html" login_page = "login.html" session = request.environ.get('beaker.session') user_id = session.get("user_id", "") # セッション情報が残っていた場合 if user_id: cls_website = website.Website() search_word = request.forms.decode().get('search_word', "") delete_website_ids = request.forms.getall('delete_website_ids') complete_delete_websites = "False" if delete_website_ids: # print("\tdelete_website_ids: {}".format(delete_website_ids)) cls_website.delete_websites(user_id, delete_website_ids) complete_delete_websites = "True" websites = cls_website.get_websites(user_id) search_word_hit_count = list() if search_word: search_word_hit_count = cls_website.search_word_hit_count( user_id, search_word) # 検索ヒット数が0のものを除く num0_indeces = [ i for i, x in enumerate(search_word_hit_count) if x != 0 ] websites = [websites[i] for i in num0_indeces] search_word_hit_count = [ search_word_hit_count[i] for i in num0_indeces ] # 検索ヒット数の多い順に並び替える if len(num0_indeces) > 1: websites, search_word_hit_count = zip( *sorted(zip(websites, search_word_hit_count), key=lambda x: x[1], reverse=True)) return jinja2_template( search_page, user_id=user_id, websites=websites, search_word=search_word, search_word_hit_count=search_word_hit_count, complete_delete_websites=complete_delete_websites) else: session["last_stay_page"] = search_page return jinja2_template(login_page)
def index(): login_page = "login.html" search_page = "search.html" manage_page = "manage.html" session = request.environ.get('beaker.session') # セッション情報が残っていた場合 if session.get("user_id"): # 最後にどこかのページに訪問していた場合、そのページに移る if not session.get("last_stay_page"): session["last_stay_page"] = search_page session.save() redirect(util.redirect_url(session["last_stay_page"])) # 初回入場時 if request.method == "GET": return jinja2_template(login_page) user_id = request.forms.get('user_id', "") user_password = request.forms.get('user_password', "") # ログイン認証 if not user_id or not user_password: return jinja2_template( login_page, user_id=user_id, user_password=user_password, attention=u'ユーザーIDまたはパスワードの入力漏れがあります', ) if not user.User().confirm_user(user_id, user_password): return jinja2_template( login_page, user_id=user_id, user_password=user_password, attention=u'ユーザーIDまたはパスワードに誤りがあります', ) session["user_id"] = user_id # 管理ユーザーのid, passwordが入力されたとき if user_id == config.ADMIN_USER_INFO[ "id"] and user_password == config.ADMIN_USER_INFO["password"]: session["last_stay_page"] = manage_page # セッション切れのとき elif not session.get("last_stay_page"): session["last_stay_page"] = search_page session.save() return redirect(util.redirect_url(session["last_stay_page"]))
def index(): edit_profile_page = "edit_profile.html" login_page = "login.html" session = request.environ.get('beaker.session') user_id = session.get("user_id", "") # セッション情報が残っていた場合 if user_id: cls_user = user.User() attention = u'' current_password = request.forms.get('current_password', "") new_password = request.forms.get('new_password', "") re_new_password = request.forms.get('re_new_password', "") complete_update_password = request.forms.get( 'complete_update_password', "False") if request.method == "POST": if not current_password or not new_password or not re_new_password: attention = u'入力漏れがあります' complete_update_password = "******" if new_password != re_new_password: attention = u'新しいパスワード(確認用)に同じものを入力してください' complete_update_password = "******" if not cls_user.confirm_user(user_id, current_password): attention = u'現在のパスワードが登録情報と異なります' complete_update_password = "******" if complete_update_password == "True": cls_user.update_password(user_id, current_password, new_password) return jinja2_template( edit_profile_page, attention=attention, user_id=user_id, current_password=current_password, new_password=new_password, re_new_password=re_new_password, complete_update_password=complete_update_password) else: session["last_stay_page"] = edit_profile_page return jinja2_template(login_page)
def index(): sign_up_page = "sign_up.html" login_page = "login.html" search_page = "search.html" session = request.environ.get('beaker.session') # セッション情報が残っていた場合 if session.get("user_id"): # 最後にどこかのページに訪問していた場合、そのページに移る if session.get("last_stay_page"): return jinja2_template(session["last_stay_page"]) else: return jinja2_template(search_page) # 初回入場時 if request.method == "GET": return jinja2_template(sign_up_page) user_id = request.forms.get('user_id', "") user_password = request.forms.get('user_password', "") # ユーザー登録 if not user_id or not user_password: return jinja2_template( sign_up_page, user_id=user_id, user_password=user_password, attention=u'ユーザーIDまたはパスワードの入力漏れがあります', ) if user.User().confirm_user_id(user_id): return jinja2_template( sign_up_page, user_id=user_id, user_password=user_password, attention=u'既に登録済みのユーザーIDです', ) user.User().register_user(user_id, user_password) return jinja2_template( login_page, user_id=user_id, user_password=user_password )