Skip to content

Commit

Permalink
fix: delete extra_context
Browse files Browse the repository at this point in the history
  • Loading branch information
zluuba committed May 17, 2023
1 parent 0f8d71f commit 8d9d09f
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 150 deletions.
48 changes: 11 additions & 37 deletions task_manager/labels/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,64 +16,38 @@ class LabelsView(AuthorizationCheck, ListView):
model = Label
context_object_name = 'labels'
template_name = 'labels/labels.html'
extra_context = {
'title': _('Labels'),
'fields': ['ID', _('Name'), _('Created at'), ''],
'create_btn': _('Create label'),
'edit_btn': _('Edit'),
'delete_btn': _('Delete'),
}


class LabelCreateView(AuthorizationCheck, SuccessMessageMixin, CreateView):
form_class = LabelForm
template_name = 'form.html'
template_name = 'labels/create.html'
success_url = reverse_lazy('labels')
success_message = _('Label successfully created')
extra_context = {
'title': _('Create label'),
'button': _('Create'),
}


class LabelUpdateView(AuthorizationCheck, SuccessMessageMixin, UpdateView):
model = Label
form_class = LabelForm
template_name = 'form.html'
template_name = 'labels/update.html'
success_url = reverse_lazy('labels')
success_message = _('Label is successfully updated')
extra_context = {
'title': _('Update label'),
'button': _('Update'),
}
success_message = _('Label successfully updated')


class LabelDeleteView(AuthorizationCheck, SuccessMessageMixin, DeleteView):
model = Label
template_name = 'labels/delete.html'
success_url = reverse_lazy('labels')
success_message = _('Label successfully deleted')
extra_context = {
'title': _('Delete label'),
'text': _('Are you sure you want to delete '),
'button': _('Yes, delete'),
}

def post(self, request, *args, **kwargs):
label_id = kwargs['pk']
tasks_with_label = Task.objects.filter(labels=label_id)

self.object = self.get_object()
form = self.get_form()

if form.is_valid():
if tasks_with_label:
messages.error(
self.request,
_('It is not possible to delete a label '
'because it is in use')
)
return redirect('labels')
return self.form_valid(form)

return self.form_invalid(form)
if tasks_with_label:
messages.error(
self.request,
_('It is not possible to delete a label '
'because it is in use')
)
return redirect('labels')
return super().post(request, *args, **kwargs)
48 changes: 11 additions & 37 deletions task_manager/statuses/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,64 +16,38 @@ class StatusesView(AuthorizationCheck, ListView):
model = Status
context_object_name = 'statuses'
template_name = 'statuses/statuses.html'
extra_context = {
'title': _('Statuses'),
'fields': ['ID', _('Name'), _('Created at'), ''],
'create_btn': _('Create status'),
'edit_btn': _('Edit'),
'delete_btn': _('Delete'),
}


class StatusCreateView(AuthorizationCheck, SuccessMessageMixin, CreateView):
form_class = StatusForm
template_name = 'form.html'
template_name = 'statuses/create.html'
success_url = reverse_lazy('statuses')
success_message = _('Status successfully created')
extra_context = {
'title': _('Create status'),
'button': _('Create'),
}


class StatusUpdateView(AuthorizationCheck, SuccessMessageMixin, UpdateView):
model = Status
form_class = StatusForm
template_name = 'form.html'
template_name = 'statuses/update.html'
success_url = reverse_lazy('statuses')
success_message = _('Status is successfully updated')
extra_context = {
'title': _('Update status'),
'button': _('Update'),
}
success_message = _('Status successfully updated')


class StatusDeleteView(AuthorizationCheck, SuccessMessageMixin, DeleteView):
model = Status
template_name = 'statuses/delete.html'
success_url = reverse_lazy('statuses')
success_message = _('Status successfully deleted')
extra_context = {
'title': _('Delete status'),
'text': _('Are you sure you want to delete '),
'button': _('Yes, delete'),
}

def post(self, request, *args, **kwargs):
status_id = kwargs['pk']
tasks_with_status = Task.objects.filter(status=status_id)

self.object = self.get_object()
form = self.get_form()

if form.is_valid():
if tasks_with_status:
messages.error(
self.request,
_('It is not possible to delete a status '
'because it is in use')
)
return redirect('statuses')
return self.form_valid(form)

return self.form_invalid(form)
if tasks_with_status:
messages.error(
self.request,
_('It is not possible to delete a status '
'because it is in use')
)
return redirect('statuses')
return super().post(request, *args, **kwargs)
56 changes: 12 additions & 44 deletions task_manager/tasks/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,78 +7,46 @@

from task_manager.utils import AuthorizationCheck, TaskPermissions
from task_manager.tasks.filters import TaskFilter
from task_manager.users.models import User

from .forms import TaskForm
from .models import Task


class TaskView(AuthorizationCheck, DetailView):
model = Task
template_name = 'tasks/task.html'


class TasksView(AuthorizationCheck, FilterView):
model = Task
filterset_class = TaskFilter
context_object_name = 'tasks'
template_name = 'tasks/tasks.html'
extra_context = {
'title': _('Tasks'),
'fields': ['ID', _('Name'), _('Status'), _('Author'),
_('Executor'), _('Created at'), ''],
'create_btn': _('Create task'),
'edit_btn': _('Edit'),
'delete_btn': _('Delete'),
'filter_btn': _('Show'),
}


class TaskView(AuthorizationCheck, DetailView):
model = Task
template_name = 'tasks/task.html'
extra_context = {
'title': _('Task preview'),
'fields': ['ID', _('Name'), _('Status'), _('Author'),
_('Executor'), _('Created at'), ''],
'edit_btn': _('Edit'),
'delete_btn': _('Delete'),
}


class TaskCreateView(AuthorizationCheck, SuccessMessageMixin, CreateView):
form_class = TaskForm
template_name = 'form.html'
template_name = 'tasks/create.html'
success_url = reverse_lazy('tasks')
success_message = _('Task successfully created')
extra_context = {
'title': _('Create task'),
'button': _('Create'),
}

def form_valid(self, form):
user = self.request.user
form.instance.author = User.objects.get(pk=user.pk)
current_user = self.request.user.user
form.instance.author = current_user
return super().form_valid(form)


class TaskUpdateView(AuthorizationCheck, SuccessMessageMixin, UpdateView):
model = Task
form_class = TaskForm
template_name = 'form.html'
template_name = 'tasks/update.html'
success_url = reverse_lazy('tasks')
success_message = _('Task is successfully updated')
extra_context = {
'title': _('Update task'),
'button': _('Update'),
}
success_message = _('Task successfully updated')


class TaskDeleteView(
AuthorizationCheck, TaskPermissions,
SuccessMessageMixin, DeleteView
):
class TaskDeleteView(AuthorizationCheck, TaskPermissions,
SuccessMessageMixin, DeleteView):
model = Task
template_name = 'tasks/delete.html'
success_url = reverse_lazy('tasks')
success_message = _('Task successfully deleted')
extra_context = {
'title': _('Delete task'),
'text': _('Are you sure you want to delete '),
'button': _('Yes, delete'),
}
30 changes: 3 additions & 27 deletions task_manager/users/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,12 @@ class UsersView(ListView):
model = User
context_object_name = 'users'
template_name = 'users/users.html'
extra_context = {
'title': _('Users'),
'fields': ['ID', _('Username'), _('Full name'),
_('Created at'), ''],
'edit_btn': _('Edit'),
'delete_btn': _('Delete'),
}


class UserLoginView(SuccessMessageMixin, LoginView):
form_class = LoginForm
template_name = 'form.html'
template_name = 'users/login.html'
success_message = _('You are logged in')
extra_context = {
'title': _('Sign in'),
'button': _('Enter'),
}

def get_success_url(self):
return reverse_lazy('home')
Expand All @@ -52,27 +41,19 @@ def get_success_url(self):

class UserCreateView(SuccessMessageMixin, CreateView):
form_class = UserCreateForm
template_name = 'form.html'
template_name = 'users/create.html'
success_url = reverse_lazy('login')
success_message = _('User is successfully registered')
extra_context = {
'title': _('Sign up'),
'button': _('Register'),
}


class UserUpdateView(
AuthorizationCheck, UserPermissions, SuccessMessageMixin, UpdateView
):
model = User
form_class = UserUpdateForm
template_name = 'form.html'
template_name = 'users/update.html'
success_url = reverse_lazy('users')
success_message = _('User is successfully updated')
extra_context = {
'title': _('Update user'),
'button': _('Update'),
}


class UserDeleteView(
Expand All @@ -82,11 +63,6 @@ class UserDeleteView(
template_name = 'users/delete.html'
success_url = reverse_lazy('users')
success_message = _('User successfully deleted')
extra_context = {
'title': _('Delete user'),
'text': _('Are you sure you want to delete '),
'button': _('Yes, delete'),
}

def form_valid(self, form):
user_id = self.request.user.pk
Expand Down
6 changes: 1 addition & 5 deletions task_manager/views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
from django.views.generic.base import TemplateView
from django.utils.translation import gettext as _


class HomeView(TemplateView):
template_name = 'index.html'
extra_context = {
'title': _('Task manager'),
}
template_name = 'home.html'

0 comments on commit 8d9d09f

Please sign in to comment.