Merge branch 'korekturovatko'
This commit is contained in:
		
						commit
						42380643df
					
				
					 4 changed files with 26 additions and 7 deletions
				
			
		|  | @ -1,15 +1,14 @@ | ||||||
| from http import HTTPStatus | from http import HTTPStatus | ||||||
| 
 | 
 | ||||||
| from django.http import HttpResponseForbidden, JsonResponse, HttpResponse | from django.http import JsonResponse, HttpResponse | ||||||
| from django.shortcuts import get_object_or_404 | from django.shortcuts import get_object_or_404 | ||||||
| from django.utils.html import linebreaks | from django.utils.html import linebreaks | ||||||
| from django.views.decorators.csrf import csrf_exempt |  | ||||||
| 
 | 
 | ||||||
| from rest_framework import serializers | from rest_framework import serializers | ||||||
| 
 | 
 | ||||||
| from korektury.utils import send_email_notification_komentar | from korektury.utils import send_email_notification_komentar | ||||||
| from korektury.models import Oprava, KorekturovanePDF, Komentar, KorekturaTag | from korektury.models import Oprava, KorekturovanePDF, Komentar, KorekturaTag | ||||||
| from personalni.models import Organizator, Osoba | from personalni.models import Organizator | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def korektury_stav_view(request, pdf_id: int, **kwargs): | def korektury_stav_view(request, pdf_id: int, **kwargs): | ||||||
|  | @ -122,6 +121,7 @@ def opravy_a_komentare_view(request, pdf_id: int, **kwargs): | ||||||
| 					tagy = list(map(int, tagy_raw.split(","))) | 					tagy = list(map(int, tagy_raw.split(","))) | ||||||
| 					oprava.tagy.add(*KorekturaTag.objects.filter(id__in=tagy)) | 					oprava.tagy.add(*KorekturaTag.objects.filter(id__in=tagy)) | ||||||
| 			Komentar.objects.create(oprava=oprava, autor=autor, text=text) | 			Komentar.objects.create(oprava=oprava, autor=autor, text=text) | ||||||
|  | 			send_email_notification_komentar(oprava, autor, request) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 	opravy = Oprava.objects.filter(pdf=pdf_id).all() | 	opravy = Oprava.objects.filter(pdf=pdf_id).all() | ||||||
|  |  | ||||||
|  | @ -91,11 +91,16 @@ | ||||||
|         fetch('{% url "korektury_api_komentar_smaz" %}', {method: 'POST', body: data}) |         fetch('{% url "korektury_api_komentar_smaz" %}', {method: 'POST', body: data}) | ||||||
|           .then(response => { |           .then(response => { | ||||||
|             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} |             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} | ||||||
|             this.htmlElement.remove(); |             this.smaz_pouze_na_strance(); | ||||||
|             place_comments(); |             place_comments(); | ||||||
|           }) |           }) | ||||||
|           .catch(error => {alert('Něco se nepovedlo:' + error);}); |           .catch(error => {alert('Něco se nepovedlo:' + error);}); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     smaz_pouze_na_strance() { | ||||||
|  |       delete komentare[this.id]; | ||||||
|  |       this.htmlElement.remove(); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -163,11 +163,21 @@ | ||||||
|         fetch('{% url "korektury_api_oprava_smaz" %}', {method: 'POST', body: data}) |         fetch('{% url "korektury_api_oprava_smaz" %}', {method: 'POST', body: data}) | ||||||
|           .then(response => { |           .then(response => { | ||||||
|             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} |             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} | ||||||
|             comments[this.img_id].splice(comments[this.img_id].indexOf(this), 1); |             this.#smaz_pouze_na_strance() | ||||||
|  |             updatuj_pocty_stavu(); | ||||||
|  |             updatuj_pocty_zasluh(); | ||||||
|             place_comments(); |             place_comments(); | ||||||
|           }) |           }) | ||||||
|           .catch(error => {alert('Něco se nepovedlo:' + error);}); |           .catch(error => {alert('Něco se nepovedlo:' + error);}); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     #smaz_pouze_na_strance() { | ||||||
|  |       comments[this.img_id].splice(comments[this.img_id].indexOf(this), 1); | ||||||
|  |       delete opravy[this.id]; | ||||||
|  |       for (const komentar of Object.values(komentare)) if (komentar.oprava === this) komentar.smaz_pouze_na_strance(); | ||||||
|  |       this.htmlElement.remove(); | ||||||
|  |       this.pointer.remove(); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -22,7 +22,6 @@ | ||||||
|       .then(response => { |       .then(response => { | ||||||
|         if (!response.ok && catchError) {alert('Něco se nepovedlo:' + response.statusText);} |         if (!response.ok && catchError) {alert('Něco se nepovedlo:' + response.statusText);} | ||||||
|         else response.json().then(data => { |         else response.json().then(data => { | ||||||
|           if (pri_uspechu) pri_uspechu(); |  | ||||||
|           for (const oprava_data of data["context"]) { |           for (const oprava_data of data["context"]) { | ||||||
|             const oprava = Oprava.update_or_create(oprava_data); |             const oprava = Oprava.update_or_create(oprava_data); | ||||||
|             for (const komentar_data of oprava_data["komentare"]) { |             for (const komentar_data of oprava_data["komentare"]) { | ||||||
|  | @ -33,12 +32,17 @@ | ||||||
|           updatuj_pocty_stavu(); |           updatuj_pocty_stavu(); | ||||||
|           updatuj_pocty_zasluh(); |           updatuj_pocty_zasluh(); | ||||||
|           place_comments(); |           place_comments(); | ||||||
|  |           if (pri_uspechu) pri_uspechu(); | ||||||
|         }); |         }); | ||||||
|       }) |       }) | ||||||
|       .catch(error => {if (catchError) alert('Něco se nepovedlo:' + error);}); |       .catch(error => {if (catchError) alert('Něco se nepovedlo:' + error);}); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   update_all(); |   window.addEventListener("load", _ => { | ||||||
|  |     update_all({}, true, _ => { | ||||||
|  |       if (location.hash !== "") location.hash = location.hash; // Po rozházení korektur sescrollujeme na kotvu v URL | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
| 
 | 
 | ||||||
|   // FIXME není mi jasné, zda v {} nemá být `cache: "no-store"`, aby prohlížeč necachoval GET. |   // FIXME není mi jasné, zda v {} nemá být `cache: "no-store"`, aby prohlížeč necachoval GET. | ||||||
|   document.getElementById("korektury-aktualizace").addEventListener("click", _ => update_all({}, false)); |   document.getElementById("korektury-aktualizace").addEventListener("click", _ => update_all({}, false)); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 MaM Web user
						MaM Web user