Skip to content

Commit

Permalink
Merge pull request #17 from Django-Projects-Ls/feature/better-auth
Browse files Browse the repository at this point in the history
Feature/better auth
  • Loading branch information
LopesLs committed Jan 14, 2024
2 parents 1bd9bb7 + a6d9a7e commit 15fefb9
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 10 deletions.
5 changes: 5 additions & 0 deletions scheduleManagement/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
views.UserUpdateRequestHandler.as_view(),
name="edit_profile",
),
path(
"accounts/profile/delete/<int:pk>",
views.UserDeleteRequestHandler.as_view(),
name="delete_profile",
),
path(
"list-courses/", views.CourseListRequestHandler.as_view(), name="list_courses"
),
Expand Down
1 change: 1 addition & 0 deletions scheduleManagement/views/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
)

from .delete import (
UserDeleteRequestHandler, # noqa: F401
CourseDeleteRequestHandler, # noqa: F401
DisciplineDeleteRequestHandler, # noqa: F401
ScheduleDeleteRequestHandler, # noqa: F401
Expand Down
34 changes: 30 additions & 4 deletions scheduleManagement/views/delete.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,36 @@
from django.urls import reverse_lazy
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import PermissionDenied
from django.views.generic.edit import DeleteView
from django.contrib.auth.models import User
from django.urls import reverse_lazy

from ..models import Curso, Disciplina, Horario


class CourseDeleteRequestHandler(DeleteView):
class UserDeleteRequestHandler(LoginRequiredMixin, DeleteView):
model = User
template_name = "confirm-delete.html"
success_url = reverse_lazy("home")

def get_object(self, queryset=None): # noqa: F821
""" Only let the user delete their own account """

object_instance = super().get_object()

if object_instance != self.request.user:
print(object_instance, self.request.user)
raise PermissionDenied()

print(object_instance, self.request.user)
return object_instance

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["object_type"] = "user"
return context


class CourseDeleteRequestHandler(LoginRequiredMixin, DeleteView):
model = Curso
template_name = "confirm-delete.html"
success_url = reverse_lazy("list_courses")
Expand All @@ -15,7 +41,7 @@ def get_context_data(self, **kwargs):
return context


class DisciplineDeleteRequestHandler(DeleteView):
class DisciplineDeleteRequestHandler(LoginRequiredMixin, DeleteView):
model = Disciplina
template_name = "confirm-delete.html"
success_url = reverse_lazy("list_disciplines")
Expand All @@ -26,7 +52,7 @@ def get_context_data(self, **kwargs):
return context


class ScheduleDeleteRequestHandler(DeleteView):
class ScheduleDeleteRequestHandler(LoginRequiredMixin, DeleteView):
model = Horario
template_name = "confirm-delete.html"
success_url = reverse_lazy("list_schedules")
Expand Down
12 changes: 6 additions & 6 deletions scheduleManagement/views/update.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
from typing import Any
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic.edit import UpdateView
from django.contrib.auth.models import User
from django.urls import reverse_lazy

from ..models import Curso, Disciplina, Horario


class UserUpdateRequestHandler(UpdateView):
class UserUpdateRequestHandler(LoginRequiredMixin, UpdateView):
model = User
fields = ['username', 'email']
template_name = 'form.html'

def get_success_url(self) -> str:
return reverse_lazy('profile')

def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['object_type'] = 'user'
return context


class CourseUpdateRequestHandler(UpdateView):
class CourseUpdateRequestHandler(LoginRequiredMixin, UpdateView):
model = Curso
fields = ["nome", "codigo", "disciplinas", "horario"]
template_name = "form.html"
Expand All @@ -34,7 +34,7 @@ def get_context_data(self, **kwargs):
return context


class DisciplineUpdateRequestHandler(UpdateView):
class DisciplineUpdateRequestHandler(LoginRequiredMixin, UpdateView):
model = Disciplina
fields = ["nome", "codigo"]
template_name = "form.html"
Expand All @@ -48,7 +48,7 @@ def get_context_data(self, **kwargs):
return context


class ScheduleUpdateRequestHandler(UpdateView):
class ScheduleUpdateRequestHandler(LoginRequiredMixin, UpdateView):
model = Horario
fields = ["dia", "hora_inicio", "hora_fim"]
template_name = "form.html"
Expand Down

0 comments on commit 15fefb9

Please sign in to comment.