Moderní přístup k choices (umožňuje např. vytáhnout seznam všech hodnot)
This commit is contained in:
parent
d3d5484d0e
commit
9df34c22e0
3 changed files with 28 additions and 34 deletions
|
@ -52,16 +52,13 @@ class KorekturovanePDF(models.Model):
|
|||
|
||||
stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF',
|
||||
default=0)
|
||||
STATUS_PRIDAVANI = 'pridavani'
|
||||
STATUS_ZANASENI = 'zanaseni'
|
||||
STATUS_ZASTARALE = 'zastarale'
|
||||
STATUS_CHOICES = (
|
||||
(STATUS_PRIDAVANI, u'Přidávání korektur'),
|
||||
(STATUS_ZANASENI, u'Korektury jsou zanášeny'),
|
||||
(STATUS_ZASTARALE, u'Stará verze, nekorigovat'),
|
||||
)
|
||||
status = models.CharField(u'stav PDF',max_length=16, choices=STATUS_CHOICES, blank=False,
|
||||
default = STATUS_PRIDAVANI)
|
||||
|
||||
class STATUS(models.TextChoices):
|
||||
PRIDAVANI = 'pridavani', 'Přidávání korektur'
|
||||
ZANASENI = 'zanaseni', 'Korektury jsou zanášeny'
|
||||
ZASTARALE = 'zastarale', 'Stará verze, nekorigovat'
|
||||
|
||||
status = models.CharField(u'stav PDF',max_length=16, choices=STATUS.choices, blank=False, default = STATUS.PRIDAVANI)
|
||||
|
||||
poslat_mail = models.BooleanField('Poslat mail o novém PDF', default=True,
|
||||
help_text='Určuje, zda se má o nově nahraném PDF poslat e-mail do mam-org. Při upravování existujícího souboru už nemá žádný vliv.',
|
||||
|
@ -152,18 +149,13 @@ class Oprava(models.Model):
|
|||
x = models.IntegerField(u'x-ová souřadnice bugu')
|
||||
y = models.IntegerField(u'y-ová souřadnice bugu')
|
||||
|
||||
STATUS_K_OPRAVE = 'k_oprave'
|
||||
STATUS_OPRAVENO = 'opraveno'
|
||||
STATUS_NENI_CHYBA = 'neni_chyba'
|
||||
STATUS_K_ZANESENI = 'k_zaneseni'
|
||||
STATUS_CHOICES = (
|
||||
(STATUS_K_OPRAVE, u'K opravě'),
|
||||
(STATUS_OPRAVENO, u'Opraveno'),
|
||||
(STATUS_NENI_CHYBA, u'Není chyba'),
|
||||
(STATUS_K_ZANESENI, u'K zanesení do TeXu'),
|
||||
)
|
||||
status = models.CharField(u'stav opravy',max_length=16, choices=STATUS_CHOICES, blank=False,
|
||||
default = STATUS_K_OPRAVE)
|
||||
class STATUS(models.TextChoices):
|
||||
K_OPRAVE = 'k_oprave', 'K opravě'
|
||||
OPRAVENO = 'opraveno', 'Opraveno'
|
||||
NENI_CHYBA = 'neni_chyba', 'Není chyba'
|
||||
K_ZANESENI = 'k_zaneseni', 'K zanesení do TeXu'
|
||||
|
||||
status = models.CharField(u'stav opravy',max_length=16, choices=STATUS.choices, blank=False, default = STATUS.K_OPRAVE)
|
||||
|
||||
autor = models.ForeignKey(Organizator, blank = True,
|
||||
help_text='Autor opravy',
|
||||
|
|
|
@ -83,11 +83,11 @@
|
|||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<input type='hidden' name='action' value='set-state'/>
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS_PRIDAVANI }}" {% if pdf.status == pdf.STATUS_PRIDAVANI %} checked {% endif %}>Přidávání korektur
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS.PRIDAVANI }}" {% if pdf.status == pdf.STATUS.PRIDAVANI %} checked {% endif %}>Přidávání korektur
|
||||
<br>
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS_ZANASENI }}" {% if pdf.status == pdf.STATUS_ZANASENI %} checked {% endif %}>Zanášení korektur
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS.ZANASENI }}" {% if pdf.status == pdf.STATUS.ZANASENI %} checked {% endif %}>Zanášení korektur
|
||||
<br>
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS_ZASTARALE }}" {% if pdf.status == pdf.STATUS_ZASTARALE %} checked {% endif %}>Zastaralé, nekorigovat
|
||||
<input type="radio" name="state" value="{{ pdf.STATUS.ZASTARALE }}" {% if pdf.status == pdf.STATUS.ZASTARALE %} checked {% endif %}>Zastaralé, nekorigovat
|
||||
<br>
|
||||
<input type='submit' value='Změnit stav PDF'/>
|
||||
</form>
|
||||
|
|
|
@ -10,10 +10,10 @@ from .models import Oprava,Komentar,KorekturovanePDF, Organizator
|
|||
class KorekturyListView(generic.ListView):
|
||||
model = KorekturovanePDF
|
||||
queryset = KorekturovanePDF.objects.annotate(
|
||||
k_oprave_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS_K_OPRAVE)),
|
||||
opraveno_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS_OPRAVENO)),
|
||||
neni_chyba_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS_NENI_CHYBA)),
|
||||
k_zaneseni_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS_K_ZANESENI)),
|
||||
k_oprave_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS.K_OPRAVE)),
|
||||
opraveno_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS.OPRAVENO)),
|
||||
neni_chyba_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS.NENI_CHYBA)),
|
||||
k_zaneseni_cnt=Count('oprava',distinct=True,filter=Q(oprava__status=Oprava.STATUS.K_ZANESENI)),
|
||||
)
|
||||
template_name = 'korektury/seznam.html'
|
||||
|
||||
|
@ -97,22 +97,22 @@ class KorekturyView(generic.TemplateView):
|
|||
elif (action == 'undone'):
|
||||
id = int(q.get('id'))
|
||||
op = Oprava.objects.get(id=id)
|
||||
op.status = op.STATUS_K_OPRAVE
|
||||
op.status = op.STATUS.K_OPRAVE
|
||||
op.save()
|
||||
elif (action == 'done'):
|
||||
id = int(q.get('id'))
|
||||
op = Oprava.objects.get(id=id)
|
||||
op.status = op.STATUS_OPRAVENO
|
||||
op.status = op.STATUS.OPRAVENO
|
||||
op.save()
|
||||
elif (action == 'ready'):
|
||||
id = int(q.get('id'))
|
||||
op = Oprava.objects.get(id=id)
|
||||
op.status = op.STATUS_K_ZANESENI
|
||||
op.status = op.STATUS.K_ZANESENI
|
||||
op.save()
|
||||
elif (action == 'wontfix'):
|
||||
id = int(q.get('id'))
|
||||
op = Oprava.objects.get(id=id)
|
||||
op.status = op.STATUS_NENI_CHYBA
|
||||
op.status = op.STATUS.NENI_CHYBA
|
||||
op.save()
|
||||
elif (action == 'comment'):
|
||||
id = int(q.get('id'))
|
||||
|
@ -133,7 +133,9 @@ class KorekturyView(generic.TemplateView):
|
|||
kom = Komentar.objects.get(id=id)
|
||||
kom.delete()
|
||||
elif (action == 'set-state'):
|
||||
self.pdf.status = q.get('state') # FIXME odchytávat blbosti?
|
||||
status = q.get('state')
|
||||
assert status in KorekturovanePDF.STATUS.values
|
||||
self.pdf.status = status
|
||||
self.pdf.save()
|
||||
context = self.get_context_data()
|
||||
context['scroll'] = scroll
|
||||
|
|
Loading…
Reference in a new issue