e56b19ed96b1b4a42dda573b9c64e6aa0af03574
[pharos-tools.git] / dashboard / src / templates / account / booking_list.html
1 {% extends "base.html" %}
2 {% block content %}
3 <h2>Bookings I Own</h2>
4     <div class="card_container">
5     {% for booking in bookings %}
6         <div class="detail_card">
7             <div>
8                 <h3>Booking {{booking.id}}</h3>
9                 <ul class="list-group">
10                     <li class="list-group-item">id: {{booking.id}}</li>
11                     <li class="list-group-item">lab: {{booking.resource.template.lab.lab_user.username}}</li>
12                     <li class="list-group-item">resource: {{booking.resource.template.name}}</li>
13                     <li class="list-group-item">start: {{booking.start}}</li>
14                     <li class="list-group-item">end: {{booking.end}}</li>
15                     <li class="list-group-item">purpose: {{booking.purpose}}</li>
16                 </ul>
17             </div>
18             <div class="detail_button_container">
19                 <a class="btn btn-primary" href="/booking/detail/{{booking.id}}/">Details</a>
20                 <button
21                     class="btn btn-danger"
22                     onclick='cancel_booking({{booking.id}});'
23                     data-toggle="modal"
24                     data-target="#resModal"
25                 >Cancel</button>
26             </div>
27         </div>
28     {% endfor %}
29     </div>
30 <h2>Bookings I Collaborate On</h2>
31     <div class="card_container">
32     {% for booking in collab_bookings %}
33         <div class="detail_card">
34             <div>
35                 <h3>Booking {{booking.id}}</h3>
36                 <ul class="list-group">
37                     <li class="list-group-item">id: {{booking.id}}</li>
38                     <li class="list-group-item">lab: {{booking.lab}}</li>
39                     <li class="list-group-item">resource: {{booking.resource_name}}</li>
40                     <li class="list-group-item">start: {{booking.start}}</li>
41                     <li class="list-group-item">end: {{booking.end}}</li>
42                     <li class="list-group-item">purpose: {{booking.purpose}}</li>
43                 </ul>
44             </div>
45             <a class="btn btn-primary" href="/booking/detail/{{booking.id}}/">Details</a>
46         </div>
47     {% endfor %}
48     </div>
49
50 <script>
51     var current_booking_id = -1;
52     function cancel_booking(booking_id) {
53         current_booking_id = booking_id;
54         document.getElementById('modal_warning').style['max-height'] = '0px';
55     }
56
57     function submit_cancel_form() {
58         var ajaxForm = $("#booking_cancel_form");
59         var formData = ajaxForm.serialize();
60         req = new XMLHttpRequest();
61         var url = "cancel/" + current_booking_id;
62         req.open("POST", url, true);
63         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
64         req.onerror = function() { alert("problem submitting form"); }
65         req.send(formData);
66     }
67 </script>
68 <div class="modal fade" id="resModal" tabindex="-1" role="dialog" aria-labelledby="my_modal" aria-hidden="true">
69     <div class="modal-dialog" style="width: 450px;" role="document">
70         <div class="modal-content">
71             <div class="modal-header">
72                 <h4 class="modal-title" id="my_modal" style="display: inline; float: left;">Cancel Booking?</h4>
73                 <p>Everthing on your machine(s) will be lost</p>
74                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
75                     <span aria-hidden="true">&times;</span>
76                 </button>
77             </div>
78             <form id="booking_cancel_form">
79                 {% csrf_token %}
80             </form>
81             <div class="modal-footer">
82                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
83                 <button type="button" class="btn btn-primary" onclick="document.getElementById('modal_warning').style['max-height'] = '500px';">Cancel Booking</button>
84             </div>
85             <div id="modal_warning" class="modal-footer" style="max-height:0px;" >
86                 <div style="text-align:center; margin: 5px">
87                     <h3>Are You Sure?</h3>
88                     <p>This cannot be undone</p>
89                     <button class="btn" onclick="document.getElementById('modal_warning').style['max-height'] = '0px';">Nevermind</button>
90                     <button class="btn btn-danger" id="confirm_cancel_button" data-dismiss="modal" onclick="submit_cancel_form();">I'm Sure</button>
91                 </div>
92             </div>
93         </div>
94     </div>
95 </div>
96 {% endblock %}