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}))
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)
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)