You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
836 B
Python

from django.contrib.auth.mixins import LoginRequiredMixin
from core.forms import NotificationSettingsForm
from core.models import NotificationSettings
from core.views import ObjectUpdate
# Notifications - we create a new notification settings object if there isn't one
# Hence, there is only an update view, not a create view.
class NotificationsUpdate(LoginRequiredMixin, ObjectUpdate):
model = NotificationSettings
form_class = NotificationSettingsForm
# list_url_name = "notifications"
# list_url_args = ["type"]
submit_url_name = "notifications_update"
submit_url_args = ["type"]
pk_required = False
def get_object(self, **kwargs):
notification_settings, _ = NotificationSettings.objects.get_or_create(
user=self.request.user
)
return notification_settings