Revision 01def7a4 snf-cyclades-app/synnefo/logic/subnets.py
b/snf-cyclades-app/synnefo/logic/subnets.py | ||
---|---|---|
42 | 42 |
from snf_django.lib import api |
43 | 43 |
from snf_django.lib.api import faults |
44 | 44 |
from synnefo.logic import utils |
45 |
from synnefo.api import util |
|
45 | 46 |
|
46 | 47 |
from synnefo.db.models import Subnet, Network, IPPoolTable |
47 | 48 |
|
... | ... | |
148 | 149 |
return sub |
149 | 150 |
|
150 | 151 |
|
151 |
def get_subnet(sub_id):
|
|
152 |
"""Show info of a specific subnet"""
|
|
153 |
log.debug('get_subnet %s', sub_id) |
|
152 |
def get_subnet(subnet_id, user_id, for_update=False):
|
|
153 |
"""Return a Subnet instance or raise ItemNotFound."""
|
|
154 |
|
|
154 | 155 |
try: |
155 |
subnets = Subnet.objects |
|
156 |
return subnets.get(id=sub_id) |
|
156 |
objects = Subnet.objects |
|
157 |
subnet_id = int(subnet_id) |
|
158 |
subnet = objects.get(id=subnet_id) |
|
159 |
if (subnet.network.userid != user_id) and (subnet.network.public is |
|
160 |
False): |
|
161 |
raise api.faults.Unauthorized("You're not allowed to view this " |
|
162 |
"subnet") |
|
163 |
return subnet |
|
164 |
except (ValueError, TypeError): |
|
165 |
raise faults.BadRequest("Invalid subnet ID '%s'" % subnet_id) |
|
157 | 166 |
except Subnet.DoesNotExist: |
158 |
raise api.faults.ItemNotFound("Subnet not found")
|
|
167 |
raise faults.ItemNotFound("Subnet '%s' not found." % subnet_id)
|
|
159 | 168 |
|
160 | 169 |
|
161 | 170 |
def delete_subnet(): |
Also available in: Unified diff