from django.contrib.auth.decorators import permission_required from rest_framework import routers, viewsets from django.urls import re_path from rest_framework.decorators import api_view, permission_classes from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from notifications.models import MessageTemplate from rest_framework import serializers from notifications.templates import TEMPLATE_VARS class MessageTemplateSerializer(serializers.ModelSerializer): class Meta: model = MessageTemplate fields = '__all__' class MessageTemplateViewSet(viewsets.ModelViewSet): serializer_class = MessageTemplateSerializer queryset = MessageTemplate.objects.all() @api_view(['GET']) @permission_classes([IsAuthenticated]) @permission_required('tickets.add_issuethread_manual', raise_exception=True) # TDOO: change this permission def get_template_vars(self): return Response(TEMPLATE_VARS, status=200) router = routers.SimpleRouter() router.register(r'message_templates', MessageTemplateViewSet) urlpatterns = ([ re_path('message_template_variables', get_template_vars), ] + router.urls)