def PopulateGaids(self): maxCreates = 250 bigMessage = ['Populating GA Ids'] gaIds = [] query = WhysaurusUser.query() for yUser in query.iter(): if yUser.gaId is None: continue gaIds.append(yUser.gaId) bigMessage.append('Existing gaIds: %s' % (len(gaIds))) cntNewIds = 0 query = WhysaurusUser.query() for yUser in query.iter(): if yUser.gaId is not None: continue newId = yUser.generateUserGaid(isNewUser=False, existingGaids=gaIds) if newId is None: bigMessage.append('User %s (%s) failed generation: %s' % (yUser.name, str(yUser.auth_ids), yUser.gaId)) continue yUser.put() bigMessage.append('User %s (%s) got gaId: %s' % (yUser.name, str(yUser.auth_ids), yUser.gaId)) cntNewIds += 1 if cntNewIds >= maxCreates: break bigMessage.append('Generated %s new gaIds' % (cntNewIds)) template_values = { 'messages': bigMessage } path = os.path.join(os.path.dirname(__file__), '../templates/django/message.html') self.response.out.write(template.render(path, template_values))
def get(self): userNamespace = namespace_manager.get_namespace() namespace_manager.set_namespace('') user = self.current_user if user is None: self.response.out.write('Need to login.') return if not user.isAdmin: self.response.out.write('User not authorized.') return queryUsr = WhysaurusUser.query().order(-WhysaurusUser.lastLogin) areas = PrivateArea.query() users = [] i = 0 for yUser in queryUsr.iter(): users = users + [{ 'u': yUser, 'index': i, 'userKey': yUser.key.urlsafe() }] i = i + 1 paginator = Paginator(users, self.USERS_PER_PAGE) page = self.request.get('page') try: paginatedUsers = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. paginatedUsers = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. paginatedUsers = paginator.page(paginator.num_pages) template_values = { 'user': user, 'users': paginatedUsers, 'areas': areas, 'currentArea': self.session.get('currentArea'), 'currentAreaDisplayName': self.session.get('currentAreaDisplayName') } self.response.out.write( self.template_render('admin.html', template_values)) namespace_manager.set_namespace(userNamespace)
def get(self): userNamespace = namespace_manager.get_namespace() namespace_manager.set_namespace('') user = self.current_user if user is None: self.response.out.write('Need to login.') return if not user.isAdmin: self.response.out.write('User not authorized.') return queryUsr = WhysaurusUser.query().order(-WhysaurusUser.lastLogin) areas = PrivateArea.query() users = [] i = 0 for yUser in queryUsr.iter(): users = users + [{'u':yUser, 'index':i, 'userKey': yUser.key.urlsafe()}] i = i+1 paginator = Paginator(users, 25) page = self.request.get('page') try: paginatedUsers = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. paginatedUsers = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. paginatedUsers = paginator.page(paginator.num_pages) template_values = { 'user': user, 'users': paginatedUsers, 'areas': areas, 'currentArea':self.session.get('currentArea'), 'currentAreaDisplayName':self.session.get('currentAreaDisplayName') } self.response.out.write( self.template_render('admin.html', template_values)) namespace_manager.set_namespace(userNamespace)
def UpdateUserName(self, userUrl, userName): maxUpdates = 1 bigMessage = ['Populating user name (%s): %s' % (userUrl, userName)] updates = 0 query = WhysaurusUser.query() for yUser in query.iter(): if yUser.url != userUrl: continue bigMessage.append('Changing user name (%s / %s): %s' % (yUser.url, yUser.name, userName)) yUser.name = userName yUser.put() updates += 1 bigMessage.append('Users: %s' % (updates)) template_values = { 'messages': bigMessage } path = os.path.join(os.path.dirname(__file__), '../templates/django/message.html') self.response.out.write(template.render(path, template_values))
def get(self): user = self.current_user queryUsr = WhysaurusUser.query() areas = PrivateArea.query().fetch(50) users = [] i = 0 for yUser in queryUsr.iter(): users = users + [{'u':yUser, 'index':i, 'userKey': yUser.key.urlsafe()}] i = i+1 template_values = { 'user': user, 'users': users, 'areas': areas, 'currentArea':self.session.get('currentArea') } if user and user.admin: path = os.path.join(constants.ROOT, 'templates/admin.html') self.response.out.write(template.render(path, template_values)) else: self.response.out.write('User not authorized. ')