diff --git a/smash/web/models/worker.py b/smash/web/models/worker.py index d77c4919ff9392010448797938adc9a007b3e667..86e2304dd544cadf224bec751e49b62f874301e6 100644 --- a/smash/web/models/worker.py +++ b/smash/web/models/worker.py @@ -193,19 +193,6 @@ class Worker(models.Model): return Worker.objects.filter(roles__study_id=study_id, roles__role__in=roles_by_worker_type(worker_type)) - @staticmethod - def get_details(the_user): - persons = Worker.objects.filter(user=the_user) - - if len(persons) == 0: - return the_user.get_full_name(), '<No worker information>' - else: - person = persons[0] - role = "N/A" - if person.roles.filter(study=GLOBAL_STUDY_ID).count() > 0: - role = person.role - return unicode(person), role - def __str__(self): if self.name != '': if self.first_name == '': diff --git a/smash/web/views/__init__.py b/smash/web/views/__init__.py index ea4b446f84fe402a7b2abbbd9c082040646ea121..f6bf65ef44b5481037ce3c5ebbf04036cdcc3dc6 100644 --- a/smash/web/views/__init__.py +++ b/smash/web/views/__init__.py @@ -41,7 +41,14 @@ def wrap_response(request, template, params): def extend_context(params, request): - person, role = Worker.get_details(request.user) + person = Worker.get_by_user(request.user) # None if AnonymousUser or no Worker associated + if person is not None: + role = person.role + person = unicode(person) + else: + #use full name if available, username otherwise + person = request.user.get_full_name() if len(request.user.get_full_name()) > 1 else request.user.get_username() + role = '<No worker information>' notifications = get_notifications(request.user) final_params = params.copy() final_params.update({