import datetime from django.contrib.auth.models import User from web.models import Location, AppointmentType, Subject, Worker, Visit, Appointment, ConfigurationItem from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL from web.views.notifications import get_today_midnight_date def create_get_suffix(params): result = "?" for key in params: result += key + "=" + str(params[key]) + "&" return result def create_location(name="test"): return Location.objects.create(name=name) def get_test_location(): locations = Location.objects.filter(name="test") if len(locations) > 0: return locations[0] else: return create_location() def create_appointment_type(): return AppointmentType.objects.create( code="C", default_duration="10", description="test", ) def create_subject(id=1): return Subject.objects.create( first_name="Piotr", last_name="Gawron", default_location=get_test_location(), sex=SEX_CHOICES_MALE, type=SUBJECT_TYPE_CHOICES_CONTROL, screening_number="piotr's number" + str(id), country="france") def create_user(username=None, password=None): if username is None: username = 'piotr' if password is None: password = 'top_secret' user = User.objects.create_user( username=username, email='jacob@bla', password=password) create_worker(user) return user def create_worker(user=None, with_test_location=False): worker = Worker.objects.create( first_name='piotr', last_name="gawron", email='jacob@bla', user=user, ) if with_test_location: worker.locations = [get_test_location()] worker.save() return worker def create_visit(subject=None): if subject is None: subject = create_subject() return Visit.objects.create(datetime_begin=get_today_midnight_date() + datetime.timedelta(days=-31), datetime_end=get_today_midnight_date() + datetime.timedelta(days=31), subject=subject, is_finished=False) def create_appointment(visit=None, when=None): if visit is None: visit = create_visit() return Appointment.objects.create( visit=visit, length=30, location=get_test_location(), datetime_when=when) def create_configuration_item(): item = ConfigurationItem.objects.create() item.type = "TEST" item.value = "xxx" item.name = "yyy" item.save() return item;