28 from django.utils.translation
import ugettext
as _
30 from wi.commontags.templatetags.templatetags
import filesizeformatmb
31 from wi.utils.states
import image_states, image_platforms_reversed, ec2names_reversed
43 emty_category_counter = 1
46 categories.append([_(
' '), [[-emty_category_counter, _(
'< Select >')]]])
47 emty_category_counter += 1
51 for image
in data[
'images_public']:
52 if isinstance(image, dict)
and image[
'state'] == image_states[
'ok']:
53 sub_categories.append([image[
'image_id'], image[
'name']])
54 if not sub_categories:
55 sub_categories.append([-emty_category_counter, {
'label': _(
'No images'),
'disabled':
True}])
56 emty_category_counter += 1
57 public_category = [_(
'Public images'), sub_categories]
58 categories.append(public_category)
62 for image
in data[
'images_private']:
63 if isinstance(image, dict)
and image[
'state'] == image_states[
'ok']:
64 sub_categories.append([image[
'image_id'], image[
'name']])
65 if not sub_categories:
66 sub_categories.append([-emty_category_counter, {
'label': _(
'No images'),
'disabled':
True}])
67 emty_category_counter += 1
68 private_category = [_(
'Private images'), sub_categories]
69 categories.append(private_category)
71 for group
in data[
'images_group']:
73 for image
in group[
'images']:
74 if image[
'state'] == image_states[
'ok']:
75 sub_categories.append([image[
'image_id'], image[
'name']])
77 if not sub_categories:
78 sub_categories.append([-emty_category_counter, {
'label': _(
'No images'),
'disabled':
True}])
79 emty_category_counter += 1
80 group_category = [_(
'Group') +
" " + group[
'name'], sub_categories]
81 categories.append(group_category)
96 for template
in data[
'templates']:
97 if isinstance(template, dict):
98 if template[
'ec2name'] != 0:
99 templates_list.append([template[
'template_id'], template[
'name'] +
' [' + ec2names_reversed[template[
'ec2name']] +
']'])
101 templates_list.append([template[
'template_id'], template[
'name']])
102 if templates_list == []:
103 templates_list.insert(0, (-1, _(
'None available')))
104 return templates_list
119 for ipa
in data[
'ips']:
120 if ipa[
'lease_id'] ==
"":
121 ips_list.append([ipa[
'public_ip_id'], ipa[
'address']])
124 ips_list.append([ipa[
'public_ip_id'], {
'label': ipa[
'address'],
'disabled':
True}])
127 ips_list.insert(0, (-1, _(
'None available')))
129 if select_flag ==
True:
130 ips_list.insert(0, [-1, _(
'None')])
144 for lease
in data[
'vm'][
'leases']:
145 if lease[
'public_ip'] !=
"":
146 ips_list.append([lease[
'public_ip'][
'lease_id'], lease[
'public_ip'][
'ip']])
148 ips_list.insert(0, (-1, _(
'None available')))
162 for lease
in data[
'vm'][
'leases']:
163 if lease[
'public_ip'] ==
"":
164 ips_list.append([lease[
'lease_id'], lease[
'address']])
166 ips_list.insert(0, (-1, _(
'None available')))
182 for disk
in data[
'disks']:
183 if disk[
'state'] == image_states[
'ok']:
185 if disk[
'vm_id'] ==
"":
186 disks_list.append([disk[
'storage_image_id'], label])
189 disks_list.append([disk[
'storage_image_id'], {
'label': label,
'disabled':
True}])
191 if select_flag ==
True:
192 disks_list.append((-1, {
'label': _(
'None available'),
'disabled':
True}))
194 disks_list.append((-1, _(
'None available')))
196 if select_flag ==
False and all_disabled:
197 disks_list.insert(0, [-1, _(
'None available')])
212 for item
in data[
'disk_controllers']:
213 if item[
'live_attach'] ==
True:
214 live_attach.append(item[
'id'])
217 for disk
in data[
'vm'][
'storage_images']:
218 if disk[
'disk_controller']
in live_attach:
219 disks_list.append([disk[
'storage_image_id'], disk[
'name']])
222 disks_list.append([disk[
'storage_image_id'], {
'label': disk[
'name'],
'disabled':
True}])
224 disks_list.insert(0, (-1, _(
'None available')))
238 for iso
in data[
'iso']:
239 if iso[
'state'] == image_states[
'ok']:
241 iso_list.append([iso[
'iso_image_id'], label])
243 iso_list.insert(0, (-1, _(
'None available')))
245 iso_list.insert(0, [-1, _(
'None')])
260 for image
in data[
'images_public']:
261 images_list.append((image[
'image_id'], image[
'description'], image[
'creation_date']))
263 for image
in data[
'images_private']:
264 images_list.append((image[
'image_id'], image[
'description'], image[
'creation_date']))
267 images_list.append((image[
'image_id'], image[
'description'], image[
'creation_date']))
281 for group
in data[
'images_group']:
282 for image
in group[
'images']:
283 images_group.append(image)
300 storages_list.append((
'0', _(
'All storages')))
301 for storage
in data[
'storages']:
302 if isinstance(storage, dict):
303 storages_list.append((storage[
'storage_id'], storage[
'name']))
304 if storages_list == []:
305 storages_list.append((-1, _(
'None available')))
321 nodes_list.append((
'0', _(
'All nodes')))
322 for node
in data[
'nodes']:
323 if isinstance(node, dict):
324 nodes_list.append((node[
'node_id'], node[
'address']))
327 nodes_list.append((-1, _(
'None available')))
343 for group
in data[
'groups']:
344 groups_list.append(group[
'group_id'])
360 for group
in data[
'groups']:
361 groups_list.append([group[
'group_id'], group[
'name']])
363 if groups_list == []:
364 groups_list.append((-1, _(
'No group available')))
380 for group
in data[
'own_groups']:
381 groups_list.append(group[
'group_id'])
392 for key
in image_platforms_reversed:
393 platform_list.append((key, image_platforms_reversed[key]))
404 for k, v
in sorted(data[key].iteritems(), key=
lambda item: item[1]):
405 choices.append([v, k])
415 for item
in data[key]:
416 if item.get(
'enabled')
is not None and not item[
'enabled']:
417 choices.append([item[
'id'], {
'label': item[
'name'],
'disabled':
True}])
419 choices.append([item[
'id'], item[
'name']])
431 for key
in data[
'keys']:
432 keys_list.append((key[
'key_id'], key[
'name']))
435 keys_list.append((-1, _(
'None available')))
448 for item
in data[
'cms']:
449 cm_list.append((item[
'cluster_id'], item[
'name']))
452 cm_list.append((-1, _(
'None available')))
465 for item
in data[
'users']:
466 cm_user_list.append((item[
'user_id'], item[
'first'] +
" " + item[
'last']))
468 if cm_user_list == []:
469 cm_user_list.append((-1, _(
'None available')))