Browse Source

Fujky (co do Python kódu) doplnění informací k odevzdanému řešení

middleware_test
Jonas Havelka 3 years ago
parent
commit
f534291ab7
  1. 7
      seminar/views/views_all.py

7
seminar/views/views_all.py

@ -1082,15 +1082,20 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
# Pošleme mail opravovatelům a garantovi
# FIXME: Nechat spočítat databázi? Je to pár dotazů (pravděpodobně), takže to za to možná nestojí
prijemci = set()
problemy = []
for prob in form.cleaned_data['problem']:
prijemci.update(prob.opravovatele.all())
prijemci.add(prob.garant)
problemy.append(prob)
# FIXME: Možná poslat mail i relevantním orgům nadproblémů?
# FIXME: Víc informativní obsah mailů, možná vč. příloh?
prijemci = map(lambda it: it.osoba.email, prijemci)
resitel = Osoba.objects.get(user = self.request.user)
send_mail(
subject="Nové řešení k problému",
message=f"Řešitel poslal řešení...",
message=f"Řešitel{ '' if (not resitel.pohlavi_muz) else 'ka' } { resitel } poslal{ '' if (not resitel.pohlavi_muz) else 'a' } řešení k problém{ 'u' if len(problemy) == 1 else 'ům'} { ','.join(map(str, problemy)) }. Hurá do opravování: { ','.join(['https://%s%s' % (str(get_current_site(self.request)), str(reverse_lazy('odevzdavatko_detail_reseni', args=[prob.id]))) for prob in problemy]) }!",
from_email="submitovatko@mam.mff.cuni.cz", # FIXME: Chceme to mít radši tady, nebo v nastavení?
recipient_list=list(prijemci),
)

Loading…
Cancel
Save