def get(self, request, job_id=None): actions = freezer_api.Action(request).list(json=True) actions_in_job = freezer_api.Job(request).actions(job_id, api=True) action_ids = [a['action_id'] for a in actions] actions_in_job_ids = [a['action_id'] for a in actions_in_job] available = set.difference(set(action_ids), set(actions_in_job_ids)) selected = set.intersection(set(action_ids), set(actions_in_job_ids)) available_actions = [] for action in actions: if action['action_id'] in available: available_actions.append(action) selected_actions = [] for action in actions_in_job: if action['action_id'] in selected: selected_actions.append(action) actions = {'available': available_actions, 'selected': selected_actions} actions = json.dumps(actions) return http.HttpResponse(actions, content_type="application/json")
def handle(self, request, context): try: if context['job_id'] != '': freezer_api.Job(request).update(context['job_id'], context) return shortcuts.redirect('horizon:disaster_recovery:jobs:index') except Exception: exceptions.handle(request) return False
def handle(self, request, context): try: interval_unit = context['interval_uint'] if not interval_unit or interval_unit == 'continuous': context['schedule_interval'] = interval_unit else: interval_value = context['interval_value'] schedule_interval = "{0} {1}".format(interval_value, interval_unit) context['schedule_interval'] = schedule_interval if context['job_id'] != '': freezer_api.Job(request).update(context['job_id'], context) else: freezer_api.Job(request).create(context) return shortcuts.redirect('horizon:disaster_recovery:jobs:index') except Exception: exceptions.handle(request) return False
def get_initial(self): initial = super(EditJobWorkflowView, self).get_initial() if self.is_update(): initial.update({'job_id': None}) job = freezer_api.Job(self.request).get(self.kwargs['job_id'], json=True) initial.update(**job) initial.update(**job['job_schedule']) return initial
def single(self, table, request, job_id): freezer_api.Job(request).clone(job_id) return shortcuts.redirect('horizon:disaster_recovery:jobs:index')
def delete(self, request, job_id): return freezer_api.Job(request).delete(job_id)
def delete(self, request, obj_id): freezer_api.Job(request).delete_action(obj_id) return reverse("horizon:disaster_recovery:jobs:index")
def single(self, table, request, job_id): freezer_api.Job(request).stop(job_id) messages.success(request, _("Job has stopped")) return shortcuts.redirect('horizon:disaster_recovery:jobs:index')
def get_object(self, *args, **kwargs): return freezer_api.Job(self.request).get(self.kwargs['job_id'])
def get_initial(self): initial = super(ActionsInJobView, self).get_initial() if self.is_update(): job = freezer_api.Job(self.request).get(self.kwargs['job_id']) initial.update({'job_id': job.id}) return initial
def get_actions_in_job_data(self): if self.kwargs['job_id']: return freezer_api.Job(self.request).actions(self.kwargs['job_id']) return []
def get_jobs_data(self): return freezer_api.Job(self.request).list(limit=100)