def get(self): if self.ensure_is_logged_in(): extended = True if self.request.get( 'extended') == 'True' else False data = collections.namedtuple( 'data', 'current_display_name, previous_display_names, friends, messages, sessions, sessions_app, apps' ) current_display_name = '' previous_display_names = '' user_display_name = enki.libdisplayname.get_EnkiUserDisplayName_by_user_id_current( self.user_id) if user_display_name: current_display_name = enki.libdisplayname.get_user_id_display_name_url( user_display_name) previous_display_names = enki.libdisplayname.get_user_display_name_old( self.user_id) sessions = [] current_token = self.session.get('auth_token') auth_tokens = enki.libuser.fetch_AuthTokens(self.user_id) for item in auth_tokens: current = False if current_token == item.token: current = True sessions.append({ 'tokenauth_id': item.key.id(), 'time_created': item.time_created, 'current': current }) sessions_app = [] list = EnkiModelRestAPITokenVerify.fetch_by_user_id_type( user_id=self.user_id, type='apiconnect') for item in list: sessions_app.append({ 'token_id': item.key.id(), 'time_created': item.time_created }) friends = 0 messages = 0 apps = 0 if not extended: friends = enki.libfriends.count_EnkiFriends(self.user_id) messages = enki.libmessage.count_EnkiMessage_by_recipient( self.user_id) apps = EnkiModelApp.count_by_user_id(self.user_id) data = data(current_display_name, previous_display_names, friends, messages, sessions, sessions_app, apps) self.render_tmpl('profile.html', active_menu='profile', extended=extended, data=data)
def post_reauthenticated(self, params): app_secret_set = params.get('app_secret_set') app_name = params.get('app_name') error_message = '' data = [] app_success = '' if app_secret_set: secret = enki.librestapi.generate_auth_token() app = EnkiModelApp.get_by_id(int(app_secret_set)) app.secret = secret app.put() self.add_infomessage('success', MSG.SUCCESS(), MSG.NEW_SECRET_GENERATED()) app_success = str(app.key.id()) data = enki.librestapi.apps_list(self.user_id) else: data = enki.librestapi.apps_list(self.user_id) if not app_name: error_message = MSG.NAME_NEEDED() elif (len(app_name) > enki.librestapi.APP_MAX_NAME_LENGTH): error_message = MSG.APP_NAME_TOO_LONG( str(enki.librestapi.APP_MAX_NAME_LENGTH)) elif EnkiModelApp.exist_by_name(app_name): error_message = MSG.APP_NAME_ALREADY_EXISTS() elif (EnkiModelApp.count_by_user_id(self.user_id) >= enki.librestapi.APP_MAX): error_message = MSG.APP_EXCEED_ALLOWED() else: secret = enki.librestapi.generate_auth_token() app = EnkiModelApp(user_id=self.user_id, name=app_name, secret=secret) app.put() data.append( [app_name, str(app.key.id()), secret, app.time_created]) self.add_infomessage('success', MSG.SUCCESS(), MSG.APP_CREATED()) app_success = str(app.key.id()) self.render_tmpl( 'apps.html', active_menu='profile', error=error_message, data=data, app_success=app_success, app_max=enki.librestapi.APP_MAX, app_max_name_length=enki.librestapi.APP_MAX_NAME_LENGTH, )
def get( self ): if self.ensure_is_logged_in(): extended = True if self.request.get( 'extended' ) == 'True' else False data = collections.namedtuple( 'data', 'current_display_name, previous_display_names, friends, messages, sessions, sessions_app, apps' ) current_display_name = '' previous_display_names = '' user_display_name = enki.libdisplayname.get_EnkiUserDisplayName_by_user_id_current( self.user_id ) if user_display_name: current_display_name = enki.libdisplayname.get_user_id_display_name_url( user_display_name ) previous_display_names = enki.libdisplayname.get_user_display_name_old( self.user_id ) sessions = [] current_token = self.session.get( 'auth_token' ) auth_tokens = enki.libuser.fetch_AuthTokens( self.user_id ) for item in auth_tokens: current = False if current_token == item.token: current = True sessions.append({ 'tokenauth_id' : item.key.id(), 'time_created' : item.time_created, 'current' : current }) sessions_app = [] list = EnkiModelRestAPITokenVerify.fetch_by_user_id_type( user_id = self.user_id, type = 'apiconnect' ) for item in list: sessions_app.append({ 'token_id' : item.key.id(), 'time_created' : item.time_created }) friends = 0 messages = 0 apps = 0 if not extended: friends = enki.libfriends.count_EnkiFriends( self.user_id ) messages = enki.libmessage.count_EnkiMessage_by_recipient( self.user_id ) apps = EnkiModelApp.count_by_user_id( self.user_id ) data = data( current_display_name, previous_display_names, friends, messages, sessions, sessions_app, apps ) self.render_tmpl( 'profile.html', active_menu = 'profile', extended = extended, data = data )