def uploadUsers(self):
        loggedInUser = self.current_user
        if loggedInUser and loggedInUser.admin:                    
            userNames=self.request.get('userNames')
            names = string.split(userNames, '\n')
            bigMessage = ['username,password']
            for name in names:
                username = name.strip()      
                try:
                    randomPassword = WhysaurusUser.random_password(8)
                    user = WhysaurusUser.signup(self, email=None, name=username, 
                                                password=randomPassword, website=None, areas=None, 
                                                profession=None, bio=None)
                    user.updatePrivateArea('Good_Judgment_Project')
                    bigMessage.append('%s,%s' % ( username, randomPassword))
                except WhysaurusException as e:
                    bigMessage.append('Could not create user: %s. Error was:%s' % (username, str(e)))
                
            template_values = {
                'user': loggedInUser,
                'messages': bigMessage
            }    
            path = os.path.join(os.path.dirname(__file__), '../templates/message.html')
            self.response.out.write(template.render(path, template_values))   
        else:
            self.response.out.write('User not authorized. ')


            
            
            
Example #2
0
    def uploadUsers(self):

        userNamespace = namespace_manager.get_namespace()
        namespace_manager.set_namespace('')

        loggedInUser = self.current_user
        if loggedInUser and loggedInUser.isAdmin:
            userNames = self.request.get('userNames')
            privateArea = self.request.get('areaToAdd')
            userLines = string.split(userNames, '\n')

            bigMessage = []
            if privateArea:
                bigMessage.append('Creating users in classroom %s' %
                                  privateArea)
            bigMessage.append('username,password')
            for userLine in userLines:
                userFields = string.split(userLine, ',')
                numFields = len(userFields)
                username = userFields[0].strip()
                try:
                    newPassword = ''
                    if numFields == 1:
                        newPassword = WhysaurusUser.random_password(8)
                    else:
                        newPassword = userFields[1].strip()
                    if username != '':
                        user = WhysaurusUser.signup(self,
                                                    email=username,
                                                    name=username,
                                                    password=newPassword,
                                                    website=None,
                                                    areas=None,
                                                    profession=None,
                                                    bio=None)
                        user.updateUserSettings([privateArea])
                        bigMessage.append('%s,%s' % (username, newPassword))
                except WhysaurusException as e:
                    bigMessage.append(
                        'Could not create user: %s. Error was:%s' %
                        (username, str(e)))

            template_values = {'user': loggedInUser, 'messages': bigMessage}
            self.response.out.write(
                self.template_render('message.html', template_values))
        else:
            self.response.out.write('User not authorized. ')

        namespace_manager.set_namespace(userNamespace)
    def signup(self):
        email = self.request.get('email')
        name = self.request.get('userName')
        password = self.request.get('password')
        website =self.request.get('website')
        areas=self.request.get('areas')
        profession =self.request.get('profession')
        bio=self.request.get('bio')
        try:
            user = WhysaurusUser.signup(self, email, name, password, website, areas, profession, bio)
            results = {'result': True}
        except WhysaurusException as e:
            results = {'result': False, 'error': str(e)}

        resultJSON = json.dumps(results)
        self.response.headers.add_header('content-type', 'application/json', charset='utf-8')
        self.response.out.write(resultJSON)
Example #4
0
    def uploadUsers(self):

        userNamespace = namespace_manager.get_namespace()        
        namespace_manager.set_namespace('')
        
        loggedInUser = self.current_user
        if loggedInUser and loggedInUser.isAdmin:                    
            userNames=self.request.get('userNames')
            privateArea = self.request.get('areaToAdd')
            userLines = string.split(userNames, '\n')
            
            bigMessage = []
            if privateArea:
              bigMessage.append('Creating users in classroom %s' % privateArea)
            bigMessage.append('username,password')
            for userLine in userLines:
                userFields = string.split(userLine, ',')
                numFields = len(userFields)
                username = userFields[0].strip()
                try:
                    newPassword = ''
                    if numFields == 1:                      
                      newPassword = WhysaurusUser.random_password(8)
                    else:
                      newPassword = userFields[1].strip()
                    if username != '':
                      user = WhysaurusUser.signup(self, email=username, name=username, 
                                                  password=newPassword, website=None, areas=None, 
                                                  profession=None, bio=None)
                      user.updateUserSettings([privateArea])
                      bigMessage.append('%s,%s' % ( username, newPassword))
                except WhysaurusException as e:
                    bigMessage.append('Could not create user: %s. Error was:%s' % (username, str(e)))
                
            template_values = {
                'user': loggedInUser,
                'messages': bigMessage
            }    
            self.response.out.write(
                self.template_render('message.html', template_values))   
        else:
            self.response.out.write('User not authorized. ')

        namespace_manager.set_namespace(userNamespace)
Example #5
0
    def signup(self):
        email = self.request.get('email')
        name = self.request.get('userName')
        password = self.request.get('password')
        website = self.request.get('website')
        areas = self.request.get('areas')
        profession = self.request.get('profession')
        bio = self.request.get('bio')
        try:
            user = WhysaurusUser.signup(self, email, name, password, website,
                                        areas, profession, bio)
            results = {'result': True}

            # See if we can log them into a private area
            if 'postloginaction' in self.session:
                # need to figure out how to pass this over to AJAX
                # and what the point creation will look like
                logging.info(
                    "Have post login action when signing up as an email user")
            elif len(user.privateAreas) == 1 and not user.admin:
                self.setUserArea(user.privateAreas[0])
                results['redirect'] = "/"

            # login newly created user
            auth_id = 'email: %s' % email
            u = self.auth.get_user_by_password(auth_id,
                                               password,
                                               remember=True,
                                               save_session=True)
            user = self.auth.store.user_model.get_by_id(u['user_id'])
            self.current_user = user
            user.login()

        except WhysaurusException as e:
            results = {'result': False, 'error': str(e)}

        resultJSON = json.dumps(results)
        self.response.headers[
            "Content-Type"] = 'application/json; charset=utf-8'
        self.response.out.write(resultJSON)
Example #6
0
    def signup(self):
        email = self.request.get('email')
        name = self.request.get('userName')
        password = self.request.get('password')
        website =self.request.get('website')
        areas=self.request.get('areas')
        profession =self.request.get('profession')
        bio=self.request.get('bio')
        try:
            user = WhysaurusUser.signup(self, email, name, password, website, areas, profession, bio)
            results = {'result': True}

            # See if we can log them into a private area
            if 'postloginaction' in self.session:
                # need to figure out how to pass this over to AJAX
                # and what the point creation will look like
                logging.info("Have post login action when signing up as an email user")
            elif len(user.privateAreas) == 1:
                self.setUserArea(user.privateAreas[0])
                results['redirect'] = "/"
            
            # login newly created user
            auth_id = 'email: %s' %  email
            u = self.auth.get_user_by_password(auth_id, password, remember=True,
              save_session=True)
            user = self.auth.store.user_model.get_by_id(u['user_id'])
            self.current_user = user
            user.login()
            

        except WhysaurusException as e:
            results = {'result': False, 'error': str(e)}

        resultJSON = json.dumps(results)
        self.response.headers["Content-Type"] = 'application/json; charset=utf-8'
        self.response.out.write(resultJSON)