Beispiel #1
0
def user_page(user_id):
    """
    TO-DOs:
    1. 로그인 여부 확인
    2. 사용자 정보 & 최근 작품 목록 출력
    3. 로그인 중이라면, 정보 수정, 새 작품 쓰기, 작품 수정 등 기능 제공
    """
    try:
        m = member.Member()
        if not m.has_id(user_id):
            raise Exception('사용자 페이지가 존재하지 않습니다.')
        keys = ('id', 'name', 'intro', 'point', 'level', 'reg_date')
        result = m.data(user_id, keys)
        if not result:
            raise Exception('사용자 정보가 존재하지 않습니다.')
        data = dict(zip(keys, result))

        logged = s.is_logged(user_id)
        session_data = s.data()

        return template('user_user_page.tpl',
                        title='{}의 페이지'.format(user_id), data=data,
                        logged=logged, member=session_data)
    except Exception as e:
        print('EXCEPTION in user_page')
        return template('popup.tpl', msg=str(e))
Beispiel #2
0
def update_info(user_id):
    # 한번 더 암호 묻기
    # TODO: 로그인 여부 확인! (세션 데이터가 없으면 템플릿에서 에러 발생!)
    try:
        if not s.is_logged(user_id):
            raise Exception('사용자 정보를 수정할 권한이 없습니다.')

        info = {}
        session_data = s.data()
        info['num'] = session_data['user_num']
        info['id'] = session_data['user_id']
        info['name'] = session_data['user_name']
        info['level'] = session_data['level']

        m = member.Member()
        etc_data = m.extra_data(session_data['user_num'])
        info['email'] = etc_data[0]
        info['intro'] = etc_data[1]
        if not info['intro']:
            info['intro'] = ''

        return template('user_info_form.tpl', title='사용자 정보 수정', info=info,
                        logged=True, member=session_data)

    except Exception as e:
        print('UPDATE_USER EXCEPTION: ', e)
        return template('popup.tpl', msg=e)
Beispiel #3
0
def new_book(user_id):
    """ 새 책 등록: 폼 출력 """
    try:
        if not s.is_logged(user_id):
            raise Exception('새 책을 등록한 권한이 없습니다.')

        print("MAKING NEW BOOK...")

        return template('user_new_book_form.tpl', title='새 책 등록',
                        logged=True, member=s.data())
    except Exception as e:
        return template('popup', msg=str(e))
Beispiel #4
0
def do_update_info(user_id):
    try:
        if not s.is_logged(user_id):
            raise Exception('사용자 정보를 수정할 권한이 없습니다.')
        home_url = '/u/{}'.format(user_id)
        name = request.forms.getunicode('name', None)
        email = request.forms.getunicode('email', None)
        password = request.forms.getunicode('password', None)
        password2 = request.forms.getunicode('password2', None)
        intro = request.forms.getunicode('intro', None)

        if password != password2:
            raise Exception('비밀번호가 일치하지 않습니다.')

        m = member.Member()
        m.update(user_id, name=name, email=email, password=password, intro=intro)

        return template('popup', msg='{}님의 정보를 갱신했습니다.'.format(user_id), dest=home_url)

    except Exception as e:
        return template('popup.tpl', msg=str(e), dest=home_url)
Beispiel #5
0
def show_user_page():
    # TODO: 사용자 랭킹 등 보여주기
    logged = s.is_logged()
    session_data = s.data()
    return template('user_main.tpl', title='시용자 페이지', logged=logged,
                    member=session_data)
Beispiel #6
0
def join_form():
    # TODO: 템플릿에서 사용자 입력값 1차 확인
    if s.is_logged():
        # 이미 가입한 경우, 팝업 안내 후 첫 화면으로
        redirect('/')
    return template('join_form.tpl', title='회원 가입')
Beispiel #7
0
def login_form():
    if s.is_logged():
        # 이미 로그인했으면 사용자 페이지로
        return template('popup.tpl', msg='이미 로그인 중입니다.')
    return template('login_form.tpl', title='로그인', action='/login')
Beispiel #8
0
def main():
    # 최종적으로는 최근 글, 추천 글등을 보여주는 홈페이지 역할
    return template('main.tpl', title='메인 페이지',
        logged=s.is_logged(), member=s.data())