Skip to content

Commit

Permalink
Merge pull request #583 from xzzy/master
Browse files Browse the repository at this point in the history
Mooring Bug Fixes
  • Loading branch information
dbca-asi committed Apr 15, 2019
2 parents b96bd73 + 134c7ab commit 9090b61
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 11 deletions.
25 changes: 21 additions & 4 deletions mooring/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -602,18 +602,20 @@ def delete_booking(request, *args, **kwargs):
response_data = {}
response_data['result'] = 'success'
response_data['message'] = ''
nowtime = datetime.strptime(str(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')), '%Y-%m-%d %H:%M:%S')+timedelta(hours=8)
booking = None
booking_item = request.POST['booking_item']
if 'ps_booking' in request.session:
booking_id = request.session['ps_booking']
if booking_id:
booking = Booking.objects.get(id=booking_id)
ms_booking = MooringsiteBooking.objects.get(id=booking_item,booking=booking)
if ms_booking.from_dt.date() > datetime.now().date():
ms_booking.delete()
msb = datetime.strptime(str(ms_booking.from_dt.strftime('%Y-%m-%d %H:%M:%S')), '%Y-%m-%d %H:%M:%S')+timedelta(hours=8)
if msb > nowtime:
ms_booking.delete()
else:
response_data['result'] = 'error'
response_data['message'] = 'Unable to delete booking'
response_data['result'] = 'error'
response_data['message'] = 'Unable to delete booking'
return HttpResponse(json.dumps(response_data), content_type='application/json')

@csrf_exempt
Expand Down Expand Up @@ -1707,6 +1709,19 @@ def distance(self,origin, destination):

return distance

def distance_meters(self,origin, destination):
lat1, lon1 = origin
lat2, lon2 = destination
radius = 6372800 # meters

dlon = lon2 - lon1
dlat = lat2 - lat1
a = (math.sin(dlat/2))**2 + math.cos(lat1) * math.cos(lat2) * (math.sin(dlon/2))**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
distance = radius * c / 100 * 1.60934

return distance

def retrieve(self, request, pk=None, ratis_id=None, format=None, show_all=False):
"""Fetch full campsite availability for a campground."""
# convert GET parameters to objects
Expand Down Expand Up @@ -2005,6 +2020,7 @@ def retrieve(self, request, pk=None, ratis_id=None, format=None, show_all=False)
# make an entry under sites for each site
for k, v in sites_map.items():
distance_from_selection = round(self.distance(ground.wkb_geometry,k.mooringarea.wkb_geometry),2)
distance_from_selection_meters = round(self.distance_meters(ground.wkb_geometry,k.mooringarea.wkb_geometry),0)
availability_map = []
date_rotate = start_date
for i in range(length):
Expand Down Expand Up @@ -2054,6 +2070,7 @@ def retrieve(self, request, pk=None, ratis_id=None, format=None, show_all=False)
'class': v[1].pk,
'price' : '0.00',
'distance_from_selection': distance_from_selection,
'distance_from_selection_meters': distance_from_selection_meters,
'availability': availability_map,
'gearType': {
'tent': v[3],
Expand Down
7 changes: 6 additions & 1 deletion mooring/frontend/availability2/src/availability.vue
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@
Vessel Details
<input type="button" class="button formButton" value="Details ▼" data-toggle="measurements-dropdown"/>
</label>
<div style='position: relative;'>
<div class="dropdown-pane" id="measurements-dropdown" data-dropdown data-auto-focus="true">
<div class="row">
<div class="small-6 columns">
Expand Down Expand Up @@ -175,12 +176,14 @@
</div>
</div>
</div>
</div>
</div>
<div class="small-6 medium-6 large-2 columns" >
<label>
Guests
<input type="button" class="button formButton" v-bind:value="numPeople" data-toggle="guests-dropdown"/>
</label>
<div style='position: relative;'>
<div class="dropdown-pane" id="guests-dropdown" data-dropdown data-auto-focus="true">
<div class="row">
<div class="small-6 columns">
Expand Down Expand Up @@ -218,6 +221,7 @@
</div>
</div>
</div>
</div>
</div>
<div class="columns small-6 medium-6 large-2">
<label title="Distance to search from the original selected mooring.">Distance (radius KMs)
Expand Down Expand Up @@ -256,7 +260,8 @@
<tbody><template v-for="(site, index) in sites" >
<tr v-show="mooring_book_row_display[index] == 'show'" >
<td class="site">{{ site.name }} - <i>{{ site.mooring_park }}</i><br>
<i>Distance: {{ site.distance_from_selection }}km</i>
<i v-if="site.distance_from_selection > 1" >Distance: {{ site.distance_from_selection }}km</i>
<i v-else >Distance: {{ site.distance_from_selection_meters }}m</i>
</td>
<td class="book">
<template v-if="site.price">
Expand Down
3 changes: 2 additions & 1 deletion mooring/frontend/exploreparks/src/parkfinder.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2612,8 +2612,9 @@ export default {
var vessel_size = $('#vesselSize').val();
var vessel_draft = $('#vesselDraft').val();
var vessel_rego = $('#vesselRego').val();
var vessel_beam = $('#vesselBeam').val();
if (vessel_size > 0 && vessel_draft > 0 && vessel_rego.length > 1) {
if (vessel_size > 0 && vessel_draft > 0 && vessel_beam > 0 &&vessel_rego.length > 1) {
var distance_radius = properties.props.park.distance_radius;
$("#mapPopupBook").attr('href', vm.parkstayUrl+'/availability2/?site_id='+properties.marker_id+'&distance_radius='+distance_radius+'&'+vm.bookingParam);
// $("#mapPopupBook").attr('target','_blank');
Expand Down
25 changes: 25 additions & 0 deletions mooring/migrations/0126_auto_20190410_1625.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.8 on 2019-04-10 08:25
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('mooring', '0125_auto_20190404_1046'),
]

operations = [
migrations.AlterField(
model_name='mooringarea',
name='additional_info',
field=models.TextField(blank=True, default='', null=True),
),
migrations.AlterField(
model_name='mooringarea',
name='description',
field=models.TextField(blank=True, default='', null=True),
),
]
4 changes: 2 additions & 2 deletions mooring/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,8 @@ class MooringArea(models.Model):
site_type = models.SmallIntegerField(choices=SITE_TYPE_CHOICES, default=0)
address = JSONField(null=True,blank=True)
features = models.ManyToManyField('Feature')
description = models.TextField(blank=True, null=True)
additional_info = models.TextField(blank=True, null=True)
description = models.TextField(blank=True, null=True, default="")
additional_info = models.TextField(blank=True, null=True, default="")
area_activities = models.TextField(blank=True, null=True)

# Tags for communications methods available and access type
Expand Down
2 changes: 1 addition & 1 deletion mooring/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,4 @@
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
GIT_COMMIT_DATE = os.popen('cd '+BASE_DIR+' ; git log -1 --format=%cd').read()
GIT_COMMIT_HASH = os.popen('cd '+BASE_DIR+' ; git log -1 --format=%H').read()
VERSION_NO = '2.00'
VERSION_NO = '2.02'
2 changes: 1 addition & 1 deletion mooring/static/availability2/js/app.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion mooring/static/exploreparks/js/map.js

Large diffs are not rendered by default.

0 comments on commit 9090b61

Please sign in to comment.