示例#1
0
    def handle(self, *args, **kwargs):
        east_blocks = [
            'PAKYONG', 'GANGTOK', 'REGU', 'RHENOCK', 'KHAMDONG',
            'RAKDONG TINTEK', 'DUGA', 'RANKA', 'MARTAM', 'PARAKHA'
        ]
        west_blocks = [
            'GYALSHING', 'SORENG', 'KALUK', 'DENTAM', 'DARAMDIN', 'YUKSAM',
            'BERMIOK MARTAM', 'CHONGRANG', 'CHUMBONG'
        ]
        north_blocks = ['MANGAN', 'CHUNGTHANG', 'KABI', 'PASSINGDONG']
        south_blocks = [
            'YANGANG', 'SUMBUK', 'NAMCHI', 'RAVANGLA', 'TEMI', 'JORETHANG',
            'SIKKIP', 'NAMTHANG'
        ]
        districts = ['east', 'west', 'north', 'south']
        for district in districts:
            user_obj = User()
            user_obj.username = district + '_admin'
            user_obj.set_password('Pass@123')
            user_obj.is_district_admin = True
            user_obj.save()
            district_obj = District.objects.create(
                user=user_obj, district_name=district.upper() + ' SIKKIM')

            for block in eval(district + '_blocks'):
                b_user_obj = User()
                b_user_obj.username = block.lower() + '_admin'
                b_user_obj.set_password('Pass@123')
                b_user_obj.is_block_admin = True
                b_user_obj.save()
                block_obj = Block.objects.create(user=b_user_obj,
                                                 block_name=block,
                                                 block_district=district_obj)
        print("Done")
示例#2
0
    def test_account_edit(self):

        u = User(email='*****@*****.**')
        u.username = '******'
        u.name = 'Unit Test'
        u.is_active = True
        u.set_password('Myunitarytest1!')
        u.save()

        self.client.force_login(u)
  
        with self.settings(EMAIL_BACKEND='django.core.mail.backends.locmem.EmailBackend'):
            response = self.client.post(reverse('profiles:user_edit'), {
                'username': u.username,
                'name': 'Another Unit Test',
                'email': u.email,
            })
            self.assertEqual(response.status_code, HTTPStatus.FOUND)
            self.assertEqual(response.url, reverse('profiles:user'))
            self.assertEqual(len(mail.outbox), 1)

        u.refresh_from_db()

        self.assertTrue(u.is_active)
        self.assertEqual(u.name, 'Another Unit Test')
示例#3
0
    def test_account_edit_email(self):

        u = User(email='*****@*****.**')
        u.username = '******'
        u.name = 'Unit Test'
        u.is_active = True
        u.set_password('Myunitarytest1!')
        u.save()

        self.client.force_login(u)

        with self.settings(
                EMAIL_BACKEND='django.core.mail.backends.locmem.EmailBackend'):
            response = self.client.post(reverse('profiles:user_edit'), {
                'username': u.username,
                'name': 'Another Unit Test',
                'email': '*****@*****.**',
            },
                                        follow=True)
            self.assertRedirects(
                response,
                reverse('profiles:login') + '?next=' +
                reverse('profiles:user'))
            self.assertEqual(response.status_code, HTTPStatus.OK)
            self.assertEqual(len(mail.outbox), 2)
            self.assertEqual(mail.outbox[0].to, ['*****@*****.**'])
            self.assertEqual(mail.outbox[1].to, ['*****@*****.**'])

        u.refresh_from_db()

        self.assertFalse(u.is_active)
        self.assertEqual(u.name, 'Another Unit Test')
        self.assertEqual(u.email, '*****@*****.**')

        token = mail.outbox[0].context['token']

        self.assertTrue('user_confirmation_token' in self.client.session)
        self.assertEqual(self.client.session['user_confirmation_token'], token)

        response = self.client.get(reverse('profiles:signup_confirm'),
                                   data={
                                       'token': token,
                                   })
        self.assertEqual(response.status_code, HTTPStatus.FOUND)
        self.assertEqual(response.url, reverse('profiles:user'))
示例#4
0
    def save(self, commit=True):
        employee = super().save(commit=False)
        user = User()

        user.username = f'emp_{randint(1000, 9999)}'
        user.set_password('Pass@123')
        user.first_name = self.cleaned_data['first_name']
        user.middle_name = self.cleaned_data['middle_name']
        user.last_name = self.cleaned_data['last_name']
        user.date_of_birth = self.cleaned_data['date_of_birth']
        user.gender = self.cleaned_data['gender']
        user.is_employee = True
        user.is_teacher = self.cleaned_data['is_teacher']
        user.save()

        employee.employee_user = user

        if commit:
            return employee.save()
        return employee