Onboarding drag and drop box in VNF packages and NS packages section

Change-Id: Ieb93b56b7dbaccad7dc3055d257fc8c0db62b98a
Signed-off-by: lombardof <flombardo@cnit.it>
diff --git a/static/src/projecthandler/descriptorslist.js b/static/src/projecthandler/descriptorslist.js
index 5a803da..24b7ba5 100644
--- a/static/src/projecthandler/descriptorslist.js
+++ b/static/src/projecthandler/descriptorslist.js
@@ -1,42 +1,42 @@
- function deletePackage(project_id, descriptor_type, package_id) {
-            bootbox.confirm("Are you sure want to delete?", function (result) {
-                if (result) {
-                    location.href = '/projects/' + project_id + '/descriptors/' + descriptor_type + '/' + package_id + '/delete'
-                }
-            })
+function deletePackage(project_id, descriptor_type, package_id) {
+    bootbox.confirm("Are you sure want to delete?", function (result) {
+        if (result) {
+            location.href = '/projects/' + project_id + '/descriptors/' + descriptor_type + '/' + package_id + '/delete'
         }
+    })
+}
 
 
-
-        function openPackageContentList(project_id, type, pkg_id) {
-            var dialog = bootbox.dialog({
-                message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
-                closeButton: true
-            });
-            $.ajax({
-                url: '/projects/' + project_id + '/descriptors/' + type + '/' + pkg_id + '/action/get_package_files_list',
-                type: 'GET',
-                dataType: "json",
-                contentType: "application/json;charset=utf-8",
-                success: function (result) {
-                    //$('#modal_show_vim_body').empty();
-                    dialog.modal('hide');
-                    build_file_list("Files in " + pkg_id, result.files);
-                },
-                error: function (result) {
-                    dialog.modal('hide');
-                    bootbox.alert("An error occurred while retrieving the package content.");
-                }
-            });
+function openPackageContentList(project_id, type, pkg_id) {
+    var dialog = bootbox.dialog({
+        message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+        closeButton: true
+    });
+    $.ajax({
+        url: '/projects/' + project_id + '/descriptors/' + type + '/' + pkg_id + '/action/get_package_files_list',
+        type: 'GET',
+        dataType: "json",
+        contentType: "application/json;charset=utf-8",
+        success: function (result) {
+            //$('#modal_show_vim_body').empty();
+            dialog.modal('hide');
+            build_file_list("Files in " + pkg_id, result.files);
+        },
+        error: function (result) {
+            dialog.modal('hide');
+            bootbox.alert("An error occurred while retrieving the package content.");
         }
+    });
+}
 
 
-        function build_file_list(title, list) {
-            $('#files_list_tbody').find('tr:gt(0)').remove();
-            $('#files_list_tbody_title').text(title)
-            for (var i in list) {
-                var template = '<tr><td>-</td><td>' + list[i] + '</td><td><button type="button" class="btn btn-default" onclick="" disabled><i class="fa fa-folder-open"></i></button></td></tr>'
-                $('#files_list_tbody').append(template)
-            }
-            $('#modal_files_list').modal('show');
-        }
\ No newline at end of file
+function build_file_list(title, list) {
+    $('#files_list_tbody').find('tr:gt(0)').remove();
+    $('#files_list_tbody_title').text(title)
+    for (var i in list) {
+        var template = '<tr><td>-</td><td>' + list[i] + '</td><td><button type="button" class="btn btn-default" onclick="" disabled><i class="fa fa-folder-open"></i></button></td></tr>'
+        $('#files_list_tbody').append(template)
+    }
+    $('#modal_files_list').modal('show');
+}
+
diff --git a/static/src/projecthandler/onboard_package.js b/static/src/projecthandler/onboard_package.js
new file mode 100644
index 0000000..801acf2
--- /dev/null
+++ b/static/src/projecthandler/onboard_package.js
@@ -0,0 +1,72 @@
+var dropZone = document.getElementById('drop-zone');
+dropZone.ondrop = function (e) {
+    e.preventDefault();
+    this.className = 'upload-drop-zone';
+    create(e.dataTransfer.files, true);
+};
+
+dropZone.ondragover = function () {
+    this.className = 'upload-drop-zone drop';
+    return false;
+};
+
+dropZone.ondragleave = function () {
+    this.className = 'upload-drop-zone';
+    return false;
+};
+
+
+function create(fs, dropzone) {
+    var id = $('.nav-tabs .active').attr('id');
+    if (dropzone) id = 'file_li';
+    var type, text;
+    var data = new FormData();
+    switch (id) {
+
+        case 'file_li':
+            type = 'file';
+
+            var files = dropzone ? fs : document.getElementById('js-upload-files').files;
+            if (!files || !files.length) {
+                files = document.getElementById('drop-zone').files;
+                if (!files || !files.length) {
+                    alert("Select a file");
+                    return
+                }
+            }
+            console.log(files[0])
+            var patt1 = /\.([0-9a-z]+)(?:[\?#]|$)/i;
+            console.log(files[0].name.match(patt1));
+            var extension = files[0].name.substr(files[0].name.lastIndexOf('.') + 1);
+            console.log(extension);
+            if (!(extension == 'gz' )) {
+                alert("The file must be .tar.gz");
+                return
+            }
+
+            data.append('file', files[0]);
+            break;
+    }
+    data.append('csrfmiddlewaretoken', csrf_token);
+    data.append('type', type);
+    data.append('text', text);
+    data.append('id', '{{descriptor_id}}');
+    console.log(text);
+    $.ajax({
+        url: "new",
+        type: 'POST',
+        data: data,
+        cache: false,
+        contentType: false,
+        processData: false,
+        success: function (result) {
+            console.log(result);
+
+            window.location.href = descr_list_url
+
+        },
+        error: function (result) {
+            showAlert(result);
+        }
+    });
+}
\ No newline at end of file