Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
 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)
Exemplo n.º 12
0
 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)
Exemplo n.º 13
0
 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)
Exemplo n.º 14
0
    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)
Exemplo n.º 15
0
 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)
Exemplo n.º 16
0
 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)
Exemplo n.º 17
0
 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)