blob: 213c5b0eec8e9b1e5c1e1b53bd056938a6cdbd17 [file] [log] [blame]
lombardoffb37bca2018-05-03 16:20:04 +02001{% extends "base.html" %}
lombardofr480be482018-06-26 23:44:40 +02002{% load get %}
3{% load date_tag %}
lombardoffb37bca2018-05-03 16:20:04 +02004{% load staticfiles %}
5
6{% block head_block %}
7 {{ block.super }}
lombardofr45e33ee2018-07-18 19:22:37 +02008 <link rel="stylesheet" href="/static/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
lombardoffb37bca2018-05-03 16:20:04 +02009
10{% endblock %}
11{% block title_header_big %}
12 {{ block.super }}
13{% endblock %}
14{% block left_sidebar %}
15
lombardofr835a0b72018-07-18 15:26:16 +020016{% include 'osm/osm_project_left_sidebar.html' %}
lombardoffb37bca2018-05-03 16:20:04 +020017
18{% endblock %}
19
20
21{% block breadcrumb_body %}
22 {{ block.super }}
23 <li><a href="{% url 'projects:projects_list' %}">Projects</a></li>
24{% endblock %}
25
26{% block content_body %}
27 {{ block.super }}
28 {% csrf_token %}
29<div class="row">
30<div class="col-md-12">
31
32 <div class="box">
33 <div class="box-header with-border">
34 <h3 class="box-title">Projects</h3>
35 <div class="box-tools">
lombardofr480be482018-06-26 23:44:40 +020036 <button type="button" class="btn btn-default" data-container="body"
37 data-toggle="tooltip" data-placement="top" title="New Project"
38 onclick="javascript:showModalNewProject()">
39 <i class="fa fa-plus"></i> New Project</button>
lombardoffb37bca2018-05-03 16:20:04 +020040 </div>
41 </div>
42 <div class="box-body">
43 <table id="projects_table" class="table table-bordered table-striped">
44 <thead>
45 <tr>
46
47 <th>Name</th>
lombardofr480be482018-06-26 23:44:40 +020048
lombardoffb37bca2018-05-03 16:20:04 +020049 <th>Modification Date</th>
50 <th>Creation Date</th>
lombardofrbced6e62018-07-18 17:02:16 +020051 <th>Actions</th>
lombardoffb37bca2018-05-03 16:20:04 +020052 </tr>
53 </thead>
54 <tbody>
55 {% for p in projects %}
56 <tr>
57
58 <td>
lombardofr99f922f2018-07-17 17:27:36 +020059 <a href="/projects/switch/{{ p.name }}" >{{ p.name }}</a>
lombardoffb37bca2018-05-03 16:20:04 +020060 </td>
lombardoffb37bca2018-05-03 16:20:04 +020061
lombardofr480be482018-06-26 23:44:40 +020062 <td>{{ p|get_sub:"_admin,modified"|get_date}}</td>
63 <td>{{ p|get_sub:"_admin,created"|get_date}}</td>
64
lombardofrbced6e62018-07-18 17:02:16 +020065 <td>
66 <div class="btn-group">
67 <button type="button" class="btn btn-default dropdown-toggle"
68 data-toggle="dropdown" aria-expanded="false">Actions
69 <span class="fa fa-caret-down"></span></button>
70 <ul class="dropdown-menu">
71 <li><a href="#"
72 onclick="javascript:editProject('{% url 'projects:edit_project' project_id=p.name %}')">
73 <i class="fa fa-edit"></i> Rename</a></li>
74 <li>
75 <a href="#" onclick="javascript:deleteProject('{% url 'projects:delete_project' project_id=p.name%}')" style="color:red">
76 <i class="fa fa-trash" ></i> Delete</a>
77 </li>
78 </ul>
79 </div>
80 </td>
lombardoffb37bca2018-05-03 16:20:04 +020081 </tr>
82 {% endfor %}
83 </tbody>
84 </table>
85 </div>
86 </div>
87</div>
88
89</div>
lombardofrbced6e62018-07-18 17:02:16 +020090{% include "modal/project_new.html" %}
91{% include "modal/project_edit.html" %}
lombardoffb37bca2018-05-03 16:20:04 +020092{% endblock %}
93
94{% block resource_block %}
95 {{ block.super }}
lombardofr45e33ee2018-07-18 19:22:37 +020096 <script src="/static/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
97 <script src="/static/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
98
99 <script>
100 $(document).ready( function () {
101 $('#projects_table').DataTable();
102 } );
103 </script>
lombardofr480be482018-06-26 23:44:40 +0200104 <script>
105 function showModalNewProject(){
106 $('#modal_new_project').modal('show');
107 }
lombardoffb37bca2018-05-03 16:20:04 +0200108
lombardofrbced6e62018-07-18 17:02:16 +0200109 function editProject(url){
110 $("#formEditProject").attr("action", url);
111 $('#modal_edit_project').modal('show');
112 }
113
lombardofr480be482018-06-26 23:44:40 +0200114 function deleteProject(url) {
115 bootbox.confirm("Are you sure want to delete?", function (result) {
116 if (result) {
117 $.ajax({
118 url: url,
119 type: 'GET',
120 headers: {
121 "Accept": 'application/json'
122 },
123 contentType: false,
124 processData: false
125 }).done(function (response,textStatus, jqXHR) {
126
127 bootbox.alert({
128 title: "Result",
129 message: "Project deleted.",
130 callback: function () {
131 location.reload();
132 }
133 });
134 }).fail(function(result){
135 var data = result.responseJSON;
136 var title = "Error " + (data.code ? data.code: 'unknown');
137 var message = data.detail ? data.detail: 'No detail available.';
138 bootbox.alert({
139 title: title,
140 message: message
141 });
142 });
143 }
144 })
145 }
146
147 $(document).ready(function () {
148 $("#formNewProject").submit(function (event) {
149 event.preventDefault(); //prevent default action
150 var post_url = $(this).attr("action"); //get form action url
151 var request_method = $(this).attr("method"); //get form GET/POST method
152 var form_data = new FormData(this); //Encode form elements for submission
153 console.log(post_url);
154 $.ajax({
155 url: post_url,
156 type: request_method,
157 data: form_data,
158 headers: {
159 "Accept": 'application/json'
160 },
161 contentType: false,
162 processData: false
163 }).done(function (response,textStatus, jqXHR) {
164 bootbox.alert({
165 title: "Result",
166 message: "Project created.",
167 callback: function () {
168 location.reload();
169 }
170 });
171 }).fail(function(result){
172 var data = result.responseJSON;
173 var title = "Error " + (data.code ? data.code: 'unknown');
174 var message = data.detail ? data.detail: 'No detail available.';
175 bootbox.alert({
176 title: title,
177 message: message
178 });
179 });
180 });
181 });
182
183
184
185
186 </script>
lombardoffb37bca2018-05-03 16:20:04 +0200187
188
189{% endblock %}