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'))
|
||||
|
||||
else:
|
||||
submit = Submit('submit', _('Sepichern'))
|
||||
submit = Submit('submit', _('Speichern'))
|
||||
|
||||
self.helper.layout = Layout(
|
||||
Fieldset(
|
||||
|
@ -174,6 +174,7 @@ class AdoptionNotice(models.Model):
|
||||
return f"{self.name}"
|
||||
|
||||
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'))
|
||||
name = models.CharField(max_length=200)
|
||||
description = models.TextField(null=True, blank=True, verbose_name=_('Beschreibung'))
|
||||
@ -273,6 +274,14 @@ class AdoptionNotice(models.Model):
|
||||
if not hasattr(self, 'adoptionnoticestatus'):
|
||||
return False
|
||||
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):
|
||||
@ -335,6 +344,11 @@ class AdoptionNoticeStatus(models.Model):
|
||||
def get_minor_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):
|
||||
MALE_NEUTERED = "M_N"
|
||||
|
@ -34,15 +34,17 @@ urlpatterns = [
|
||||
|
||||
path("ueber-uns/", views.about, name="about"),
|
||||
|
||||
#############
|
||||
## Reports ##
|
||||
#############
|
||||
################
|
||||
## Moderation ##
|
||||
################
|
||||
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("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("modqueue/", views.modqueue, name="modqueue"),
|
||||
|
||||
path("updatequeue/", views.updatequeue, name="updatequeue"),
|
||||
|
||||
###########
|
||||
## USERS ##
|
||||
|
@ -423,6 +423,28 @@ def modqueue(request):
|
||||
context = {"reports": open_reports}
|
||||
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):
|
||||
adoption_notices = AdoptionNotice.objects.all() #TODO: Filter to active
|
||||
|
Loading…
Reference in New Issue
Block a user