コード例 #1
0
ファイル: login.py プロジェクト: ajapon88/python-procon-frame
    def index(self, param):
        """
        ページの処理
        """
        username = self.form_data.getvalue('username', '')
        password = self.form_data.getvalue('password', None)
        mode = self.form_data.getvalue('mode')
        login = False;
        redirect = False
        login_failed = False

        if not username.isalnum():
            username = ''

        if self.session.getvalue('login', False):
            login = True
        elif mode == 'login':
            login_failed = True
            user = User()
            if user.login(username, password, self.setting['password']['salt']):
                # ログイン成功
                self.session.setvalue('login', True)
                self.session.setvalue('user_id', user.getvalue('id'))
                redirect = True


        # テンプレ―ト用データ
        template_data = {}
        template_data['mode'] = mode
        template_data['redirect'] = redirect
        template_data['login'] = login
        template_data['login_failed'] = login_failed
        template_data['username'] = username

        return self.template(template_data)
コード例 #2
0
ファイル: login.py プロジェクト: ajapon88/python-procon-frame
    def index(self, param):
        """
        ページの処理
        """
        username = self.form_data.getvalue('username', '')
        password = self.form_data.getvalue('password', None)
        mode = self.form_data.getvalue('mode')
        login = False
        redirect = False
        login_failed = False

        if not username.isalnum():
            username = ''

        if self.session.getvalue('login', False):
            login = True
        elif mode == 'login':
            login_failed = True
            user = User()
            if user.login(username, password,
                          self.setting['password']['salt']):
                # ログイン成功
                self.session.setvalue('login', True)
                self.session.setvalue('user_id', user.getvalue('id'))
                redirect = True

        # テンプレ―ト用データ
        template_data = {}
        template_data['mode'] = mode
        template_data['redirect'] = redirect
        template_data['login'] = login
        template_data['login_failed'] = login_failed
        template_data['username'] = username

        return self.template(template_data)
コード例 #3
0
    def index(self, param):
        """
        ページの処理
        """
        login = self.session.getvalue('login', False)
        user_id = self.session.getvalue('user_id', '-1')
        mode = self.form_data.getvalue('mode')
        reset_hash = self.form_data.getvalue('reset_hash', '') == 'reset'
        nickname = unicode(self.form_data.getvalue('nickname', ''), 'utf-8')
        edit_status = EDIT_NONE
        userid = ''
        userhash = ''

        user = User(user_id)
        if login:
            if mode == 'pass_update':
                old_password = self.form_data.getvalue('old_password', '')
                new_password = self.form_data.getvalue('new_password', '')
                retype_password = self.form_data.getvalue(
                    'retype_password', '')
                if new_password == retype_password:
                    if user.reset_password(old_password, new_password,
                                           self.setting['password']['salt']):
                        edit_status = EDIT_CORRECT
                    else:
                        edit_status = EDIT_FAILED
            elif mode == 'update':
                if reset_hash:
                    user.reset_hash()
                if nickname != '':
                    user.setvalue('nickname', nickname)
                edit_status = EDIT_CORRECT
            user.update()

        # テンプレ―ト用データ
        template_data = {}
        template_data['login'] = login
        template_data['userid'] = str(user.getvalue('id', -1))
        template_data['username'] = user.getvalue('username', '')
        template_data['nickname'] = user.getvalue('nickname', '')
        template_data['userhash'] = user.getvalue('hash', '')
        template_data['mode'] = mode
        template_data['edit_status'] = edit_status
        return self.template(template_data)
コード例 #4
0
    def index(self, param):
        """
        ページの処理
        """
        login = self.session.getvalue('login', False)
        user_id = self.session.getvalue('user_id', '-1')
        mode = self.form_data.getvalue('mode')
        reset_hash = self.form_data.getvalue('reset_hash', '') == 'reset'
        nickname = unicode(self.form_data.getvalue('nickname', ''), 'utf-8')
        edit_status = EDIT_NONE
        userid = ''
        userhash = ''

        user = User(user_id)
        if login:
            if mode == 'pass_update':
                old_password = self.form_data.getvalue('old_password', '')
                new_password = self.form_data.getvalue('new_password', '')
                retype_password = self.form_data.getvalue('retype_password', '')
                if new_password == retype_password:
                    if user.reset_password(old_password, new_password, self.setting['password']['salt']):
                        edit_status = EDIT_CORRECT
                    else:
                        edit_status = EDIT_FAILED
            elif mode == 'update':
                if reset_hash:
                    user.reset_hash()
                if nickname != '':
                    user.setvalue('nickname', nickname)
                edit_status = EDIT_CORRECT
            user.update()

        # テンプレ―ト用データ
        template_data = {}
        template_data['login'] = login
        template_data['userid'] = str(user.getvalue('id', -1))
        template_data['username'] = user.getvalue('username', '')
        template_data['nickname'] = user.getvalue('nickname', '')
        template_data['userhash'] = user.getvalue('hash', '')
        template_data['mode'] = mode
        template_data['edit_status'] = edit_status
        return self.template(template_data)
コード例 #5
0
ファイル: page.py プロジェクト: ajapon88/python-procon-frame
    def make_top(self):
        """
        トップ部分作成
        """
        top = DivTag('top', H1Tag(u'テストページ'))
        if self.session.getvalue('login', False):
            user_id = self.session.getvalue('user_id')
            user = User(user_id)
            top.add_value(PTag(u'ログイン中です:[%s] %s さん' % (escape(user.getvalue('username','')), escape(user.getvalue('nickname', '')))))
        top_links = [('top', u'トップ'), ('edit', u'問題作成'), ('bbs', u'掲示板'), ('about', u'取扱説明書'), ('profile', u'プロフィール'), ('regist', u'登録'), ('logout', u'ログアウト'), ('login', u'ログイン'), ('admin', u'管理画面')]
        for p in top_links:
            top.add_value(u'[%s]' % ATag('/%s'%p[0], p[1]))

        return top