source: indico/indico/MaKaC/webinterface/tpls/EventLocationInfo.tpl @ d2e018

hello-world-walkthroughipv6v0.98-seriesv0.98.2v0.98.3v0.98b2v0.99v1.0v1.1
Last change on this file since d2e018 was 138bf2, checked in by Jose Benito <jose.benito.gonzalez@…>, 3 years ago

[FIX] Room booking in timetable

  • booked rooms are now displayed at the very top of the dropdown list in the roombooking widget
  • if there's a collision in roombooking (selected room is already booked in this event at the same time) name of the room turns red, otherwise it's green.
  • checking collision is affected by changes of the contribution time
  • room and location can be edited in timetable management popups
  • room booking widget is now positioned by css, not by table, to avoid IE problem with colspan atrribute
  • room inheritance problems with session slots were solved - fossils were modified, parent's room is displayed properly
  • interface improvements in inline room/location edit in timetable popups
  • entry in user guide added
  • user is inform when trying to use rooms outside their booking time
  • session intervals are also taken into account while checking room availabilty
  • contribution data modification website now works correctly for intervals - contribution id wasn't passed correctly
  • dateField widget now informs about state changes while clicking at the calendar
  • icons in popups added
  • booked rooms are separated from the rest in a room list widget
  • some colors changed
  • roombooking widget works fine while roombooking module is deactiveted
  • repetetive bookings working correctly
  • creating new booking in contributon listing fixed
  • fix#472
  • Property mode set to 100644
File size: 2.3 KB
Line 
1<% import MaKaC %>
2<% import simplejson %>
3
4<tr>
5  <td class="titleCellTD"><span class="titleCellFormat"><%= _("Place")%></span></td>
6
7  <td>
8    <div id ="roomChooser"></div>
9  </td>
10</tr>
11
12
13<script type="text/javascript">
14
15  <% if modifying: %>
16    var info = $O(<%= jsonEncode(roomInfo(event, level='own')) %>);
17  <% end %>
18  <% else: %>
19    var info = $O();
20  <% end %>
21
22  var parentEvt =
23  <% if showParent: %>
24    $O(<%= jsonEncode(parentRoomInfo) %>)
25  <% end %>
26  <% else: %>
27    false
28  <% end %>;
29
30  IndicoUI.executeOnLoad(function() {
31
32  <% if self._rh._target and not isinstance(self._rh._target, MaKaC.conference.Category): %>
33    <% eventFavorites = self._rh._target.getConference().getFavoriteRooms() %>
34  <% end %>
35  <% else: %>
36    <% eventFavorites = [] %>
37  <% end %>
38
39  <% if conf: %>
40      var ttdata = <%= simplejson.dumps(MaKaC.schedule.ScheduleToJson.process(conf.getSchedule(), conf.getTimezone(), None,
41                                                                                days = None, mgmtMode = True)) %> ;
42      <% from MaKaC.common.Conversion import Conversion %>
43      var bookedRooms = <%= Conversion.reservationsList(conf.getRoomBookingList()) %>;
44      rbWidget = new RoomBookingReservationWidget(Indico.Data.Locations, info, parentEvt, nullRoomInfo(info), <%= eventFavorites %>, <% if modifying: %>null<%end%><%else:%>Indico.Data.DefaultLocation<%end%>, bookedRooms, ttdata, null, "<%= eventId %>");
45  <% end %>
46  <% else: %>
47      rbWidget = new RoomBookingWidget(Indico.Data.Locations, info, parentEvt, nullRoomInfo(info), <%= eventFavorites %>, <% if modifying: %>null<%end%><%else:%>Indico.Data.DefaultLocation<%end%>);
48  <% end %>
49
50  var domContent = rbWidget.draw();
51
52  $E('roomChooser').set(domContent);
53
54  rbWidget.postDraw();
55
56  });
57
58  function injectValuesInForm(form, otherActions) {
59
60     form.observeEvent('submit', function() {
61        each({'room': 'roomName','location': 'locationName', 'address': 'locationAddress'},
62             function(val, key) {
63               // prevent problem with back button
64               var input = $E('jsGenerated_'+key) || Html.input('hidden', {id: 'jsGenerated_'+key, name: val});
65               if (info.get(key) != null) {
66                   input.set(info.get(key));
67                   form.append(input);
68               }
69             });
70        if (otherActions) {
71           return otherActions();
72        }
73      });
74
75    };
76
77
78</script>
Note: See TracBrowser for help on using the repository browser.