22 lines
698 B
Python
22 lines
698 B
Python
# Copyright (C) 2024 by Animath
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.views.generic import TemplateView
|
|
|
|
from chat.models import Channel
|
|
|
|
|
|
class ChatView(LoginRequiredMixin, TemplateView):
|
|
"""
|
|
This view is the main interface of the chat system, which is working
|
|
with Javascript and websockets.
|
|
"""
|
|
template_name = "chat/chat.html"
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
from asgiref.sync import async_to_sync
|
|
context['channels'] = async_to_sync(Channel.get_accessible_channels)(self.request.user, 'read')
|
|
return context
|