11
11
from esp .customforms .forms import NameField , AddressField
12
12
from esp .customforms .DynamicModel import DMH
13
13
from esp .utils .forms import DummyField
14
- from esp .users .models import ContactInfo
14
+ from esp .users .models import ContactInfo , ESPUser
15
15
from esp .cache import cache_function
16
16
from esp .program .models import Program
17
17
@@ -623,7 +623,10 @@ def getResponseData(self, form):
623
623
624
624
# Add in the user column if form is not anonymous
625
625
if not form .anonymous :
626
- response_data ['questions' ].append (['user_id' , 'User' , 'fk' ])
626
+ response_data ['questions' ].append (['user_id' , 'User ID' , 'fk' ])
627
+ response_data ['questions' ].append (['user_display' , 'User' , 'textField' ])
628
+ response_data ['questions' ].append (['user_email' , 'User e-mail' , 'textField' ])
629
+ response_data ['questions' ].append (['username' , 'Username' , 'textField' ])
627
630
628
631
# Add in the column for link fields, if any
629
632
if form .link_type != "-1" :
@@ -646,14 +649,23 @@ def getResponseData(self, form):
646
649
# Include this field only if it isn't a dummy field
647
650
elif generic_fields [ftype ]['typeMap' ] is not DummyField :
648
651
response_data ['questions' ].append ([qname , field ['label' ], ftype ])
649
-
652
+
653
+ users = ESPUser .objects .filter (id__in = map (lambda response : response ['user_id' ], responses )).distinct ()
654
+ users_dict = {}
655
+ for user in users :
656
+ users_dict [user .id ] = user
657
+
650
658
# Now let's set up the responses
651
659
for response in responses :
652
660
link_instances_cache = {}
653
661
654
662
# Add in user if form is not anonymous
655
663
if not form .anonymous :
664
+ user = users_dict [response ['user_id' ]]
656
665
response ['user_id' ] = unicode (response ['user_id' ])
666
+ response ['user_display' ] = user .name ()
667
+ response ['user_email' ] = user .email
668
+ response ['username' ] = user .username
657
669
658
670
# Add in links
659
671
if only_fkey_model is not None :
0 commit comments