Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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"]))
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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
    )