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")
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')
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'))
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