Пример #1
0
def account(request):
    session_key, r = warara.check_logged_in(request)
    server = warara_middleware.get_server()
    account = server.member_manager.get_info(session_key)

    account.last_logout_time = timestamp2datetime(account.last_logout_time)
    account.logged_in = True
    rendered = render_to_string('account/myaccount_frame.html', account.__dict__)
    return HttpResponse(rendered)
Пример #2
0
def account(request):
    session_key, r = warara.check_logged_in(request)
    server = warara_middleware.get_server()
    account = server.member_manager.get_info(session_key)

    account.last_logout_time = timestamp2datetime(account.last_logout_time)
    account.logged_in = True
    rendered = render_to_string('account/myaccount_frame.html',
                                account.__dict__)
    return HttpResponse(rendered)
Пример #3
0
def get_user_info(request):
    if request.method == 'POST':
        session_key, ctx = warara.check_logged_in(request)
        server = warara_middleware.get_server()
        query_user_name = request.POST['query_user_name']
        information = server.member_manager.query_by_username(session_key, query_user_name)
        information.last_logout_time = timestamp2datetime(information.last_logout_time)
        rendered = render_to_string('account/another_user_account.html', information.__dict__)
        return HttpResponse(rendered)
    else:
        return HttpResponse("Linear Algebra")
    assert ret, information
Пример #4
0
def get_user_info(request):
    if request.method == 'POST':
        session_key, ctx = warara.check_logged_in(request)
        server = warara_middleware.get_server()
        query_user_name = request.POST['query_user_name']
        information = server.member_manager.query_by_username(
            session_key, query_user_name)
        information.last_logout_time = timestamp2datetime(
            information.last_logout_time)
        rendered = render_to_string('account/another_user_account.html',
                                    information.__dict__)
        return HttpResponse(rendered)
    else:
        return HttpResponse("Linear Algebra")
    assert ret, information
Пример #5
0
    def add_welcome(self, session_key, notice_reg_dic):
        '''
        관리자용 welcome 추가 함수

        >>> notice_reg_dic = { 'content':'hahahah', 'due_date':'2008,7,14', 'weight':'1' }
        >>> notice.add_welcome(SYSOP_session_key, notice_reg_dic)
        >>> notice.add_welcome(user_session_key, notice_reg_dic)
        Traceback (most recent calls top):
            ...
        InvalidOperation
        
        @type  session_key: string
        @param session_key: 사용자 Login Session
        @type  notice_reg_dic: dictionary
        @param notice_reg_dic: Notice Dictionary
        @rtype: void
        @return:
            1. welcome 페이지 추가에 성공하였을 때: void
            2. welcome 페이지 추가에 실패하였을 때:
                1. 시삽이 아닐 때: InvalidOperation Exception
                2. 데이터베이스 오류: InternalError Exception
        '''

        notice_reg_dic = notice_reg_dic.__dict__

        notice_reg_dic['due_date'] = timestamp2datetime(
                notice_reg_dic['due_date'])

        if not is_keys_in_dict(notice_reg_dic, NOTICE_ADD_WHITELIST):
            raise InvalidOperation('wrong dictionary')

        if not self.engine.member_manager.is_sysop(session_key):
            raise InvalidOperation('not sysop')

        session = model.Session()
        try:
            # Register welcome to db
            welcome= model.Welcome(**notice_reg_dic)
            session.save(welcome)
            session.commit()
            session.close()
            return
        except Exception, e:
            session.rollback()
            session.close()
            raise InternalError('database error')
Пример #6
0
    def add_banner(self, session_key, notice_reg_dic):
        '''
        관리자용 배너 추가 함수
        이 아래의 doctest 는 작동하지 않으니 무시할 것.
       
        >>> notice_reg_dic = { 'content':'hahahah', 'due_date':'2008,7,14', 'weight':'1' }
        >>> notice.add_banner(SYSOP_session_key, WrittenNotice(**notice_reg_dic))
        >>> notice.add_banner(user_session_key, notice_reg_dic)
        Traceback (most recent calls top):
            ...
        InvalidOperation
        
        @type  session_key: string
        @param session_key: 사용자 Login Session
        @type  notice_reg_dic: ttypes.WrittenNotice 
        @param notice_reg_dic: Notice Dictionary
        @rtype: int
        @return:
            1. 배너 페이지 추가에 성공하였을 때: 추가된 배너의 id
            2. 배너 페이지 추가에 실패하였을 때:
                1. 시삽이 아닐 때: InvalidOperation Exception
                2. 데이터베이스 오류: InternalError Exception
        '''
        notice_reg_dic = notice_reg_dic.__dict__
        notice_reg_dic['due_date'] = timestamp2datetime(
                notice_reg_dic['due_date'])

        if not is_keys_in_dict(notice_reg_dic, NOTICE_ADD_WHITELIST):
            raise InvalidOperation('wrong dictionary')

        if not self.engine.member_manager.is_sysop(session_key):
            raise InvalidOperation('not sysop')

        session = model.Session()
        try:
            # Register welcome to db
            banner = model.Banner(**notice_reg_dic)
            session.add(banner)
            session.commit()
            banner_id = banner.id
            session.close()
            return banner_id
        except Exception, e:
            session.rollback()
            session.close()
            raise InternalError('database error')
Пример #7
0
    def add_welcome(self, session_key, notice_reg_dic):
        '''
        관리자용 welcome 추가 함수

        >>> notice_reg_dic = { 'content':'hahahah', 'due_date':'2008,7,14', 'weight':'1' }
        >>> notice.add_welcome(SYSOP_session_key, notice_reg_dic)
        >>> notice.add_welcome(user_session_key, notice_reg_dic)
        Traceback (most recent calls top):
            ...
        InvalidOperation
        
        @type  session_key: string
        @param session_key: 사용자 Login Session
        @type  notice_reg_dic: dictionary
        @param notice_reg_dic: Notice Dictionary
        @rtype: void
        @return:
            1. welcome 페이지 추가에 성공하였을 때: void
            2. welcome 페이지 추가에 실패하였을 때:
                1. 시삽이 아닐 때: InvalidOperation Exception
                2. 데이터베이스 오류: InternalError Exception
        '''

        notice_reg_dic = notice_reg_dic.__dict__

        notice_reg_dic['due_date'] = timestamp2datetime(
            notice_reg_dic['due_date'])

        if not is_keys_in_dict(notice_reg_dic, NOTICE_ADD_WHITELIST):
            raise InvalidOperation('wrong dictionary')

        if not self.engine.member_manager.is_sysop(session_key):
            raise InvalidOperation('not sysop')

        session = model.Session()
        try:
            # Register welcome to db
            welcome = model.Welcome(**notice_reg_dic)
            session.save(welcome)
            session.commit()
            session.close()
            return
        except Exception, e:
            session.rollback()
            session.close()
            raise InternalError('database error')
Пример #8
0
    def add_banner(self, session_key, notice_reg_dic):
        '''
        관리자용 배너 추가 함수
        이 아래의 doctest 는 작동하지 않으니 무시할 것.
       
        >>> notice_reg_dic = { 'content':'hahahah', 'due_date':'2008,7,14', 'weight':'1' }
        >>> notice.add_banner(SYSOP_session_key, WrittenNotice(**notice_reg_dic))
        >>> notice.add_banner(user_session_key, notice_reg_dic)
        Traceback (most recent calls top):
            ...
        InvalidOperation
        
        @type  session_key: string
        @param session_key: 사용자 Login Session
        @type  notice_reg_dic: ttypes.WrittenNotice 
        @param notice_reg_dic: Notice Dictionary
        @rtype: int
        @return:
            1. 배너 페이지 추가에 성공하였을 때: 추가된 배너의 id
            2. 배너 페이지 추가에 실패하였을 때:
                1. 시삽이 아닐 때: InvalidOperation Exception
                2. 데이터베이스 오류: InternalError Exception
        '''
        notice_reg_dic = notice_reg_dic.__dict__
        notice_reg_dic['due_date'] = timestamp2datetime(
            notice_reg_dic['due_date'])

        if not is_keys_in_dict(notice_reg_dic, NOTICE_ADD_WHITELIST):
            raise InvalidOperation('wrong dictionary')

        if not self.engine.member_manager.is_sysop(session_key):
            raise InvalidOperation('not sysop')

        session = model.Session()
        try:
            # Register welcome to db
            banner = model.Banner(**notice_reg_dic)
            session.add(banner)
            session.commit()
            banner_id = banner.id
            session.close()
            return banner_id
        except Exception, e:
            session.rollback()
            session.close()
            raise InternalError('database error')
Пример #9
0
 def test_libs(self):
     result = libs.timestamp2datetime(0.0)
     self.assertEqual('1970-01-01 09:00:00', str(result))
Пример #10
0
 def test_libs(self):
     result = libs.timestamp2datetime(0.0)
     self.assertEqual('1970-01-01 09:00:00', str(result))