Exemplo n.º 1
0
    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")
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
 def single(self, table, request, job_id):
     freezer_api.Job(request).clone(job_id)
     return shortcuts.redirect('horizon:disaster_recovery:jobs:index')
Exemplo n.º 6
0
 def delete(self, request, job_id):
     return freezer_api.Job(request).delete(job_id)
Exemplo n.º 7
0
 def delete(self, request, obj_id):
     freezer_api.Job(request).delete_action(obj_id)
     return reverse("horizon:disaster_recovery:jobs:index")
Exemplo n.º 8
0
 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')
Exemplo n.º 9
0
 def get_object(self, *args, **kwargs):
     return freezer_api.Job(self.request).get(self.kwargs['job_id'])
Exemplo n.º 10
0
 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
Exemplo n.º 11
0
 def get_actions_in_job_data(self):
     if self.kwargs['job_id']:
         return freezer_api.Job(self.request).actions(self.kwargs['job_id'])
     return []
Exemplo n.º 12
0
 def get_jobs_data(self):
     return freezer_api.Job(self.request).list(limit=100)