1 {% extends "base.html" %}
3 <div class="card_container">
4 {% for resource in resources %}
5 <div class="detail_card">
7 <h3>Resource {{resource.id}}</h3>
8 <ul class="list-group">
9 <li class="list-group-item">id: {{resource.id}}</li>
10 <li class="list-group-item">name: {{resource.name}}</li>
11 <li class="list-group-item">description: {{resource.description}}</li>
14 <div class="detail_button_container">
16 class="btn btn-danger"
17 onclick='delete_resource({{resource.id}});'
19 data-target="#resModal"
26 var grb_mapping = {{grb_mapping|safe|default:"{}"}};
27 var booking_mapping = {{booking_mapping|safe|default:"{}"}};
28 var current_resource_id = -1;
29 function delete_resource(resource_id) {
30 document.getElementById("confirm_delete_button").removeAttribute("disabled");
31 var configs = grb_mapping[resource_id];
32 var warning = document.createTextNode("Are You Sure?");
33 var warning_subtext = document.createTextNode("This cannot be undone");
34 if(booking_mapping[resource_id]){
35 var warning = document.createTextNode("This resource is being used. It cannot be deleted.");
36 var warning_subtext = document.createTextNode("If your booking just ended, you may need to give us a few minutes to clean it up before this can be removed.");
38 document.getElementById("confirm_delete_button").disabled = true;
40 else if(configs.length > 0) {
41 list_configs(configs);
42 warning_text = "Are You Sure? The following Configurations will also be deleted.";
43 warning = document.createTextNode(warning_text);
46 current_resource_id = resource_id;
47 set_modal_text(warning, warning_subtext);
50 function set_modal_text(title, text) {
51 var clear = function(node) {
52 while(node.lastChild) {
53 node.removeChild(node.lastChild);
56 var warning_title = document.getElementById("config_warning");
57 var warning_text = document.getElementById("warning_subtext");
62 warning_title.appendChild(title);
63 warning_text.appendChild(text);
64 document.getElementById('modal_warning').style['max-height'] = '0px';
67 function list_configs(configs) {
68 var list = document.getElementById("config_list");
69 for(var i=0; i<configs.length; i++){
70 var str = configs[i].name;
71 var list_item = document.createElement("LI");
72 list_item.appendChild(document.createTextNode(str));
73 list.appendChild(list_item);
77 function submit_delete_form() {
78 var ajaxForm = $("#res_delete_form");
79 var formData = ajaxForm.serialize();
80 req = new XMLHttpRequest();
81 var url = "delete/" + current_resource_id;
82 req.open("POST", url, true);
83 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
84 req.onerror = function() { alert("problem submitting form"); }
88 <div class="modal fade" id="resModal" tabindex="-1" role="dialog" aria-labelledby="my_modal" aria-hidden="true">
89 <div class="modal-dialog" style="width: 450px;" role="document">
90 <div class="modal-content">
91 <div class="modal-header">
92 <h4 class="modal-title" id="my_modal" style="display: inline; float: left;">Delete Resource?</h4>
93 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
94 <span aria-hidden="true">×</span>
97 <form id="res_delete_form">
100 <div class="modal-footer">
101 <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
102 <button type="button" class="btn btn-primary" onclick="document.getElementById('modal_warning').style['max-height'] = '500px';">Delete</button>
104 <div id="modal_warning" class="modal-footer" style="max-height:0px;" >
105 <div style="text-align:center; margin: 5px">
106 <h3 id="config_warning">Are You Sure?</h3>
107 <p id="warning_subtext">This cannot be undone</p>
108 <ul id="config_list"></ul>
109 <button class="btn" onclick="document.getElementById('modal_warning').style['max-height'] = '0px';">Nevermind</button>
110 <button class="btn btn-danger" id="confirm_delete_button" data-dismiss="modal" onclick="submit_delete_form();">I'm Sure</button>