mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-05-31 22:58:18 +00:00
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
""" Scheduled celery tasks """
|
|
from django.contrib.auth.decorators import login_required, permission_required
|
|
from django.shortcuts import redirect
|
|
from django.template.response import TemplateResponse
|
|
from django.utils.decorators import method_decorator
|
|
from django.views import View
|
|
from django_celery_beat.models import PeriodicTask, IntervalSchedule
|
|
|
|
|
|
@method_decorator(login_required, name="dispatch")
|
|
@method_decorator(
|
|
permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
|
|
name="dispatch",
|
|
)
|
|
# pylint: disable=no-self-use
|
|
class ScheduledTasks(View):
|
|
"""Manage automated flagging"""
|
|
|
|
def get(self, request):
|
|
"""view schedules"""
|
|
data = {}
|
|
data["tasks"] = PeriodicTask.objects.all()
|
|
data["schedules"] = IntervalSchedule.objects.all()
|
|
return TemplateResponse(request, "settings/schedules.html", data)
|
|
|
|
# pylint: disable=unused-argument
|
|
def post(self, request, task_id):
|
|
"""un-schedule a task"""
|
|
task = PeriodicTask.objects.get(id=task_id)
|
|
task.delete()
|
|
return redirect("settings-schedules")
|