def update(request, project_id, image_id): project = shortcuts.get_project_or_404(request, project_id) ami = project.get_image(image_id) if request.method == 'POST': form = forms.UpdateImageForm(ami, request.POST) if form.is_valid(): try: project.update_image(image_id, form.cleaned_data['nickname'], form.cleaned_data['description']) except exceptions.NovaApiError, e: messages.error(request, 'Unable to update image: %s' % e.message) else: messages.success(request, 'Image %s has been updated.' % image_id) return redirect('nova_images_detail', project_id, image_id) # TODO(devcamcar): This needs to be cleaned up. Can make # one of the render_to_response blocks go away. else: form = forms.UpdateImageForm(ami) return render_to_response('django_nova/images/edit.html', { 'form': form, 'region': project.region, 'project': project, 'ami': ami, }, context_instance = template.RequestContext(request))
def detail(request, project_id, image_id): project = shortcuts.get_project_or_404(request, project_id) images = project.get_images() ami = project.get_image(image_id) if not ami: raise http.Http404() return render_to_response('django_nova/images/index.html', { 'form': forms.LaunchInstanceForm(project), 'region': project.region, 'project': project, 'image_lists': _image_lists(images, project_id), 'ami': ami, }, context_instance = template.RequestContext(request))
def privacy(request, project_id, image_id): project = shortcuts.get_project_or_404(request, project_id) if request.method == 'POST': ami = project.get_image(image_id) if ami.is_public: try: project.modify_image_attribute(image_id, attribute='launchPermission', operation='remove') except exceptions.NovaApiError, e: messages.error(request, 'Unable to make image private: %s' % e.message) else: try: project.modify_image_attribute(image_id, attribute='launchPermission', operation='add') except exceptions.NovaApiError, e: messages.error(request, 'Unable to make image public: %s' % e.message)
max_count=form.cleaned_data['count'] ) except exceptions.NovaApiError, e: messages.error(request, 'Unable to launch: %s' % e.message) except exceptions.NovaUnauthorizedError, e: messages.error(request, 'Permission Denied') else: for instance in reservation.instances: messages.success(request, 'Instance %s launched.' % instance.id) return redirect('nova_instances', project_id) else: form = forms.LaunchInstanceForm(project) ami = project.get_image(image_id) return render_to_response('django_nova/images/launch.html', { 'form': form, 'region': project.region, 'project': project, 'ami': ami, }, context_instance = template.RequestContext(request)) @login_required @handle_nova_error def detail(request, project_id, image_id): project = shortcuts.get_project_or_404(request, project_id) images = project.get_images()