improve device states
This commit is contained in:
parent
ad52056977
commit
f91ae88592
2 changed files with 19 additions and 5 deletions
|
|
@ -54,6 +54,7 @@ class Reparateur(models.Model):
|
||||||
"""
|
"""
|
||||||
name = models.CharField(max_length=200, verbose_name=_("Name"))
|
name = models.CharField(max_length=200, verbose_name=_("Name"))
|
||||||
mail = models.CharField(max_length=200, verbose_name=_("eMail"))
|
mail = models.CharField(max_length=200, verbose_name=_("eMail"))
|
||||||
|
cafe = models.ManyToManyField(Cafe)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Reparateur')
|
verbose_name = _('Reparateur')
|
||||||
|
|
@ -102,6 +103,19 @@ class Device(models.Model):
|
||||||
"""
|
"""
|
||||||
A Device is a broken device owned by a guest which shall be repaired during a Repair-Café.
|
A Device is a broken device owned by a guest which shall be repaired during a Repair-Café.
|
||||||
"""
|
"""
|
||||||
|
STATUS_REJECTED = -1
|
||||||
|
STATUS_NEW = 0
|
||||||
|
STATUS_ORGA_QUESTION = 1
|
||||||
|
STATUS_ORGA_QUESTION_ANSWERED = 2
|
||||||
|
STATUS_WAITING_LIST = 3
|
||||||
|
STATUS = (
|
||||||
|
(STATUS_REJECTED, 'abgelehnt'),
|
||||||
|
(STATUS_NEW, 'neu'),
|
||||||
|
(STATUS_ORGA_QUESTION, 'in Orga Rückfrage'),
|
||||||
|
(STATUS_ORGA_QUESTION_ANSWERED, 'in Orga Rückfrage beantwortet'),
|
||||||
|
(STATUS_WAITING_LIST, 'in der Warteliste'),
|
||||||
|
)
|
||||||
|
|
||||||
identifier = models.CharField(max_length=200, verbose_name=_("ID"))
|
identifier = models.CharField(max_length=200, verbose_name=_("ID"))
|
||||||
date = models.DateField(verbose_name=_(
|
date = models.DateField(verbose_name=_(
|
||||||
"Erstellungsdatum"), default=django.utils.timezone.now)
|
"Erstellungsdatum"), default=django.utils.timezone.now)
|
||||||
|
|
@ -117,7 +131,7 @@ class Device(models.Model):
|
||||||
confirmed = models.BooleanField(verbose_name=_("Bestätigung gesendet?"))
|
confirmed = models.BooleanField(verbose_name=_("Bestätigung gesendet?"))
|
||||||
status = models.IntegerField(verbose_name=_("Status"), default=0)
|
status = models.IntegerField(verbose_name=_("Status"), default=0)
|
||||||
guest = models.ForeignKey(
|
guest = models.ForeignKey(
|
||||||
Guest, on_delete=models.CASCADE, null=True, verbose_name=_("Gast"))
|
Guest, on_delete=models.CASCADE, null=True, verbose_name=_("Gast"), choices=STATUS)
|
||||||
cafe = models.ForeignKey(
|
cafe = models.ForeignKey(
|
||||||
Cafe, on_delete=models.CASCADE, null=False, verbose_name=_("Repair-Café"))
|
Cafe, on_delete=models.CASCADE, null=False, verbose_name=_("Repair-Café"))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -552,7 +552,7 @@ def review_device_accept(request, device):
|
||||||
raise PermissionDenied('Not organisator!')
|
raise PermissionDenied('Not organisator!')
|
||||||
|
|
||||||
device = get_object_or_404(Device, pk=device)
|
device = get_object_or_404(Device, pk=device)
|
||||||
device.status = 3
|
device.status = Device.STATUS_WAITING_LIST
|
||||||
device.save()
|
device.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(reverse_lazy('orga'))
|
return HttpResponseRedirect(reverse_lazy('orga'))
|
||||||
|
|
@ -577,7 +577,7 @@ class RejectDeviceFormView(LoginRequiredMixin, UserPassesTestMixin, generic.edit
|
||||||
|
|
||||||
send_device_reject_mail(device, message, self.request)
|
send_device_reject_mail(device, message, self.request)
|
||||||
|
|
||||||
device.status = -1
|
device.status = Device.STATUS_REJECTED
|
||||||
device.save()
|
device.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
|
@ -640,7 +640,7 @@ class QuestionDeviceFormView(LoginRequiredMixin, UserPassesTestMixin, generic.ed
|
||||||
|
|
||||||
send_device_question_mail(question, self.request)
|
send_device_question_mail(question, self.request)
|
||||||
|
|
||||||
device.status = 1
|
device.status = Device.STATUS_ORGA_QUESTION
|
||||||
device.save()
|
device.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
|
@ -783,7 +783,7 @@ def repa(request):
|
||||||
raise PermissionDenied('Not reparateur!')
|
raise PermissionDenied('Not reparateur!')
|
||||||
|
|
||||||
cafes = Cafe.objects.filter(event_date__gte=datetime.date.today())
|
cafes = Cafe.objects.filter(event_date__gte=datetime.date.today())
|
||||||
devices = Device.objects.filter(status=3)
|
devices = Device.objects.filter(status=Device.STATUS_WAITING_LIST)
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
|
|
||||||
Reference in a new issue