fix: removed domain_name as required input when there is no domain costraints
[osm/LW-UI.git] / projecthandler / template / project / projectlist.html
index 62282ad..61043ba 100644 (file)
@@ -1,11 +1,28 @@
+<!--
+Copyright 2019 EveryUP srl
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an  BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
 {% extends "base.html" %}
 {% load get %}
 {% load date_tag %}
 {% load staticfiles %}
 
 {% block head_block %}
-       {{ block.super }}
-    <link rel="stylesheet" href="/static/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
+      {{ block.super }}
+        <link rel="stylesheet" href="/static/node_modules/select2/dist/css/select2.min.css">
+        <link rel="stylesheet" href="/static/node_modules/datatables.net-bs/css/dataTables.bootstrap.min.css">
 
 {% endblock %}
 {% block title_header_big %}
 
 {% block breadcrumb_body %}
        {{ block.super }}
-    <li><a href="{% url 'projects:projects_list' %}">Projects</a></li>
+      {% if user.is_admin %}
+      <li><a href="{% url 'projects:projects_list' %}">Projects</a></li>
+      {% else%}
+      <li><a href="#">Projects</a></li>
+      {% endif %}
 {% endblock %}
 
 {% block content_body %}
@@ -34,7 +55,7 @@
             <div class="box-tools">
                 <button type="button" class="btn btn-default" data-container="body"
                                         data-toggle="tooltip" data-placement="top" title="New Project"
-                                        onclick="javascript:showModalNewProject()">
+                                        onclick="javascript:showModalNewProject({'domains_list_url': '{% url "projects:domains_list" %}'})">
                                     <i class="fa fa-plus"></i> New Project</button>
             </div>
         </div>
@@ -63,8 +84,9 @@
 
 {% block resource_block %}
        {{ block.super }}
-    <script src="/static/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
-    <script src="/static/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
+    <script src="/static/node_modules/datatables.net/js/jquery.dataTables.min.js"></script>
+    <script src="/static/node_modules/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
+    <script src="/static/node_modules/select2/dist/js/select2.js"></script>
 
     <script>
         var table;
     });
     </script>
     <script>
-    function showModalNewProject(){
-        $('#modal_new_project').modal('show');
+    function showModalNewProject(args){
+        var dialog = bootbox.dialog({
+            message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+            closeButton: false
+        });
+        $.ajax({
+            url: args.domains_list_url,
+            dataType: "json",
+            contentType: "application/json;charset=utf-8",
+            success: function (result_domain) {
+                domains_list = [];
+                $('#domain_name').prop('disabled', false).trigger('change');
+                if (result_domain['domains']) {
+                    for (d in result_domain['domains']) {
+                        var domain = result_domain['domains'][d];
+                        if (domain.endsWith(':ro') === false) {
+                            domains_list.push({ id: domain, text: domain })
+                        }
+
+                    }
+                }
+                if (domains_list.length == 0) {
+                    $('#domainNameGroupDiv').remove();
+                }
+                dialog.modal('hide');
+               
+                select2_groups = $('#domain_name').select2({
+                    placeholder: 'Select Domain',
+                    width: '100%',
+                    "language": {
+                        "noResults": function () {
+                            return "No domains in the platform";
+                        }
+                    },
+                    data: domains_list
+                });
+
+                $('#modal_new_project').modal('show');
+
+            },
+            error: function (result) {
+                dialog.modal('hide');
+                bootbox.alert("An error occurred.");
+            }
+        });
     }
 
     function editProject(project_id){