Beispiel #1
0
    def update_template(self, request):
        print request.POST.dict()
        template_id = int(request.POST['template_id'])
        parent_id = int(request.POST['parent_id'])
        name = request.POST['name']
        group_ids = request.POST.getlist('group_ids[]')
        #先更新模板基本信息
        f = Falcon(request.user.username)
        result = f.update_template(template_id, parent_id, name)
        if result.has_key('error'):
            return JsonResponse({
                'code': 1,
                'data': '',
                'message': result['error']
            })
        #再更新机器组
        hostgroups = f.get_hostgroups_of_template(template_id)  # 当前模板下已关联的机器组
        old_hostgroup_ids = [i['id'] for i in hostgroups['hostgroups']]
        current_hostgroup_ids = [int(i) for i in group_ids]

        need_add_hostgroup_ids = list(
            set(current_hostgroup_ids).difference(old_hostgroup_ids))
        need_remove_hostgroup_ids = list(
            set(old_hostgroup_ids).difference(current_hostgroup_ids))
        for i in need_add_hostgroup_ids:
            f.bindTemplate2HostGroup(template_id, i)
        for i in need_remove_hostgroup_ids:
            f.unbindTemplate2HostGroup(template_id, i)
        return JsonResponse({'code': 0, 'data': '', 'message': 'ok'})
Beispiel #2
0
 def unbind_template(self, request):
     template_id = int(request.POST['template_id'])
     hostgroup_id = int(request.POST['hostgroup_id'])
     f = Falcon()
     result = f.unbindTemplate2HostGroup(template_id, hostgroup_id)
     return FalconResponse(result)