11
11
from crowdsourcer .forms import (
12
12
MarkerForm ,
13
13
MarkerFormset ,
14
+ ResetEmailForm ,
14
15
UserForm ,
15
16
VolunteerAssignmentFormset ,
16
17
VolunteerBulkAssignForm ,
17
18
)
18
19
from crowdsourcer .models import Assigned , Marker , PublicAuthority , ResponseType , Section
20
+ from crowdsourcer .volunteers import send_registration_email
19
21
20
22
logger = logging .getLogger (__name__ )
21
23
@@ -111,13 +113,16 @@ def get_form(self, form_class=None):
111
113
def get_context_data (self , ** kwargs ):
112
114
context = super ().get_context_data (** kwargs )
113
115
116
+ reset_form = ResetEmailForm (initial = {"user_id" : self .user .id })
117
+
114
118
formset = MarkerFormset (
115
119
instance = self .user ,
116
120
form_kwargs = {"session" : self .request .current_session },
117
121
** self .get_form_kwargs ()
118
122
)
119
123
120
124
context ["formset" ] = formset
125
+ context ["reset_form" ] = reset_form
121
126
122
127
return context
123
128
@@ -132,6 +137,25 @@ def form_valid(self, form):
132
137
return super ().form_valid (form )
133
138
134
139
140
+ class VolunteerSendResetEmailView (VolunteerAccessMixin , FormView ):
141
+ form_class = ResetEmailForm
142
+ template_name = "crowdsourcer/volunteers/edit.html"
143
+
144
+ def get_success_url (self ):
145
+ return reverse (
146
+ "session_urls:list_volunteers" ,
147
+ kwargs = {"marking_session" : self .request .current_session .label },
148
+ )
149
+
150
+ def form_valid (self , form ):
151
+ if form .is_valid ():
152
+ user_id = form .cleaned_data ["user_id" ]
153
+ user = get_object_or_404 (User , pk = user_id )
154
+ send_registration_email (user , self .request .get_host ())
155
+
156
+ return super ().form_valid (form )
157
+
158
+
135
159
class VolunteerAssignentView (VolunteerAccessMixin , FormView ):
136
160
template_name = "crowdsourcer/volunteers/assign.html"
137
161
form_class = VolunteerAssignmentFormset
0 commit comments