feat: Add last checked to ANs and add updatequeue
This commit is contained in:
parent
022bf577d4
commit
d9232a1095
@ -32,7 +32,7 @@ class AdoptionNoticeForm(forms.ModelForm):
|
|||||||
submit = Submit('save-and-add-another-animal', _('Speichern'))
|
submit = Submit('save-and-add-another-animal', _('Speichern'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
submit = Submit('submit', _('Sepichern'))
|
submit = Submit('submit', _('Speichern'))
|
||||||
|
|
||||||
self.helper.layout = Layout(
|
self.helper.layout = Layout(
|
||||||
Fieldset(
|
Fieldset(
|
||||||
|
@ -174,6 +174,7 @@ class AdoptionNotice(models.Model):
|
|||||||
return f"{self.name}"
|
return f"{self.name}"
|
||||||
|
|
||||||
created_at = models.DateField(verbose_name=_('Erstellt am'), default=datetime.now)
|
created_at = models.DateField(verbose_name=_('Erstellt am'), default=datetime.now)
|
||||||
|
last_checked = models.DateTimeField(verbose_name=_('Zuletzt überprüft am'), default=datetime.now)
|
||||||
searching_since = models.DateField(verbose_name=_('Sucht nach einem Zuhause seit'))
|
searching_since = models.DateField(verbose_name=_('Sucht nach einem Zuhause seit'))
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
description = models.TextField(null=True, blank=True, verbose_name=_('Beschreibung'))
|
description = models.TextField(null=True, blank=True, verbose_name=_('Beschreibung'))
|
||||||
@ -273,6 +274,14 @@ class AdoptionNotice(models.Model):
|
|||||||
if not hasattr(self, 'adoptionnoticestatus'):
|
if not hasattr(self, 'adoptionnoticestatus'):
|
||||||
return False
|
return False
|
||||||
return self.adoptionnoticestatus.is_active
|
return self.adoptionnoticestatus.is_active
|
||||||
|
|
||||||
|
def set_checked(self):
|
||||||
|
self.last_checked = datetime.now()
|
||||||
|
self.save()
|
||||||
|
|
||||||
|
def set_closed(self):
|
||||||
|
self.last_checked = datetime.now()
|
||||||
|
self.adoptionnoticestatus.set_closed()
|
||||||
|
|
||||||
|
|
||||||
class AdoptionNoticeStatus(models.Model):
|
class AdoptionNoticeStatus(models.Model):
|
||||||
@ -335,6 +344,11 @@ class AdoptionNoticeStatus(models.Model):
|
|||||||
def get_minor_choices(major_status):
|
def get_minor_choices(major_status):
|
||||||
return AdoptionNoticeStatus.MINOR_STATUS_CHOICES[major_status]
|
return AdoptionNoticeStatus.MINOR_STATUS_CHOICES[major_status]
|
||||||
|
|
||||||
|
def set_closed(self):
|
||||||
|
self.major_status = self.MAJOR_STATUS_CHOICES[self.CLOSED]
|
||||||
|
self.minor_status = self.MINOR_STATUS_CHOICES[self.CLOSED]["other"]
|
||||||
|
self.save()
|
||||||
|
|
||||||
|
|
||||||
class Animal(models.Model):
|
class Animal(models.Model):
|
||||||
MALE_NEUTERED = "M_N"
|
MALE_NEUTERED = "M_N"
|
||||||
|
@ -34,15 +34,17 @@ urlpatterns = [
|
|||||||
|
|
||||||
path("ueber-uns/", views.about, name="about"),
|
path("ueber-uns/", views.about, name="about"),
|
||||||
|
|
||||||
#############
|
################
|
||||||
## Reports ##
|
## Moderation ##
|
||||||
#############
|
################
|
||||||
path("vermittlung/<int:adoption_notice_id>/report", views.report_adoption, name="report-adoption-notice"),
|
path("vermittlung/<int:adoption_notice_id>/report", views.report_adoption, name="report-adoption-notice"),
|
||||||
|
|
||||||
path("kommentar/<int:comment_id>/report", views.report_comment, name="report-comment"),
|
path("kommentar/<int:comment_id>/report", views.report_comment, name="report-comment"),
|
||||||
path("meldung/<uuid:report_id>/", views.report_detail, name="report-detail"),
|
path("meldung/<uuid:report_id>/", views.report_detail, name="report-detail"),
|
||||||
path("meldung/<uuid:report_id>/sucess", views.report_detail_success, name="report-detail-success"),
|
path("meldung/<uuid:report_id>/sucess", views.report_detail_success, name="report-detail-success"),
|
||||||
path("modqueue/", views.modqueue, name="modqueue"),
|
path("modqueue/", views.modqueue, name="modqueue"),
|
||||||
|
|
||||||
|
path("updatequeue/", views.updatequeue, name="updatequeue"),
|
||||||
|
|
||||||
###########
|
###########
|
||||||
## USERS ##
|
## USERS ##
|
||||||
|
@ -423,6 +423,28 @@ def modqueue(request):
|
|||||||
context = {"reports": open_reports}
|
context = {"reports": open_reports}
|
||||||
return render(request, 'fellchensammlung/modqueue.html', context=context)
|
return render(request, 'fellchensammlung/modqueue.html', context=context)
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def updatequeue(request):
|
||||||
|
if request.method == "POST":
|
||||||
|
print(request.POST.get("adoption_notice_id"))
|
||||||
|
adoption_notice = AdoptionNotice.objects.get(id=request.POST.get("adoption_notice_id"))
|
||||||
|
action = request.POST.get("action")
|
||||||
|
print(f"Action: {action}")
|
||||||
|
if action == "checked_inactive":
|
||||||
|
adoption_notice.set_closed()
|
||||||
|
elif action == "checked_active":
|
||||||
|
print("set checked")
|
||||||
|
adoption_notice.set_checked()
|
||||||
|
|
||||||
|
if user_is_trust_level_or_above(request.user, User.MODERATOR):
|
||||||
|
last_checked_adoption_list = AdoptionNotice.objects.order_by("last_checked")
|
||||||
|
else:
|
||||||
|
last_checked_adoption_list = AdoptionNotice.objects.filter(owner=request.user).order_by("last_checked")
|
||||||
|
adoption_notices = [adoption for adoption in last_checked_adoption_list if adoption.is_active]
|
||||||
|
|
||||||
|
context = {"adoption_notices": adoption_notices}
|
||||||
|
return render(request, 'fellchensammlung/updatequeue.html', context=context)
|
||||||
|
|
||||||
|
|
||||||
def map(request):
|
def map(request):
|
||||||
adoption_notices = AdoptionNotice.objects.all() #TODO: Filter to active
|
adoption_notices = AdoptionNotice.objects.all() #TODO: Filter to active
|
||||||
|
Loading…
Reference in New Issue
Block a user