diff --git a/smash/web/redcap_connector.py b/smash/web/redcap_connector.py index a2af5169ca07e21bf5bce8098b152dbd53122891..10a6739a0763278bd6f7fef93ee95b481e074f67 100644 --- a/smash/web/redcap_connector.py +++ b/smash/web/redcap_connector.py @@ -11,7 +11,7 @@ from django.conf import settings from django.forms.models import model_to_dict from django_cron import CronJobBase, Schedule -from web.models import ConfigurationItem, StudySubject, Language, AppointmentType, Appointment, Visit, Study +from web.models import ConfigurationItem, StudySubject, Language, AppointmentType, Appointment, Visit, Study, Provenance, Worker, User from web.models.constants import REDCAP_TOKEN_CONFIGURATION_TYPE, \ REDCAP_BASE_URL_CONFIGURATION_TYPE, CRON_JOB_TIMEOUT, RED_CAP_LANGUAGE_4_FIELD_TYPE, RED_CAP_LANGUAGE_3_FIELD_TYPE, \ RED_CAP_LANGUAGE_2_FIELD_TYPE, RED_CAP_LANGUAGE_1_FIELD_TYPE, RED_CAP_MPOWER_ID_FIELD_TYPE, RED_CAP_DEAD_FIELD_TYPE, \ @@ -86,6 +86,16 @@ class RedcapConnector(object): self.study = Study.objects.get(id=GLOBAL_STUDY_ID) + self.importer_user = None + + importer_user_name = getattr(settings, "IMPORTER_USER", None) + if importer_user_name is not None: + user = User.objects.filter(username=importer_user_name) + if user is None: + logger.warn("User does not exist: " + importer_user_name) + else: + self.importer_user = Worker.objects.filter(user=user) + def find_missing(self): pid = self.get_project_id() redcap_version = self.get_redcap_version()