Implement Booking Modification Interface
[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                             {% endbuttons %}
57                         </form>
58                     </div>
59                     <div id="booking_edit_form_div">
60                         {% bootstrap_form_errors form type='non_fields' %}
61                         <form method="post" action="" class="form" id="bookingeditform">
62                             {% csrf_token %}
63
64                             <div class='input-group' id='starttimeeditpicker'>
65                                 {% bootstrap_field form.start addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
66                             </div>
67                             <div class='input-group' id='endtimeeditpicker'>
68                                 {% bootstrap_field form.end addon_after='<span class="glyphicon glyphicon-calendar"></span>' %}
69                             </div>
70                             {% bootstrap_field form.purpose %}
71                             {% bootstrap_field form.installer %}
72                             {% bootstrap_field form.scenario %}
73                             {% bootstrap_field form.reset %}
74                             {% buttons %}
75                                 <button type="submit" class="btn btn btn-success">
76                                     Confirm Edit
77                                 </button>
78                             {% endbuttons %}
79                         </form>
80                     </div>
81                 {% else %}
82                     <p>Please
83                         <a href="{% url 'account:login' %}">
84                             login with Jira</a>
85                         to book this Pod</p>
86                 {% endif %}
87             </div>
88         </div>
89     </div>
90
91     <div id="booking_detail_modal" class="modal fade" role="dialog">
92         <div class="modal-dialog">
93
94             <!-- Modal content-->
95             <div class="modal-content">
96                 <div class="modal-header">
97                     <button type="button" class="close" data-dismiss="modal">&times;</button>
98                     <h4 class="modal-title">Booking Detail</h4>
99                 </div>
100                 <div class="modal-body" id="booking_detail_content">
101                 </div>
102                 <div class="modal-footer">
103                     <button type="button" class="btn btn-default" data-dismiss="modal">Close
104                     </button>
105                 </div>
106             </div>
107
108         </div>
109     </div>
110 {% endblock content %}
111
112 {% block extrajs %}
113     <script type="text/javascript">
114         var bookings_url = "{% url 'booking:bookings_json' resource_id=resource.id %}";
115         var booking_detail_prefix = "{% url 'booking:detail_prefix' %}";
116         var user_timezone = "{{ request.user.userprofile.timezone }}"
117     </script>
118
119     <script src={% static "bower_components/moment/moment.js" %}></script>
120     <script src={% static "bower_components/fullcalendar/dist/fullcalendar.js" %}></script>
121     <script type="text/javascript"
122             src={% static "bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js" %}></script>
123     <script src={% static "js/fullcalendar-options.js" %}></script>
124     <script src={% static "js/datetimepicker-options.js" %}></script>
125     <script src={% static "js/booking-calendar.js" %}></script>
126 {% endblock extrajs %}