ui fix
Change-Id: I73d09df0e5851c08dc5eb2a588446d4c3eac8573
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/projecthandler/template/project/modal/project_edit.html b/projecthandler/template/project/modal/project_edit.html
new file mode 100644
index 0000000..27a9ee6
--- /dev/null
+++ b/projecthandler/template/project/modal/project_edit.html
@@ -0,0 +1,32 @@
+<div class="modal" id="modal_edit_project" xmlns="http://www.w3.org/1999/html">
+ <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" id="modal_edit_project_title">Edit Project</h4>
+ </div>
+ <form id="formEditProject" class="form-horizontal" method="post" >
+ {% csrf_token %}
+ <div class="modal-body">
+
+ <div id="div_chose_id">
+ <label>Project Name: </label>
+ <input name="name" id="name" size="40" maxlength="20"/>
+ </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> Editing..."
+ id="create_edit_project">Apply
+ </button>
+ </div>
+ </form>
+ </div>
+ <!-- /.modal-content -->
+ </div>
+ <!-- /.modal-dialog -->
+</div>
\ No newline at end of file
diff --git a/projecthandler/template/project/modal/new_project.html b/projecthandler/template/project/modal/project_new.html
similarity index 100%
rename from projecthandler/template/project/modal/new_project.html
rename to projecthandler/template/project/modal/project_new.html
diff --git a/projecthandler/template/project/projectlist.html b/projecthandler/template/project/projectlist.html
index 85abb59..ed8b583 100644
--- a/projecthandler/template/project/projectlist.html
+++ b/projecthandler/template/project/projectlist.html
@@ -47,9 +47,7 @@
<th>Modification Date</th>
<th>Creation Date</th>
-
-
- <th><i class="far fa-trash-alt"></i></th>
+ <th>Actions</th>
</tr>
</thead>
<tbody>
@@ -63,8 +61,22 @@
<td>{{ p|get_sub:"_admin,modified"|get_date}}</td>
<td>{{ p|get_sub:"_admin,created"|get_date}}</td>
- <td><a href="javascript:deleteProject('{% url 'projects:delete_project' %}')"> Delete</a></td>
-
+ <td>
+ <div class="btn-group">
+ <button type="button" class="btn btn-default dropdown-toggle"
+ data-toggle="dropdown" aria-expanded="false">Actions
+ <span class="fa fa-caret-down"></span></button>
+ <ul class="dropdown-menu">
+ <li><a href="#"
+ onclick="javascript:editProject('{% url 'projects:edit_project' project_id=p.name %}')">
+ <i class="fa fa-edit"></i> Rename</a></li>
+ <li>
+ <a href="#" onclick="javascript:deleteProject('{% url 'projects:delete_project' project_id=p.name%}')" style="color:red">
+ <i class="fa fa-trash" ></i> Delete</a>
+ </li>
+ </ul>
+ </div>
+ </td>
</tr>
{% endfor %}
</tbody>
@@ -74,7 +86,8 @@
</div>
</div>
-{% include "modal/new_project.html" %}
+{% include "modal/project_new.html" %}
+{% include "modal/project_edit.html" %}
{% endblock %}
{% block resource_block %}
@@ -84,6 +97,11 @@
$('#modal_new_project').modal('show');
}
+ function editProject(url){
+ $("#formEditProject").attr("action", url);
+ $('#modal_edit_project').modal('show');
+ }
+
function deleteProject(url) {
bootbox.confirm("Are you sure want to delete?", function (result) {
if (result) {
diff --git a/projecthandler/urls/project.py b/projecthandler/urls/project.py
index e0395c8..9d653b6 100644
--- a/projecthandler/urls/project.py
+++ b/projecthandler/urls/project.py
@@ -21,8 +21,9 @@
url(r'^$', views.open_project, name='open_project'),
url(r'^list/', views.user_projects, name='projects_list'),
url(r'^new/', views.create_new_project, name='new_project'),
- url(r'^delete$', views.delete_project, name='delete_project'),
- url(r'^switch/(?P<project_id>\w+)', views.switch_project, name='switch_project'),
+ url(r'^(?P<project_id>\w+)/delete$', views.delete_project, name='delete_project'),
+ url(r'^(?P<project_id>\w+)/switch', views.switch_project, name='switch_project'),
+ url(r'^(?P<project_id>\w+)/edit', views.edit_project, name='edit_project'),
url(r'^descriptors/(?P<descriptor_type>\w+)/list$', views.show_descriptors, name='list_descriptors'),
url(r'^descriptors/(?P<descriptor_type>\w+)/(?P<descriptor_id>[-\w]+)(/$)',
views.edit_descriptor, name='edit_descriptor'),
diff --git a/projecthandler/views.py b/projecthandler/views.py
index 0f0cf6c..0f4248a 100644
--- a/projecthandler/views.py
+++ b/projecthandler/views.py
@@ -281,9 +281,9 @@
@login_required
-def delete_project(request):
+def delete_project(request, project_id):
user = osmutils.get_user(request)
- project_id = user.project_id
+
client = Client()
result = client.project_delete(user.get_token(), project_id)
if isinstance(result, dict) and 'error' in result and result['error']:
@@ -302,6 +302,23 @@
@login_required
+def edit_project(request, project_id):
+ if request.method == 'POST':
+ user = osmutils.get_user(request)
+ client = Client()
+ project_dict = request.POST.dict()
+ keys = ["name"]
+ project_data = dict(filter(lambda i: i[0] in keys and len(i[1]) > 0, project_dict.items()))
+ result = client.project_edit(user.get_token(), project_id, project_data)
+ if isinstance(result, dict) and 'error' in result and result['error']:
+ print result
+ 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)
+
+
+@login_required
def show_descriptors(request, descriptor_type=None):
user = osmutils.get_user(request)
project_id = user.project_id