Example #1
0
 def handle(self, *args, **options):
     with open(options['file_path'], 'r') as f:
         filename, file_extension = os.path.splitext(options['file_path'])
         if file_extension == '.yaml':
             user_list = yaml.load(f)
         elif file_extension == '.csv':
             reader = csv.reader(f)
             user_list = [row for row in reader]
             headers = user_list.pop(0)
             user_dict_list = []
             for i in range(0, len(user_list)):
                 user_dict = {}
                 for j in range(0, len(headers)):
                     user_dict.update({headers[j]: user_list[i][j]})
                 user_dict_list.append(user_dict)
             user_list = user_dict_list
         else:
             raise NotImplementedError(
                 "'{0}' file type not supported".format(file_extension))
         for accounts_user in user_list:
             new_user_details = {
                 'last_name': accounts_user['last_name'],
                 'username': accounts_user['username'],
                 'full_name': None,
                 'first_name': accounts_user['first_name'],
                 'uid': accounts_user['id']
             }
             create_user(**new_user_details)
         response = self.style.SUCCESS("Import Successful")
     self.stdout.write(response)
Example #2
0
 def handle(self, *args, **options):
     with open(options['file_path'], 'r') as f:
         filename, file_extension = os.path.splitext(options['file_path'])
         if file_extension == '.yaml':
             user_list = yaml.load(f)
         elif file_extension == '.csv':
             reader = csv.reader(f)
             user_list = [row for row in reader]
             headers = user_list.pop(0)
             user_dict_list = []
             for i in range(0, len(user_list)):
                 user_dict = {}
                 for j in range(0, len(headers)):
                     user_dict.update({headers[j]: user_list[i][j]})
                 user_dict_list.append(user_dict)
             user_list = user_dict_list
         else:
             raise NotImplementedError(
                 "'{0}' file type not supported".format(file_extension))
         for accounts_user in user_list:
             new_user_details = {'last_name': accounts_user['last_name'],
                                 'username': accounts_user['username'],
                                 'full_name': None,
                                 'first_name': accounts_user['first_name'],
                                 'uid': accounts_user['id']}
             create_user(**new_user_details)
         response = self.style.SUCCESS("Import Successful")
     self.stdout.write(response)
Example #3
0
    def test_update_faculty_status_all_command(self):
        from accounts.utils import create_user
        user_details = {'last_name': 'Hart',
                        'username': '******',
                        'full_name': None,
                        'first_name': 'Richard',
                        'uid': 16207} #this information probably 
        test_user = create_user(**user_details)

        self.assertFalse(test_user.groups.filter(name='Faculty').exists())
        out = StringIO()
        call_command('update_faculty_status', '--all', stdout=out)
        self.assertIn("Success", out.getvalue())
        test_user = User.objects.filter(username=user_details['username'])[0]
        self.assertTrue(test_user.groups.filter(name='Faculty').exists())
Example #4
0
    def test_update_faculty_status_command(self):
        test_user = {'last_name': 'last_name',
                     'username': '******',
                     'full_name': None,
                     'first_name': 'first_name',
                     'uid': 0}
        returned_user = create_user(**test_user)

        out = StringIO()
        cms_id = str(returned_user.pk)
        self.assertFalse(returned_user.groups.filter(name='Faculty').exists())
        call_command(
            'update_faculty_status', cms_id, stdout=out)
        self.assertIn("Success", out.getvalue())
        self.assertTrue(returned_user.groups.filter(name='Faculty').exists())
Example #5
0
    def test_update_faculty_status_command(self):
        test_user = {
            'last_name': 'last_name',
            'username': '******',
            'full_name': None,
            'first_name': 'first_name',
            'uid': 0
        }
        returned_user = create_user(**test_user)

        out = StringIO()
        cms_id = str(returned_user.pk)
        self.assertFalse(returned_user.groups.filter(name='Faculty').exists())
        call_command('update_faculty_status', cms_id, stdout=out)
        self.assertIn("Success", out.getvalue())
        self.assertTrue(returned_user.groups.filter(name='Faculty').exists())
Example #6
0
    def test_user_faculty_group(self):
        user = User.objects.create_user('john', '*****@*****.**',
                                        'johnpassword')
        user.save()
        self.client.force_login(user)
        response = self.client.get('/api/user/')
        self.assertEqual(response.status_code, 200)
        response_list = json.loads(response.content.decode(response.charset))
        expected_user_info = {
            'is_superuser': False,
            'username': '******',
            'first_name': '',
            'groups': [],
            'last_name': '',
            'is_staff': False,
            'accounts_id': None
        }
        returned_user_info = response_list[0]
        self.assertDictEqual(expected_user_info, returned_user_info)

        test_user = {
            'last_name': 'last_name',
            'username': '******',
            'full_name': None,
            'first_name': 'first_name',
            'uid': '0'
        }

        new_user = create_user(**test_user)

        self.client.force_login(new_user)
        self.client.get('/api/user/')
        time.sleep(1)
        response = self.client.get('/api/user/')
        self.assertEqual(response.status_code, 200)
        response_list = json.loads(response.content.decode(response.charset))
        expected_user_info = {
            'is_superuser': False,
            'username': '******',
            'first_name': 'first_name',
            'groups': ['Faculty'],
            'last_name': 'last_name',
            'is_staff': False,
            'accounts_id': '0'
        }
        returned_user_info = response_list[0]
        self.assertDictEqual(expected_user_info, returned_user_info)
Example #7
0
    def test_update_faculty_status_all_command(self):
        from accounts.utils import create_user
        user_details = {
            'last_name': 'Hart',
            'username': '******',
            'full_name': None,
            'first_name': 'Richard',
            'uid': 16207
        }  #this information probably
        test_user = create_user(**user_details)

        self.assertFalse(test_user.groups.filter(name='Faculty').exists())
        out = StringIO()
        call_command('update_faculty_status', '--all', stdout=out)
        self.assertIn("Success", out.getvalue())
        test_user = User.objects.filter(username=user_details['username'])[0]
        self.assertTrue(test_user.groups.filter(name='Faculty').exists())
Example #8
0
    def test_user_faculty_group(self):
        user = User.objects.create_user('john',
                                        '*****@*****.**',
                                        'johnpassword')
        user.save()
        self.client.force_login(user)
        response = self.client.get('/api/user/')
        self.assertEqual(response.status_code, 200)
        response_list = json.loads(response.content.decode(response.charset))
        expected_user_info = {'is_superuser': False,
                              'username': '******',
                              'first_name': '',
                              'groups': [],
                              'last_name': '',
                              'is_staff': False,
                              'accounts_id': None}
        returned_user_info = response_list[0]
        self.assertDictEqual(expected_user_info, returned_user_info)

        test_user = {'last_name': 'last_name',
                     'username': '******',
                     'full_name': None,
                     'first_name': 'first_name',
                     'uid': '0'}

        new_user = create_user(**test_user)

        self.client.force_login(new_user)
        self.client.get('/api/user/')
        time.sleep(1)
        response = self.client.get('/api/user/')
        self.assertEqual(response.status_code, 200)
        response_list = json.loads(response.content.decode(response.charset))
        expected_user_info = {'is_superuser': False,
                              'username': '******',
                              'first_name': 'first_name',
                              'groups': ['Faculty'],
                              'last_name': 'last_name',
                              'is_staff': False,
                              'accounts_id': '0'}
        returned_user_info = response_list[0]
        self.assertDictEqual(expected_user_info, returned_user_info)