def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) exchanges = self.get_queryset() page = self.request.GET.get('page') paginator = Paginator(exchanges, self.paginate_by) context['exchanges'] = get_pagination_data(paginator, page) client = self.request.GET.get('client') email_client = self.request.GET.get('email') email_member = self.request.GET.get('email-member') if email_client: self.additional_params += f"&email={email_client}" if client == "hacker": try: hacker = Hacker.objects.get(email=email_client) except Hacker.DoesNotExist: pass else: self.additional_params += '&client=hacker' context['hacker'] = hacker elif client == "startup": try: startup = Startup.objects.get(email=email_client) except Startup.DoesNotExist: pass else: self.additional_params += '&client=startup' context['startup'] = startup if email_member: self.additional_params += f"&email-member={email_member}" context['additional_params'] = self.additional_params context['result_filter'] = self.result_filter return context
def get_context_data(self, **kwargs): context = super(JobPositionListView, self).get_context_data(**kwargs) job_positions = self.get_queryset() page = self.request.GET.get('page') paginator = Paginator(job_positions, self.paginate_by) context['job_positions'] = get_pagination_data(paginator, page) return context
def get_context_data(self, **kwargs): context = super(StartupListView, self).get_context_data(**kwargs) startups = self.get_queryset() page = self.request.GET.get('page') paginator = Paginator(startups, self.paginate_by) context['startups'] = get_pagination_data(paginator, page) return context
def get_context_data(self, **kwargs): context = super(HackerListView, self).get_context_data(**kwargs) hackers = self.get_queryset() page = self.request.GET.get('page') paginator = Paginator(hackers, self.paginate_by) position_id = self.request.GET.get('position') if position_id: context['additional_params'] = f"&position={position_id}" context['position'] = JobPosition.objects.get(pk=position_id) context['hackers'] = get_pagination_data(paginator, page) return context
def client_index(request): page = request.GET.get('page') client_type = request.GET.get('client-type') search_text = request.GET.get('search-text', '') paginate_by = 15 if client_type == "hackers": hackers = Hacker.objects.all() if search_text: hackers = hackers.filter( Q(email__icontains=search_text) | Q(first_name__icontains=search_text) | Q(last_name__icontains=search_text)) paginator = Paginator(hackers, paginate_by) client_count = Hacker.objects.count() else: startups = Startup.objects.all() if search_text: startups = startups.filter( Q(email__icontains=search_text) | Q(name__icontains=search_text) | Q(country__icontains=search_text)) paginator = Paginator(startups, paginate_by) client_type = "startups" client_count = Startup.objects.count() pagination_values = get_pagination_data(paginator, page) context = { 'client_type': client_type, 'paginator': paginator, 'client_count': client_count, 'search_text': search_text, client_type: pagination_values } return render(request, 'clients/client_index.html', context)