Tengo un proyecto en el cual estoy en el proceso de implemetar los permisos que tiene cada usuario para que pueda ter el crud. Pero hasta el momento no me funciona nada y soy nuevo en esto.
from django.contrib.auth.mixins import (LoginRequiredMixin, PermissionRequiredMixin)
class ListDataPlanTemplate(LoginRequiredMixin, generic.TemplateView,PermissionRequiredMixin):
“”"
Vista como clase que renderiza el template HTML que contiene la lista de planes de datos.
“”"
template_name = "realtime/dataplan/list_dataplan.html"
permission_required = 'realtime.view_dataplan'
permission_denied_message = 'no estas autorizado'
class ListDataPlanView(LoginRequiredMixin, generic.ListView,PermissionRequiredMixin):
“”"
Vista como clase que permite al usuario visualizar los planes de datos
creados y acceder a la opción para editar y añadir.
“”"
template_name = "realtime/dataplan/list_dataplan_created.html"
context_object_name = "list_data_plans"
permission_required = 'realtime.view_dataplan'
permission_denied_message = 'no estas autorizado'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
list_data_plans = DataPlan.objects.filter(visible=True)
context.update({"list_data_plans": list_data_plans})
return context
def get_queryset(self):
return DataPlan.objects.filter(company=self.request.user.company_id)
class AddDataPlanView(LoginRequiredMixin, generic.CreateView,PermissionRequiredMixin):
“”"
Vista como clase que implementa la opción de crear planes de datos.
Permite añadir una configuración personalizada para los campos ‘name’ y ‘price’.
“”"
template_name = "realtime/dataplan/add_dataplan.html"
form_class = DataPlanForm
permission_required = 'realtime.add_dataplan'
permission_denied_message = 'no estas autorizado'
def get_context_data(self, **kwargs):
operator = MobileOperator.objects.all()
company = Company.objects.all()
context = super().get_context_data(**kwargs)
context.update({"operator": operator, "company":company})
return context
def form_valid(self, form):
form.instance.modified_by = self.request.user
dataplan = form.save(commit=False)
dataplan.save()
return HttpResponse(status=204, headers={"HX-Trigger": "ListDataplanChanged"})
Este es el codigo que tengo pero hasta el momento no me funciona. Por lo anterior no se si alguien tiene algún consejo o me pueda guiar como django maneja los permisos