bug fix on NSD composer; enabling button compose new descriptor
Change-Id: I2b50eee0e2a2c20823abf51e2fb0d40c3e1e13ff
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/descriptorhandler/template/descriptorlist.html b/descriptorhandler/template/descriptorlist.html
index 5285125..bbe8f21 100644
--- a/descriptorhandler/template/descriptorlist.html
+++ b/descriptorhandler/template/descriptorlist.html
@@ -7,12 +7,10 @@
<h3 class="box-title">
</h3>
<div class="box-tools">
- {% comment %}<div class="btn-group">
- <button type="button" class="btn btn-default" data-container="body"
- data-toggle="tooltip" data-placement="top" title="Composer"
- onclick="">
- <i class="fa fa-paint-brush"></i> <span> Composer</span></button>
- </div>{% endcomment %}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default" data-toggle="modal" data-target="#modal_new_package_name_chooser" >
+ <i class="fa fa-paint-brush"></i> <span> Compose a new {{ descriptor_type|upper }}</span></button>
+ </div>
</div>
</div>
<div class="box-body">
diff --git a/descriptorhandler/template/modal/choose_node_id.html b/descriptorhandler/template/modal/choose_node_id.html
deleted file mode 100644
index 91c4d20..0000000
--- a/descriptorhandler/template/modal/choose_node_id.html
+++ /dev/null
@@ -1 +0,0 @@
-{% extends "descriptor/modal/choose_node_id.html" %}
\ No newline at end of file
diff --git a/descriptorhandler/template/modal/choose_package_name.html b/descriptorhandler/template/modal/choose_package_name.html
new file mode 100644
index 0000000..2211026
--- /dev/null
+++ b/descriptorhandler/template/modal/choose_package_name.html
@@ -0,0 +1,35 @@
+<div class="modal" id="modal_new_package_name_chooser">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">×</span></button>
+ <h4 class="modal-title">Create new Package</h4>
+ </div>
+ <form id="formCreatePackage" action='{% url "projects:descriptors:create_package_empty" descriptor_type=descriptor_type %}'
+ class="form-horizontal"
+ method="post" enctype="multipart/form-data">
+ {% csrf_token %}
+ <div class="modal-body" id="modal_new_package_name_chooser">
+ <div class="form-group">
+ <label for="package_name" class="col-sm-3 control-label">Package name *</label>
+ <div class="col-sm-6">
+ <input class="form-control" id="package_name" name="name"
+ placeholder="name" required>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button>
+ <button class="btn btn-primary"
+ data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Creating..."
+ id="create_new_user">Create
+ </button>
+
+ </div>
+ </form>
+ </div>
+ <!-- /.modal-content -->
+ </div>
+ <!-- /.modal-dialog -->
+</div>
\ No newline at end of file
diff --git a/descriptorhandler/urls.py b/descriptorhandler/urls.py
index b0972d9..481211a 100644
--- a/descriptorhandler/urls.py
+++ b/descriptorhandler/urls.py
@@ -19,9 +19,9 @@
urlpatterns = [
url(r'(?P<descriptor_type>\w+)/list$', views.show_descriptors, name='list_descriptors'),
+ url(r'(?P<descriptor_type>\w+)/create', views.create_package_empty, name='create_package_empty'),
url(r'(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)(/$)', views.edit_descriptor, name='edit_descriptor'),
- url(r'(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)/delete$', views.delete_descriptor,
- name='delete_descriptor'),
+ url(r'(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)/delete$', views.delete_descriptor, name='delete_descriptor'),
url(r'(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)/clone', views.clone_descriptor, name='clone_descriptor'),
url(r'(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)/addElement/(?P<element_type>\w+)', views.addElement,
name='addElement'),
diff --git a/descriptorhandler/views.py b/descriptorhandler/views.py
index 064b5a5..fda9aff 100644
--- a/descriptorhandler/views.py
+++ b/descriptorhandler/views.py
@@ -90,12 +90,35 @@
'message': 'An error occurred while processing your request.' if result and result['error'] is True else "Record deleted successfully"}
}, url)
+@login_required
+def create_package_empty(request, descriptor_type=None):
+ user = osmutils.get_user(request)
+ pkg_name = request.POST.get('name', '')
+ try:
+ client = Client()
+ if descriptor_type == 'nsd':
+ result = client.nsd_create_pkg_base(user.get_token(), pkg_name)
+ elif descriptor_type == 'vnfd':
+ result = client.vnfd_create_pkg_base(user.get_token(), pkg_name)
+ else:
+ log.debug('Update descriptor: Unknown data type')
+ result = {'error': True, 'data': 'Update descriptor: Unknown data type'}
+ except Exception as e:
+ log.exception(e)
+ result = {'error': True, 'data': str(e)}
+
+ if result['error'] == True:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ result['data']['type'] = descriptor_type
+ return __response_handler(request, result, url=None, status=200)
+
@login_required
def clone_descriptor(request, descriptor_type=None, descriptor_id=None):
user = osmutils.get_user(request)
project_id = user.project_id
-
try:
client = Client()
if descriptor_type == 'nsd':
@@ -111,7 +134,6 @@
if result['error'] == True:
return __response_handler(request, result['data'], url=None,
status=result['data']['status'] if 'status' in result['data'] else 500)
-
else:
return __response_handler(request, {}, url=None, status=200)
@@ -319,7 +341,6 @@
result = client.nsd_get(user.get_token(), descriptor_id)
elif descriptor_type == 'vnfd':
result = client.vnfd_get(user.get_token(), descriptor_id)
-
except Exception as e:
log.exception(e)
result = {'error': True, 'data': str(e)}