diff --git a/korektury/models.py b/korektury/models.py index 6aa41c2c..ee873616 100644 --- a/korektury/models.py +++ b/korektury/models.py @@ -10,6 +10,7 @@ from django.utils.encoding import force_unicode from django.utils.text import slugify from django.core.urlresolvers import reverse from django.core.cache import cache +from django.core.exceptions import ObjectDoesNotExist from imagekit.models import ImageSpecField, ProcessedImageField from imagekit.processors import ResizeToFit, Transpose @@ -50,7 +51,7 @@ class KorekturovanePDF(models.Model): komentar = models.TextField(u'komentář k PDF',blank = True, help_text='Komentář ke korekturovanému PDF (např. na co se zaměřit)') - pdf = models.FileField(u'pdf', upload_to = generate_filename) + pdf = models.FileField(u'PDF', upload_to = generate_filename) stran = models.IntegerField(u'počet stran', help_text = 'Počet stran PDF', default = 0) STATUS_PRIDAVANI = 'pridavani' @@ -68,6 +69,14 @@ class KorekturovanePDF(models.Model): #TODO Nepovinný foreign key k číslu def save(self): + # Pokud se nezmenilo PDF, tak nepregenerovavej nahledy + try: + original = KorekturovanePDF.objects.get(pk=self.pk) + if original.pdf == self.pdf: + super(KorekturovanePDF, self).save() + return + except ObjectDoesNotExist: + pass super(KorekturovanePDF, self).save() print("\nSaving") print(self.pdf.path) diff --git a/korektury/static/korektury/imgs/delete-gr.png b/korektury/static/korektury/imgs/delete-gr.png index de817f32..d0ed643c 100644 Binary files a/korektury/static/korektury/imgs/delete-gr.png and b/korektury/static/korektury/imgs/delete-gr.png differ diff --git a/korektury/static/korektury/opraf.css b/korektury/static/korektury/opraf.css index e326a5e9..18da5f5a 100644 --- a/korektury/static/korektury/opraf.css +++ b/korektury/static/korektury/opraf.css @@ -1,6 +1,9 @@ body{background: #f3f3f3; color: black;} -body.locked { - background: rgb(144, 189, 255); +body.comitting { + background: yellow; +} +body.deprecated { + background: red; } img{background:white;} diff --git a/korektury/static/korektury/opraf.js b/korektury/static/korektury/opraf.js index 4916fa3c..d39c0797 100644 --- a/korektury/static/korektury/opraf.js +++ b/korektury/static/korektury/opraf.js @@ -94,6 +94,17 @@ function close_commform() { // show comment form, when clicked to image function img_click(element, ev) { + var body_class = document.body.className; + switch(body_class){ + case "comitting": + if (!confirm("Právě jsou zanášeny korektury, opravdu chcete přidat novou?")) + return; + break; + case "deprecated": + if (!confirm("Toto PDF je již zastaralé, opravdu chcete vytvořit korekturu?")) + return; + break; + } var dx, dy; var par = element.parentNode; diff --git a/korektury/templates/korektury/opraf.html b/korektury/templates/korektury/opraf.html index d6ab3d2f..79af76e9 100644 --- a/korektury/templates/korektury/opraf.html +++ b/korektury/templates/korektury/opraf.html @@ -5,8 +5,12 @@ Korektury {{pdf.nazev}} - +

Korektury {{pdf.nazev}}

+ {% if pdf.status = 'zanaseni' %}

Probíhá zanášení korektur, zvažte, zda chcete přidávat nové

{% endif %} + {% if pdf.status = 'zastarale' %}

Toto PDF je již zastaralé, nepřidávejte nové korektury

{% endif %} + {{pdf.komentar}} +
Klikni na chybu, napiš komentář | ls | help |          | @@ -54,6 +58,25 @@
+

Změnit stav PDF:

+ Aktuální: {{pdf.status}} +
+ +
+ {% csrf_token %} + + + Přidávání korektur +
+ Zanášení korektur +
+ Zastaralé, nekorigovat +
+ +
+ + +

Děkujeme opravovatelům: {% for autor,pocet in zasluhy.items %} {{autor}}({{pocet}}) {% endfor %}


diff --git a/korektury/views.py b/korektury/views.py index 668e293b..48b57820 100644 --- a/korektury/views.py +++ b/korektury/views.py @@ -105,6 +105,16 @@ class KorekturyView(generic.TemplateView): komentare = Komentar.objects.filter(oprava=opravy) opravy.delete() komentare.delete() + elif (action == u'set-state'): + pdf = KorekturovanePDF.objects.get(id=q.get('pdf')) + if (q.get('state') == u'adding'): + pdf.status = pdf.STATUS_PRIDAVANI + elif (q.get('state') == u'comitting'): + pdf.status = pdf.STATUS_ZANASENI + elif (q.get('state') == u'deprecated'): + pdf.status = pdf.STATUS_ZASTARALE + pdf.save() +