1- from django .contrib .auth .mixins import LoginRequiredMixin
2- from django .views .generic import ListView , CreateView , UpdateView , DeleteView
1+ # from django.shortcuts import render
32from django .urls import reverse_lazy
4- from django .contrib import messages
5- from task_manager .statuses .models import Status
6- from task_manager .statuses .forms import StatusForm
3+ from django .views .generic import ListView , CreateView , UpdateView , DeleteView
4+ from django .contrib .messages .views import SuccessMessageMixin
5+ from django .contrib .auth .mixins import LoginRequiredMixin
6+ from .models import Status
7+ from django .utils .translation import gettext_lazy as _
78
8- class StatusListView (LoginRequiredMixin , ListView ):
9- model = Status
10- template_name = 'statuses/status_list.html'
9+ from .forms import CreateStatusForm
1110
12- class StatusCreateView (LoginRequiredMixin , CreateView ):
13- model = Status
14- form_class = StatusForm
15- template_name = 'statuses/status_form.html'
16-
17- def form_valid (self , form ):
18- messages .success (self .request , 'Статус успешно создан.' )
19- return super ().form_valid (form )
20-
21- # class StatusListView(LoginRequiredMixin, ListView):
22- # model = Status
23- # template_name = 'statuses/status_list.html'
24-
25- # class StatusCreateView(LoginRequiredMixin, CreateView):
26- # model = Status
27- # form_class = StatusForm
28- # template_name = 'statuses/status_form.html'
29-
30- # def form_valid(self, form):
31- # messages.success(self.request, 'Статус успешно создан.')
32- # return super().form_valid(form)
33- #
34- # def get_success_url(self):
35- # return reverse_lazy('status-list')
36-
37- class StatusUpdateView (LoginRequiredMixin , UpdateView ):
11+
12+ class StatusView (ListView ):
3813 model = Status
39- form_class = StatusForm
40- template_name = 'statuses/status_form.html'
41- success_url = reverse_lazy ('status-list' )
14+ context_object_name = "status_list"
15+ template_name = "statuses/statuses_list.html"
4216
43- def form_valid (self , form ):
44- messages .success (self .request , 'Статус успешно обновлен.' )
45- return super ().form_valid (form )
4617
47- class StatusDeleteView (LoginRequiredMixin , DeleteView ):
48- model = Status
49- template_name = 'statuses/status_confirm_delete.html'
18+ class CreateStatusView (SuccessMessageMixin , CreateView ):
19+ template_name = "statuses/create.html"
20+ success_url = reverse_lazy ("statuses:status_list" )
21+ form_class = CreateStatusForm
22+ success_message = _ ("Status created successfully" )
5023
51- def delete (self , request , * args , ** kwargs ):
52- messages .success (self .request , 'Статус успешно удален.' )
53- return super ().delete (request , * args , ** kwargs )
24+ # change dublication in templates and add translate in views
25+ # def get_context_data(self, **kwargs):
26+ # context = super().get_context_data(**kwargs)
27+ # context["to_do"] = "create"
28+ # context["status"] = "Status"
29+ # return context
30+
31+
32+ class UpdateStatusView (LoginRequiredMixin , SuccessMessageMixin , UpdateView ):
33+ model = Status
34+ success_url = reverse_lazy ("statuses:status_list" )
35+ template_name = "statuses/update.html"
36+ form_class = CreateStatusForm
37+ success_message = _ ("Status updated successfully" )
38+ login_url = reverse_lazy ("statuses:status_list" )
39+ redirect_field_name = None
40+
41+
42+ class DeleteStatusView (LoginRequiredMixin , SuccessMessageMixin , DeleteView ):
43+ model = Status
44+ success_url = reverse_lazy ("statuses:status_list" )
45+ template_name = "statuses/delete.html"
46+ success_message = _ ("Status deleted successfully" )
47+ login_url = reverse_lazy ("login" )
48+ redirect_field_name = None
0 commit comments