def list(self, request, *args, **kwargs): try: vt = request.GET.get('title', '') generics.ListAPIView.queryset = [] vc = request.GET.get('company', '') if vt != '' and vc != '': generics.ListAPIView.queryset = Job.objects.filter( ~Q(state="Expired"), title=vt, company__name=vc) elif vt != '': generics.ListAPIView.queryset = Job.objects.filter( ~Q(state="Expired"), title=vt) elif vc != '': generics.ListAPIView.queryset = Job.objects.filter( ~Q(state="Expired"), company__name=vc) jqs = [] for j in generics.ListAPIView.queryset: queryset = VisibilityPeriod.objects.filter(job=j.id) for o in queryset: if o.startdate >= datetime.today().date( ) and o.enddate >= datetime.today().date(): jqs.append(j) break generics.ListAPIView.queryset = jqs return super(generics.ListAPIView, self).list(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def decorated(u, *args, **kwargs): try: if not u.groups.filter(name='Employers').exists(): raise Exception(errors.USER_ACCESS_DENY) except Exception as e: raise errors.JPLException(e.__str__(), 500) return fn(*args, **kwargs)
def list(self, request, *args, **kwargs): try: generics.ListAPIView.queryset = CoverLetter.objects.filter( js=kwargs['jobseeker']) return super(generics.ListAPIView, self).list(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def get(self, request, *args, **kwargs): try: generics.RetrieveAPIView.queryset = Company.objects.filter( usr__id=kwargs["usr__id"]) return super(generics.RetrieveAPIView, self).retrieve(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def list(self, request, *args, **kwargs): try: generics.ListAPIView.queryset = JobApplication.objects.filter( job=kwargs['id']) return super(generics.ListAPIView, self).list(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def get(self, request, *args, **kwargs): try: qs = VisibilityPeriod.objects.filter(job__company__id=kwargs['id']) p = 0 for o in qs: p += o.amountpaid return JsonResponse({"revenue": p}) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def patch(self, request, *args, **kwargs): try: res = super(generics.UpdateAPIView, self).partial_update(request, *args, **kwargs) queryset = JobApplication.objects.filter( ~Q(job__state="Expired"), job__company__id=kwargs['id']) notifications.sendemail() return res except Exception as e: raise errors.JPLException(e.__str__(), 500)
def destroy(self, request, *args, **kwargs): try: queryset = JobApplication.objects.filter(~Q(job__state="Expired"), id=kwargs['id']) res = super(generics.DestroyAPIView, self).destroy(request, *args, **kwargs) notifications.sendemail() return res except Exception as e: raise errors.JPLException(e.__str__(), 500)
def get(self, request, *args, **kwargs): try: qs = VisibilityPeriod.objects.filter( startdate__gte=request.GET.get('startdate'), startdate__lte=request.GET.get('enddate')) p = 0 for o in qs: p += o.amountpaid return JsonResponse({"revenue": p}) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def decorated(*args, **kwargs): # args[0] == GenericView Object try: r = None super(args[0].__class__, args[0]).perform_authentication(args[1]) r = args[1].user if r is not None: pass else: raise Exception(errors.USER_ACCESS_DENY) except Exception as e: raise errors.JPLException(e.__str__(), 500) return fn(r, *args, **kwargs)
def get(self, request, *args, **kwargs): try: generics.RetrieveAPIView.queryset = VisibilityPeriod.objects.filter( job=kwargs['id']) l = None for o in generics.RetrieveAPIView.queryset: if l is None: l = o else: if o.enddate > l.enddate: l = o generics.RetrieveAPIView.queryset = l return super(generics.RetrieveAPIView, self).retrieve(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def list(self, request, *args, **kwargs): try: generics.ListAPIView.queryset = Job.objects.filter(~Q( state="Expired")) jqs = [] for j in generics.ListAPIView.queryset: queryset = VisibilityPeriod.objects.filter(job=j.id) for o in queryset: if o.startdate >= datetime.today().date( ) and o.enddate >= datetime.today().date(): jqs.append(j) break generics.ListAPIView.queryset = jqs return super(generics.ListAPIView, self).list(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def create(self, request, *args, **kwargs): try: queryset = Job.objects.filter(~Q(state="Expired"), ~Q(state="RecruitmentInProgress"), id=request.data['job']) vpqs = VisibilityPeriod.objects.filter(job=queryset[0].id) v = False for o in vpqs: if o.startdate >= datetime.today().date( ) and o.enddate >= datetime.today().date(): v = True break if not v: raise Exception(errors.JOB_INVISIBLE) return super(generics.CreateAPIView, self).create(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def create(self, request, *args, **kwargs): try: dt = datetime.strptime(request.data['startdate'], '%Y-%m-%d') d = dt.date() queryset = VisibilityPeriod.objects.filter(job=request.data['job']) med = None for o in queryset: if med is None: med = o.enddate else: if o.enddate > med: med = o.enddate if med is not None and med > d: raise Exception(errors.V_SD_B_LED) return super(generics.CreateAPIView, self).create(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def get(self, request, *args, **kwargs): try: return super(generics.RetrieveAPIView, self).retrieve(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def create(self, request, *args, **kwargs): try: return super(generics.CreateAPIView, self).create(request, *args, **kwargs) except Exception as e: raise errors.JPLException(e.__str__(), 500)
def save(self, *args, **kwargs): if self.startdate > self.enddate: raise errors.JPLException(errors.SD_B_ED, 400) if self.amountpaid < 0: raise errors.JPLException(errors.AMOUNTINVALID, 400) super(VisibilityPeriod, self).save(*args, **kwargs)