Esempio n. 1
0
    def GET(self, request, **kwargs):
        read_only = False if can_manage_jobs() else True
        jobs = []
        for job in Job.objects.all().order_by('title'):
            data = job.json_data()
            data['read_only'] = read_only
            jobs.append(data)

        return self.json_response(json.dumps({'jobs': jobs}))
Esempio n. 2
0
    def DELETE(self, request, **kwargs):
        if not can_manage_jobs():
            return self.json_response('{"error":"Unauthorized"}', status=401)

        job_id = kwargs['job_id']
        try:
            job = Job.objects.get(id=job_id)
            job.delete()

            self._log.info('%s deleted Job "%s"' % (job.changed_by, job.name))

            return self.json_response(json.dumps({'job': job.json_data()}))
        except Job.DoesNotExist:
            return self.json_response(
                '{"error":"job %s not found"}' % job_id, status=404)
Esempio n. 3
0
    def PUT(self, request, **kwargs):
        if not can_manage_jobs():
            return self.json_response('{"error":"Unauthorized"}', status=401)

        job_id = kwargs['job_id']
        try:
            job = Job.objects.get(id=job_id)

            data = json.loads(request.body).get('job', {})
            if 'is_active' in data:
                job.is_active = data['is_active']
                job.changed_by = UserService().get_original_user()
                job.changed_date = datetime.utcnow().replace(tzinfo=utc)
                job.save()

                self._log.info('%s %s Job "%s"' % (
                    job.changed_by,
                    'enabled' if job.is_active else 'disabled',
                    job.name))

            return self.json_response(json.dumps({'job': job.json_data()}))
        except Job.DoesNotExist:
            return self.json_response(
                '{"error":"job %s not found"}' % job_id, status=404)