Merge branch 'data_migrations' of gimli.ms.mff.cuni.cz:/akce/mam/git/mamweb into data_migrations
This commit is contained in:
commit
de0ae0a425
4 changed files with 24 additions and 6 deletions
BIN
seminar/static/seminar/cross.png
Normal file
BIN
seminar/static/seminar/cross.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 717 B |
BIN
seminar/static/seminar/plus.png
Normal file
BIN
seminar/static/seminar/plus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -1,4 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
@ -25,8 +26,9 @@ function deleteForm(prefix, btn) {
|
|||
if (total >= 1){
|
||||
btn.closest('tr').remove();
|
||||
var forms = $('.hodnoceni');
|
||||
$('#id_' + prefix + '-TOTAL_FORMS').val(forms.length);
|
||||
for (var i=0, formCount=forms.length; i<formCount; i++) {
|
||||
var formCount = forms.length - 1; // There is one extra such form hidden as template!
|
||||
$('#id_' + prefix + '-TOTAL_FORMS').val(formCount);
|
||||
for (var i=0; i<formCount; i++) {
|
||||
$(forms.get(i)).find(':input').each(function() {
|
||||
updateElementIndex(this, prefix, i);
|
||||
});
|
||||
|
@ -91,21 +93,21 @@ $(document).ready(function(){
|
|||
<td>{{ subform.problem }}</td>
|
||||
<td>{{ subform.body }}</td>
|
||||
<td>{{ subform.cislo_body }}</td>
|
||||
<td><input type=button class="smazat_hodnoceni" value="Smazat" id="id_{{subform.prefix}}-jsremove"></td>
|
||||
<td><a href="#" class="smazat_hodnoceni" id="id_{{subform.prefix}}-jsremove"><img src="{% static "seminar/cross.png" %}" alt="Smazat"></a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
|
||||
<input type=button id="pridat_hodnoceni" value="Přidat hodnocení">
|
||||
<input type=submit></form>
|
||||
<a href="#"> <img src="{% static "seminar/plus.png" %}" id="pridat_hodnoceni" alt="Přidat hodnocení"></a> </br>
|
||||
<input type=submit value="Uložit"></form>
|
||||
|
||||
<table id="empty_form" style="display: none;">
|
||||
<tr class="hodnoceni">
|
||||
<td>{{ form.empty_form.problem }}</td>
|
||||
<td>{{ form.empty_form.body }}</td>
|
||||
<td>{{ form.empty_form.cislo_body }}</td>
|
||||
<td><input type=button class="smazat_hodnoceni" value="Smazat" id="id_{{form.empty_form.prefix}}-jsremove"></td>
|
||||
<td><a href="#" class="smazat_hodnoceni" id="id_{{subform.prefix}}-jsremove"><img src="{% static "seminar/cross.png" %}" alt="Smazat"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ from django.shortcuts import get_object_or_404, render, redirect
|
|||
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, JsonResponse
|
||||
from django.urls import reverse,reverse_lazy
|
||||
from django.core.exceptions import PermissionDenied, ObjectDoesNotExist
|
||||
from django.core.mail import send_mail
|
||||
from django.views import generic
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.http import Http404,HttpResponseBadRequest,HttpResponseRedirect
|
||||
|
@ -1057,6 +1058,21 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
|
|||
|
||||
prilohy.instance = self.object
|
||||
prilohy.save()
|
||||
|
||||
# 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()
|
||||
for prob in form.cleaned_data['problem']:
|
||||
prijemci.update(prob.opravovatele.all())
|
||||
prijemci.add(prob.garant)
|
||||
# FIXME: Možná poslat mail i relevantním orgům nadproblémů?
|
||||
# FIXME: Víc informativní obsah mailů, možná vč. příloh?
|
||||
send_mail(
|
||||
subject="Nové řešení k problému",
|
||||
message=f"Řešitel poslal řešení...",
|
||||
from_email="submitovatko@mam.mff.cuni.cz", # FIXME: Chceme to mít radši tady, nebo v nastavení?
|
||||
recipient_list=list(prijemci),
|
||||
)
|
||||
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
|
||||
|
|
Loading…
Reference in a new issue