|
|
@@ -126,36 +126,41 @@ def reset_counter(request):
|
|
126
|
126
|
except Counter.DoesNotExist:
|
|
127
|
127
|
return HttpResponseRedirect(data['redirect'][0])
|
|
128
|
128
|
|
|
129
|
|
- reset = Reset(counter=counter, who=who, reason=data['reason'][0])
|
|
130
|
|
-
|
|
131
|
129
|
# we check that the seumer is the autenticated user
|
|
132
|
|
- if reset.who.user is None or reset.who.user != request.user:
|
|
|
130
|
+ if who.user is None or who.user != request.user:
|
|
133
|
131
|
return HttpResponseRedirect(data['redirect'][0])
|
|
134
|
132
|
|
|
135
|
|
- reset.save()
|
|
|
133
|
+ reason = data['reason'][0]
|
|
|
134
|
+ perform_reset(who, counter, reason)
|
|
136
|
135
|
|
|
137
|
|
- # Now we deal with the hashtags
|
|
138
|
|
- keywords = parseSeumReason(reason)
|
|
139
|
|
- Hashtag.objects.bulk_create([Hashtag(reset=reset, keyword=keyword) for keyword in keywords])
|
|
|
136
|
+ return HttpResponseRedirect(data['redirect'][0])
|
|
140
|
137
|
|
|
141
|
|
- # We send the emails only to those who want
|
|
142
|
|
- emails = [u['email'] for u in Counter.objects.filter(email_notifications=True).values('email')]
|
|
143
|
|
- # Now send emails to everyone
|
|
144
|
|
- if reset.who is None or reset.who == counter:
|
|
145
|
|
- selfSeum = True
|
|
146
|
|
- else:
|
|
147
|
|
- selfSeum = False
|
|
148
|
|
- text_of_email = render_to_string(
|
|
149
|
|
- 'seumEmail.txt', {'reason': data['reason'][0],
|
|
150
|
|
- 'name': counter.name,
|
|
151
|
|
- 'who': reset.who,
|
|
152
|
|
- 'selfSeum': selfSeum,
|
|
153
|
|
- })
|
|
154
|
|
- email_to_send = EmailMessage(
|
|
155
|
|
- '[SeumBook] ' + counter.trigramme + ' a le seum',
|
|
156
|
|
- text_of_email,
|
|
157
|
|
- 'SeumMan <seum@merigoux.ovh>', emails, [],
|
|
158
|
|
- reply_to=emails)
|
|
159
|
|
- email_to_send.send(fail_silently=True)
|
|
160
|
138
|
|
|
161
|
|
- return HttpResponseRedirect(data['redirect'][0])
|
|
|
139
|
+def perform_reset(who, counter, reason):
|
|
|
140
|
+ reset = Reset(counter=counter, who=who, reason=reason)
|
|
|
141
|
+
|
|
|
142
|
+ reset.save()
|
|
|
143
|
+
|
|
|
144
|
+ # Now we deal with the hashtags
|
|
|
145
|
+ keywords = parseSeumReason(reason)
|
|
|
146
|
+ Hashtag.objects.bulk_create([Hashtag(reset=reset, keyword=keyword) for keyword in keywords])
|
|
|
147
|
+
|
|
|
148
|
+ # We send the emails only to those who want
|
|
|
149
|
+ emails = [u['email'] for u in Counter.objects.filter(email_notifications=True).values('email')]
|
|
|
150
|
+ # Now send emails to everyone
|
|
|
151
|
+ if reset.who is None or reset.who == counter:
|
|
|
152
|
+ selfSeum = True
|
|
|
153
|
+ else:
|
|
|
154
|
+ selfSeum = False
|
|
|
155
|
+ text_of_email = render_to_string(
|
|
|
156
|
+ 'seumEmail.txt', {'reason': reason,
|
|
|
157
|
+ 'name': counter.name,
|
|
|
158
|
+ 'who': reset.who,
|
|
|
159
|
+ 'selfSeum': selfSeum,
|
|
|
160
|
+ })
|
|
|
161
|
+ email_to_send = EmailMessage(
|
|
|
162
|
+ '[SeumBook] ' + counter.trigramme + ' a le seum',
|
|
|
163
|
+ text_of_email,
|
|
|
164
|
+ 'SeumMan <seum@merigoux.ovh>', emails, [],
|
|
|
165
|
+ reply_to=emails)
|
|
|
166
|
+ email_to_send.send(fail_silently=True)
|