27 from cm.utils.decorators
import user_log
28 from cm.utils
import log
29 from cm.utils.exception
import CMException
31 from cm.models.available_network
import AvailableNetwork
32 from cm.models.user_network
import UserNetwork
33 from cm.models.user
import User
34 from common.states
import available_network_states
50 user = User.get(caller_id)
51 for available_network
in AvailableNetwork.objects.all():
52 log.debug(user.id,
"Trying to allocate in %s" % str(available_network.to_ipnetwork()))
53 if available_network.state == available_network_states[
'ok']:
55 net = available_network.get_unused_ipnetwork(mask)
57 new_net = UserNetwork()
58 new_net.address = str(net.network)
61 new_net.available_network = available_network
71 raise CMException(
'available_network_not_found')
85 user = User.get(caller_id)
87 user_network = UserNetwork.objects.filter(user=user).
get(id=network_id)
89 raise CMException(
'network_not_found')
91 if user_network.is_in_use():
92 raise CMException(
'network_in_use')
93 user_network.release()
104 available_networks = AvailableNetwork.objects.filter(state=available_network_states[
'ok'])
106 for network
in available_networks:
107 response.append(network.dict)
119 user = User.get(caller_id)
121 user_networks = UserNetwork.objects.filter(user=user)
123 raise CMException(
'network_not_found')
125 for network
in user_networks:
126 if network.available_network.state == available_network_states[
'ok']:
127 response.append(network.dict)
142 user = User.get(caller_id)
144 user_network = UserNetwork.objects.filter(user=user).
get(id=network_id)
146 raise CMException(
'network_not_found')
148 for lease
in user_network.lease_set.all():
149 response.append(lease.dict)