Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)  
Exemplo n.º 4
0
    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))
Exemplo n.º 5
0
    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. ')