1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- from django.contrib.auth.mixins import LoginRequiredMixin
- from django.contrib.auth.views import LoginView, LogoutView
- from django.shortcuts import render
- from django.urls import reverse_lazy
- from django.views.generic import DetailView, ListView, CreateView, TemplateView
- from .models import Service
- from .forms import UserRegisterForm, SearchForm
- class ViewIndex(ListView):
- model = Service
- context_object_name = 'services'
- template_name = 'main/index.html'
- paginate_by = 5
- def get_queryset(self):
- queryset = Service.objects.all()
- search_query = self.request.GET.get('search_query')
- if search_query:
- queryset = queryset.filter(name__icontains=search_query)
- return queryset
- def get_context_data(self, *, object_list=None, **kwargs):
- context = super().get_context_data(**kwargs)
- context['search_form'] = SearchForm(self.request.GET)
- return context
- class BBLoginView(LoginView):
- template_name = 'main/login.html'
- success_url = reverse_lazy('index')
- class BBLogout(LoginRequiredMixin, LogoutView):
- template_name = 'main/logout.html'
- success_url = reverse_lazy('index')
- class RegistrateUser(CreateView):
- success_url = reverse_lazy('index')
- def get(self, request, *args, **kwargs):
- form = {'form': RegistrateUser()}
- return render(request, 'main/registration.html', {'form': form})
- def post(self, request, *args, **kwargs):
- form = UserRegisterForm(request.POST, request.FILES)
- if form.is_valid():
- form.save()
- return render(request, 'main/index.html', {'form': form})
- return render(request, 'main/registration.html', {'form': form})
- class ViewServices(ListView):
- model = Service
- template_name = 'main/service.html'
- context_object_name = 'services'
- class ServiceDetail(DetailView):
- model = Service
- template_name = 'main/service_id.html'
- class Profile(ListView):
- model = Service
- template_name = 'main/profile.html'
- context_object_name = 'services'
- def get_queryset(self):
- return Service.objects.filter(customer=self.request.user)
- class SearchResult(DetailView):
- model = Service
- context_object_name = 'services'
- template_name = 'main/index.html'
- paginate_by = 5
- def get_queryset(self):
- queryset = Service.objects.all()
- search_query = self.request.GET.get('search_query')
- if search_query:
- queryset = queryset.filter(name__icontains=search_query)
- return queryset
- def get_context_data(self, *, object_list=None, **kwargs):
- context = super().get_context_data(**kwargs)
- context['search_form'] = SearchForm(self.request.GET)
- return context
|