Mazání korektur a komentářů
This commit is contained in:
		
							parent
							
								
									136aca5b83
								
							
						
					
					
						commit
						0d653acd2e
					
				
					 4 changed files with 41 additions and 3 deletions
				
			
		|  | @ -6,4 +6,6 @@ urlpatterns = [ | ||||||
| 	path('<int:pdf_id>/stav', org_required(views.korektury_stav_view), name='korektury_api_pdf_stav'), | 	path('<int:pdf_id>/stav', org_required(views.korektury_stav_view), name='korektury_api_pdf_stav'), | ||||||
| 	path('oprava/stav', org_required(views.oprava_stav_view), name='korektury_api_oprava_stav'), | 	path('oprava/stav', org_required(views.oprava_stav_view), name='korektury_api_oprava_stav'), | ||||||
| 	path('<int:pdf_id>/opravy_a_komentare', org_required(views.opravy_a_komentare_view), name='korektury_api_opravy_a_komentare'), | 	path('<int:pdf_id>/opravy_a_komentare', org_required(views.opravy_a_komentare_view), name='korektury_api_opravy_a_komentare'), | ||||||
|  | 	path('oprava/smaz', org_required(views.oprava_smaz_view), name='korektury_api_oprava_smaz'), | ||||||
|  | 	path('komentar/smaz', org_required(views.komentar_smaz_view), name='korektury_api_komentar_smaz'), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -1,4 +1,6 @@ | ||||||
| from django.http import HttpResponseForbidden, JsonResponse | from http import HTTPStatus | ||||||
|  | 
 | ||||||
|  | from django.http import HttpResponseForbidden, 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 django.views.decorators.csrf import csrf_exempt | ||||||
|  | @ -34,6 +36,24 @@ def oprava_stav_view(request, **kwargs): | ||||||
| 		op.save() | 		op.save() | ||||||
| 	return JsonResponse({'status': op.status}) | 	return JsonResponse({'status': op.status}) | ||||||
| 
 | 
 | ||||||
|  | def oprava_smaz_view(request, **kwargs): | ||||||
|  | 	q = request.POST | ||||||
|  | 	op_id_str = q.get('oprava_id') | ||||||
|  | 	assert op_id_str is not None | ||||||
|  | 	op_id = int(op_id_str) | ||||||
|  | 	oprava = get_object_or_404(Oprava, id=op_id) | ||||||
|  | 	oprava.delete() | ||||||
|  | 	return HttpResponse(status=HTTPStatus.NO_CONTENT) | ||||||
|  | 
 | ||||||
|  | def komentar_smaz_view(request, **kwargs): | ||||||
|  | 	q = request.POST | ||||||
|  | 	kom_id_str = q.get('komentar_id') | ||||||
|  | 	assert kom_id_str is not None | ||||||
|  | 	kom_id = int(kom_id_str) | ||||||
|  | 	komentar = get_object_or_404(Komentar, id=kom_id) | ||||||
|  | 	komentar.delete() | ||||||
|  | 	return HttpResponse(status=HTTPStatus.NO_CONTENT) | ||||||
|  | 
 | ||||||
| class KomentarSerializer(serializers.ModelSerializer): | class KomentarSerializer(serializers.ModelSerializer): | ||||||
| 	class Meta: | 	class Meta: | ||||||
| 		model = Komentar | 		model = Komentar | ||||||
|  |  | ||||||
|  | @ -84,7 +84,15 @@ | ||||||
| 
 | 
 | ||||||
|     #delete_comment() { |     #delete_comment() { | ||||||
|       if (confirm('Opravdu smazat komentář?')) { |       if (confirm('Opravdu smazat komentář?')) { | ||||||
|         throw {name : 'NotImplementedError', message: '(Webaři jsou) too lazy to implement'}; |         const data = new FormData(CSRF_FORM); | ||||||
|  |         data.append('komentar_id', this.id); | ||||||
|  |         fetch('{% url "korektury_api_komentar_smaz" %}', {method: 'POST', body: data}) | ||||||
|  |           .then(response => { | ||||||
|  |             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} | ||||||
|  |             this.htmlElement.remove(); | ||||||
|  |             place_comments(); | ||||||
|  |           }) | ||||||
|  |           .catch(error => {alert('Něco se nepovedlo:' + error);}); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -161,7 +161,15 @@ | ||||||
| 
 | 
 | ||||||
|     #delete() { |     #delete() { | ||||||
|       if (confirm('Opravdu smazat korekturu?')) { |       if (confirm('Opravdu smazat korekturu?')) { | ||||||
|         throw {name : 'NotImplementedError', message: '(Webaři jsou) too lazy to implement'}; |         const data = new FormData(CSRF_FORM); | ||||||
|  |         data.append('oprava_id', this.id); | ||||||
|  |         fetch('{% url "korektury_api_oprava_smaz" %}', {method: 'POST', body: data}) | ||||||
|  |           .then(response => { | ||||||
|  |             if (!response.ok) {alert('Něco se nepovedlo:' + response.statusText);} | ||||||
|  |             comments[this.img_id].splice(comments[this.img_id].indexOf(this), 1); | ||||||
|  |             place_comments(); | ||||||
|  |           }) | ||||||
|  |           .catch(error => {alert('Něco se nepovedlo:' + error);}); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue