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'})
def bind_template(self, request): template_id = int(request.POST['template_id']) hostgroup_id = int(request.POST['hostgroup_id']) f = Falcon() result = f.bindTemplate2HostGroup(template_id, hostgroup_id) return FalconResponse(result)