Revision 73aed6bf

b/api/networks.py
76 76
        return method_not_allowed(request)
77 77

  
78 78

  
79
def network_to_dict(network, detail=True):
79
def network_to_dict(network, user, detail=True):
80 80
    network_id = str(network.id) if not network.public else 'public'
81 81
    d = {'id': network_id, 'name': network.name}
82 82
    if detail:
83 83
        d['updated'] = util.isoformat(network.updated)
84 84
        d['created'] = util.isoformat(network.created)
85
        d['servers'] = {'values': [vm.id for vm in network.machines.all()]}
86 85
        d['status'] = network.state
86
        servers = [vm.id for vm in network.machines.filter(owner=user)]
87
        d['servers'] = {'values': servers}
87 88
    return d
88 89

  
89 90
def render_network(request, networkdict, status=200):
......
115 116
    else:
116 117
        user_networks = user_networks.filter(state='ACTIVE')
117 118
    
118
    networks = [network_to_dict(network, detail) for network in user_networks]
119

  
119
    networks = [network_to_dict(network, owner, detail)
120
                for network in user_networks]
121
    
120 122
    if request.serialization == 'xml':
121 123
        data = render_to_string('list_networks.xml', {
122 124
            'networks': networks,
......
149 151
    if not network:
150 152
        raise OverLimit('Network count limit exceeded for your account.')
151 153
    
152
    networkdict = network_to_dict(network)
154
    networkdict = network_to_dict(network, request.user)
153 155
    return render_network(request, networkdict, status=202)
154 156

  
155 157
@util.api_method('GET')
......
164 166
    
165 167
    log.debug('get_network_details %s', network_id)
166 168
    net = util.get_network(network_id, request.user)
167
    netdict = network_to_dict(net)
169
    netdict = network_to_dict(net, request.user)
168 170
    return render_network(request, netdict)
169 171

  
170 172
@util.api_method('PUT')

Also available in: Unified diff