11
11
from crowdsourcer .forms import (
12
12
MarkerForm ,
13
13
MarkerFormset ,
14
+ ResetEmailForm ,
14
15
UserForm ,
15
16
VolunteerAssignmentFormset ,
16
17
VolunteerBulkAssignForm ,
23
24
ResponseType ,
24
25
Section ,
25
26
)
27
+ from crowdsourcer .volunteers import send_registration_email
26
28
27
29
logger = logging .getLogger (__name__ )
28
30
@@ -118,13 +120,16 @@ def get_form(self, form_class=None):
118
120
def get_context_data (self , ** kwargs ):
119
121
context = super ().get_context_data (** kwargs )
120
122
123
+ reset_form = ResetEmailForm (initial = {"user_id" : self .user .id })
124
+
121
125
formset = MarkerFormset (
122
126
instance = self .user ,
123
127
form_kwargs = {"session" : self .request .current_session },
124
128
** self .get_form_kwargs ()
125
129
)
126
130
127
131
context ["formset" ] = formset
132
+ context ["reset_form" ] = reset_form
128
133
129
134
return context
130
135
@@ -139,6 +144,25 @@ def form_valid(self, form):
139
144
return super ().form_valid (form )
140
145
141
146
147
+ class VolunteerSendResetEmailView (VolunteerAccessMixin , FormView ):
148
+ form_class = ResetEmailForm
149
+ template_name = "crowdsourcer/volunteers/edit.html"
150
+
151
+ def get_success_url (self ):
152
+ return reverse (
153
+ "session_urls:list_volunteers" ,
154
+ kwargs = {"marking_session" : self .request .current_session .label },
155
+ )
156
+
157
+ def form_valid (self , form ):
158
+ if form .is_valid ():
159
+ user_id = form .cleaned_data ["user_id" ]
160
+ user = get_object_or_404 (User , pk = user_id )
161
+ send_registration_email (user , self .request .get_host ())
162
+
163
+ return super ().form_valid (form )
164
+
165
+
142
166
class VolunteerAssignentView (VolunteerAccessMixin , FormView ):
143
167
template_name = "crowdsourcer/volunteers/assign.html"
144
168
form_class = VolunteerAssignmentFormset
0 commit comments