b60db3c7fe034d15be2df0fa9b2a593d86892cf2
[pharos-tools.git] / dashboard / src / templates / booking / booking_calendar.html
1 {% extends "base.html" %}
2 {% load staticfiles %}
3
4 {% load bootstrap3 %}
5
6 {% block extrahead %}
7     <link href="{% static "bower_components/fullcalendar/dist/fullcalendar.css" %}"
8           rel='stylesheet'/>
9     <link href="{% static "bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" %}"
10           rel='stylesheet'/>
11 {% endblock extrahead %}
12
13 {% block content %}
14     <div class="col-lg-8">
15         <div class="container-fluid">
16             <div class="panel panel-default">
17                 <div class="panel-heading">
18                     <i class="fa fa-calendar fa-fw"></i>Calendar
19                 </div>
20                 <div class="panel-body">
21                     <div id='calendar'>
22                     </div>
23                 </div>
24                 <!-- /.panel-body -->
25             </div>
26             <!-- /.panel -->
27         </div>
28     </div>
29
30     <div class="col-lg-4">
31         <div class="panel panel-default">
32             <div class="panel-heading">
33                 <i class="fa fa-edit fa-fw"></i>Booking
34             </div>
35             <div class="panel-body">
36                 {% if user.is_authenticated %}
37                     <div id="booking_form_div">
38                         {% bootstrap_form_errors form type='non_fields' %}
39                         <form method="post" action="" class="form" id="bookingform">
40                             {% csrf_token %}
41
42                             <div class='input-group' id='starttimepicker'>
43                                 {% bootstrap_field form.start addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
44                             </div>
45                             <div class='input-group' id='endtimepicker'>
46                                 {% bootstrap_field form.end addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
47                             </div>
48                             {% bootstrap_field form.opsys %}
49                             {% bootstrap_field form.purpose %}
50                             {% bootstrap_field form.installer %}
51                             {% bootstrap_field form.scenario %}
52                             {% buttons %}
53                                 <button type="submit" class="btn btn btn-success">
54                                     Book
55                                 </button>
56                                 <p>
57                                     <br>By continuing, you agree to our
58                                 <a href="https://wiki.opnfv.org/display/INF/Lab-as-a-Service+at+the+UNH-IOL#Lab-as-a-ServiceattheUNH-IOL-AcceptableUsagePolicy">Acceptable Usage Policy</a>
59                                 </p>
60                             {% endbuttons %}
61                         </form>
62                     </div>
63                     <div id="booking_edit_form_div">
64                         {% bootstrap_form_errors form type='non_fields' %}
65                         <form method="post" action="" class="form" id="bookingeditform">
66                             {% csrf_token %}
67                             <div id='hide_if_noext'>
68                             <div class='input-group' id='starttimeeditpicker'>
69                                 {% bootstrap_field form.start addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
70                             </div>
71                             <div class='input-group' id='endtimeeditpicker'>
72                                 {% bootstrap_field form.end addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
73                             </div>
74                             </div>
75                             <script type="text/javascript">
76                                 if( {{ booking.ext_count }} <= 0 ){
77                                     var hidediv = document.getElementById('hide_if_noext');
78                                     hidediv.style.display = 'none';
79                                     var par = document.createElement("div");
80                                     var text = document.createTextNode("No Extensions Remaining");
81                                     par.appendChild(text);
82                                     par.style.fontWeight = 'bold';
83                                     par.style.paddingBottom = '15pt';
84                                     hidediv.parentNode.insertBefore(par,hidediv.nextSibling);
85                                 }
86                             </script>
87                             {% bootstrap_field form.purpose %}
88                             {% bootstrap_field form.installer %}
89                             {% bootstrap_field form.scenario %}
90                             {% bootstrap_field form.reset %}
91                             {% buttons %}
92                                 <button type="submit" class="btn btn btn-success">
93                                     Confirm Edit
94                                 </button>
95                             {% endbuttons %}
96                         </form>
97                     </div>
98                 {% else %}
99                     <p>Please
100                         <a href="{% url 'account:login' %}">
101                             login with Jira</a>
102                         to book this Pod</p>
103                 {% endif %}
104             </div>
105         </div>
106     </div>
107
108     <div id="booking_detail_modal" class="modal fade" role="dialog">
109         <div class="modal-dialog">
110
111             <!-- Modal content-->
112             <div class="modal-content">
113                 <div class="modal-header">
114                     <button type="button" class="close" data-dismiss="modal">&times;</button>
115                     <h4 class="modal-title">Booking Detail</h4>
116                 </div>
117                 <div class="modal-body" id="booking_detail_content">
118                 </div>
119                 <div class="modal-footer">
120                     <button type="button" class="btn btn-default" data-dismiss="modal">Close
121                     </button>
122                 </div>
123             </div>
124
125         </div>
126     </div>
127 {% endblock content %}
128
129 {% block extrajs %}
130     <script type="text/javascript">
131         var bookings_url = "{% url 'booking:bookings_json' resource_id=resource.id %}";
132         var booking_detail_prefix = "{% url 'booking:detail_prefix' %}";
133         var booking_delete_prefix = "{% url 'booking:delete_prefix' %}";
134         var user_timezone = "{{ request.user.userprofile.timezone }}"
135     </script>
136
137     <script src={% static "bower_components/moment/moment.js" %}></script>
138     <script src={% static "bower_components/fullcalendar/dist/fullcalendar.js" %}></script>
139     <script type="text/javascript"
140             src={% static "bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js" %}></script>
141     <script src={% static "js/fullcalendar-options.js" %}></script>
142     <script src={% static "js/datetimepicker-options.js" %}></script>
143     <script src={% static "js/booking-calendar.js" %}></script>
144 {% endblock extrajs %}