Skip to content

Instantly share code, notes, and snippets.

@arthursoares
Last active August 29, 2015 14:02
Show Gist options
  • Save arthursoares/3b5b33c999a3ece4ff99 to your computer and use it in GitHub Desktop.
Save arthursoares/3b5b33c999a3ece4ff99 to your computer and use it in GitHub Desktop.
resources.htm
{% extends master.master %}
{% block content %}
<div id="wrapper">
<!-- CONTAINER -->
<div id="main" class="container">
<!-- BREADCRUMB -->
<ul class="breadcrumb">
<li><a href="{% Url PublicHome, Index %}">{% T Home %}</a> <span class="divider">/</span></li>
<li class="active">{% T Space resources %}</li>
</ul>
<!-- END BREADCRUMB -->
<div class="row">
<!-- CONTENT -->
<section id="content" class="span9">
{% for resource in data.Resources %}
<article class="post" style="min-height: 285px">
<h2 class="page-title"><a href="{% Url PublicResources, Details, id: resource.Id, name: resource.Name | Clean %}">{{ resource.Name }}</a></h2>
<!-- POST CONTENT -->
<div class="body-content">
<div class="row-fluid">
{% if resource.HasImage %}
<div class="span3">
<a href="{% Url PublicResources, Details, id: resource.Id, name: resource.Name | Clean %}" class="thumbnail pull-left">
<img style="width: 100%" data-large-image="{% Url PublicResources, GetImage, id: resource.Id, h: 800, w: 800 %}" src="{% Url PublicResources, GetImage, id: resource.Id, h: 200, w: 200 %}" alt="{{ resource.Name }}" class="entry-image" />
</a>
<div class="clearfix"></div>
</div>
{% endif %}
<div class="{% if resource.HasImage %}span9{% else %}span12{% endif %}">
<p>{{ resource.Description }}</p>
<p>
<a href="{% Url PublicResources, Details, id: resource.Id, name: resource.Name | Clean %}">{% T View more details %}</a>
|
<a href="javascript: window.prompt('{{ resource.Name }}. Calendar URL:','http://{{ data.Domain }}{% Url Feeds, ResourceBookings, guid: resource.UniqueId %}'); return false;">{% T Calendar Feed %}</a>
</p>
</div>
</div>
</div>
<div class="row">
<div class="span9">
<p class="resource_features">
{% if resource.Allocation > 0 %}
<span class="btn btn-grey">
<strong>{{resource.Allocation}}</strong>
<span aria-hidden="true" class="icon i-16 icon-user"></span>
</span>
{% endif %}
{% if resource.Projector %}
<span data-toggle="popover" data-placement="top" data-content="{% T Projector %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-camera-2"></span></span>
{% endif %}
{% if resource.Internet %}
<span data-toggle="popover" data-placement="top" data-content="{% T Internet %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-globe"></span></span>
{% endif %}
{% if resource.ConferencePhone %}
<span data-toggle="popover" data-placement="top" data-content="{% T Conference phone %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-tree"></span></span>
{% endif %}
{% if resource.StandardPhone %}
<span data-toggle="popover" data-placement="top" data-content="{% T Phone %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-phone"></span></span>
{% endif %}
{% if resource.WhiteBoard %}
<span data-toggle="popover" data-placement="top" data-content="{% T Whiteboard / flipboard %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-signup"></span></span>
{% endif %}
{% if resource.LargeDisplay %}
<span data-toggle="popover" data-placement="top" data-content="{% T Large display %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-screen"></span></span>
{% endif %}
{% if resource.Catering %}
<span data-toggle="popover" data-placement="top" data-content="{% T Catering %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-food"></span></span>
{% endif %}
{% if resource.TeaAndCoffee %}
<span data-toggle="popover" data-placement="top" data-content="{% T Tea and coffee %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-mug"></span></span>
{% endif %}
{% if resource.Drinks %}
<span data-toggle="popover" data-placement="top" data-content="{% T Drinks %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-glass"></span></span>
{% endif %}
{% if resource.SecurityLock %}
<span data-toggle="popover" data-placement="top" data-content="{% T Lock %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-lock"></span></span>
{% endif %}
{% if resource.CCTV %}
<span data-toggle="popover" data-placement="top" data-content="{% T CCTV %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-camera-2"></span></span>
{% endif %}
{% if resource.VoiceRecorder %}
<span data-toggle="popover" data-placement="top" data-content="{% T Voice recorder %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-radio-checked"></span></span>
{% endif %}
{% if resource.AirConditioning %}
<span data-toggle="popover" data-placement="top" data-content="{% T Air conditioning %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-dashboard"></span></span>
{% endif %}
{% if resource.Heating %}
<span data-toggle="popover" data-placement="top" data-content="{% T Heating %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-dashboard"></span></span>
{% endif %}
{% if resource.NaturalLight %}
<span data-toggle="popover" data-placement="top" data-content="{% T Natural light %}" data-trigger="hover" class="btn btn-grey"><span aria-hidden="true" class="icon i-16 icon-brightness-medium"></span></span>
{% endif %}
</p>
</div>
</div>
<div class="row">
<div class="span9">
<div class="well text-center">
{% if data.Coworker != null %}
<a href="#" onclick="$('#Booking_Resource').val({{ resource.Id }});createBooking(new Date());return false;" class="btn btn-orange">{% T Make a booking %}</a>
{% else %}
<a href="{% Url Login, Index, lang: data.Language %}&returnUrl={% Url PublicResources, Details, id: resource.Id, name: resource.Name | Clean %}" class="btn btn-orange">{% T Login to make a booking %}</a>
{% endif %}
</div>
</div>
</div>
<!-- END POST CONTENT -->
</article>
{% endfor %}
</section>
<!-- END CONTENT -->
<!-- SIDEBAR -->
<aside id="sidebar-right" class="span3">
<!-- WIDGET FLICKR -->
<div class="widget widget-flickr">
<div class="widget-title">
<h3>{% T Flickr Feed %}</h3>
</div>
<div class="widget-body">
<ul>
</ul>
</div>
</div>
<!-- END WIDGET FLICKR -->
<!-- WIDGET FLICKR -->
<div class="widget widget-flickr">
<div class="widget-title">
<h3>{% T Twitter feed %}</h3>
</div>
<div class="widget-body">
{% if data.Setting_Social_Twitter != "" %}
<a class="twitter-timeline" data-tweet-limit="5" data-chrome="noheader nofooter noborders" href="https://twitter.com/twitterapi" data-widget-id="{% Setting Social.Twitter %}"></a>
{% else %}
<div class="well no-content text-center">
<span aria-hidden="true" class="icon i-48 icon-twitter-2"></span>
<p><strong><a target="_blank" href="https://spaces.nexudus.com/Settings">{% T Click here to setup Twitter %}</a></strong></p>
</div>
{% endif %}
</div>
</div>
<!-- END WIDGET FLICKR -->
</aside>
<!-- END SIDEBAR -->
</div>
</div>
<!-- END CONTAINER -->
</div>
{% include booking.htm %}
{% endblock %}
{% block script %}
<script>
$(function () {
//init popovers
$('.resource_features span').popover();
var coeff = 1000 * 60 * 15;
//Initialize timepickers
$("#Booking_From").datetimepicker({ language: '{{ data.Language }}', format: "dd MM yyyy - HH:ii P", minuteStep: 15, showMeridian: true, autoclose: true, todayBtn: true, startDate: '+0d' });
$("#Booking_To").datetimepicker({ language: '{{ data.Language }}', format: "dd MM yyyy - HH:ii P", minuteStep: 15, showMeridian: true, autoclose: true, todayBtn: true, startDate: '+0d', startView: 1 });
//If todate is > from date, move to date ahead
$('#Booking_From').on('changeDate', function () {
var fromDate = $('#Booking_From').datetimepicker('getDate');
var toDate = $('#Booking_To').datetimepicker('getDate');
//Round the date
fromDate = new Date(Math.round(fromDate.getTime() / coeff) * coeff);
$('#Booking_From').datetimepicker('setDate', fromDate);
$('#Booking_To').datetimepicker('setStartDate', fromDate);
if (fromDate > toDate)
$('#Booking_To').datetimepicker('setDate', fromDate);
checkBooking();
});
//If todate is > from date, move from date back
$('#Booking_To').on('changeDate', function () {
var fromDate = $('#Booking_From').datetimepicker('getDate');
var toDate = $('#Booking_To').datetimepicker('getDate');
//Round the date
toDate = new Date(Math.round(toDate.getTime() / coeff) * coeff);
$('#Booking_To').datetimepicker('setDate', toDate);
$('#Booking_From').datetimepicker('setEndDate', toDate);
if (fromDate > toDate) {
$('#Booking_From').datetimepicker('setDate', toDate);
}
checkBooking();
});
$('#modal_booking form').on("submit", function (event) {
var id = $('#booking_id').val();
var url;
if (id > 0)
url = '{% Url Bookings, BookingJson %}';
else
url = '{% Url Bookings, NewBookingJson %}';
var data = getBookingData();
postAndClose(url, data, function () { location.reload(true); });
event.preventDefault();
});
$('#delete-button').click(function () {
if (confirm('{% T Cancel this booking? %}')) {
var url = '{% Url Bookings, DeleteJson %}';
var id = $('#booking_id').val();
postAndClose(url, { id: id }, function () { location.reload(true); });
}
return false;
});
$('#Booking_Resource').attr('data-bind', 'event: { change: updateProducts }');
var loadProducts = function () {
var bid = $('#booking_id').val();
if (bid && bid > 0)
return $.post('/en/bookings/GetResourceProducts?bookingId=' + bid + '&resourceId=' + $('#Booking_Resource').val());
else
return $.post('/en/bookings/GetResourceProducts?resourceId=' + $('#Booking_Resource').val());
}
var mapData = function (data) {
return vm.bookingProducts = ko.mapping.fromJS(data);
}
var updateData = function (data) {
return vm.bookingProducts = ko.mapping.fromJS(data, vm.bookingProducts);
}
var applyBindings = function () {
return ko.applyBindings(vm);
}
var updateProducts = function () {
$.when(loadProducts())
.then(updateData)
.then(checkBooking);
}
vm = {
bookingProducts: ko.observableArray(),
updateProducts: updateProducts,
checkBooking: checkBooking
};
$.when(loadProducts())
.then(mapData)
.then(applyBindings);
});
</script>
{% endblock %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment