예제 #1
0
    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)
예제 #2
0
 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,
     )
예제 #3
0
	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 )