Skip to content
Snippets Groups Projects
Commit 52f62872 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

fwhen we are adding voucher partner or health partner don't create user

parent 1569f48a
No related branches found
No related tags found
1 merge request!134Resolve "User managment page"
Pipeline #
......@@ -58,15 +58,18 @@ class WorkerForm(ModelForm):
def save(self, commit=True):
user = User.objects.create_user(username=self.cleaned_data['login'],
email=self.cleaned_data['email'],
password=self.cleaned_data['password'])
create_user = self.cleaned_data.get("login", None) is not None
user = None
if create_user:
user = User.objects.create_user(username=self.cleaned_data['login'],
email=self.cleaned_data['email'],
password=self.cleaned_data['password'])
instance = super(WorkerForm, self).save(commit)
instance.user = user
print instance
instance.save()
if create_user:
instance.user = user
instance.save()
roles = WorkerStudyRole.objects.filter(worker=instance, study_id=GLOBAL_STUDY_ID)
if roles.count() > 0:
......@@ -76,7 +79,7 @@ class WorkerForm(ModelForm):
def clean(self):
cleaned_data = super(WorkerForm, self).clean()
if cleaned_data['password'] is not None:
if cleaned_data.get('password', None) is not None:
if cleaned_data['password'] != cleaned_data['password2']:
self.add_error('password', "Password don't match")
self.add_error('password2', "Password don't match")
......@@ -93,7 +96,7 @@ class WorkerForm(ModelForm):
if not any(char.isalpha() for char in password):
self.add_error('password', 'Password must contain at least 1 letter.')
if cleaned_data['login'] is not None:
if cleaned_data.get('login', None) is not None:
if not re.match('^[.a-zA-Z0-9]+$', cleaned_data['login']):
self.add_error('login', 'Login can contain only alphanumeric characters or dot.')
......
import logging
from django.urls import reverse
from django_common.auth_backends import User
from web.forms import WorkerForm
from web.models import Worker
......@@ -28,6 +29,8 @@ class WorkerViewTests(LoggedInTestCase):
self.assertEqual(response.status_code, 200)
def test_render_worker_added_request(self):
self.assertEqual(1, User.objects.all().count())
language = create_language()
location = create_location()
......@@ -35,11 +38,11 @@ class WorkerViewTests(LoggedInTestCase):
response = self.client.post(reverse('web.views.worker_add', kwargs={'worker_type': WORKER_STAFF}),
data=form_data)
logger.debug(response.content)
self.assertEqual(response.status_code, 302)
self.assertEqual(1, Worker.objects.all().count())
self.assertEqual(2, User.objects.all().count())
def create_add_worker_form_data(self, language, location):
form_data = self.get_form_data(Worker())
......@@ -49,6 +52,9 @@ class WorkerViewTests(LoggedInTestCase):
form_data["unit"] = "TEST DEPARTMENT"
form_data["email"] = "john.doe@unknown.domain.com"
form_data["specialization"] = "tester"
form_data["login"] = "tester.login"
form_data["password"] = "123qweasdzxc"
form_data["password2"] = "123qweasdzxc"
form_data["languages"] = [language.id]
form_data["locations"] = [location.id]
form_data["role"] = ROLE_CHOICES_DOCTOR
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment