Skip to content

Commit

Permalink
Merge pull request #360 from xzzy/master
Browse files Browse the repository at this point in the history
Updates to Mooring Creation, updates and text changes
  • Loading branch information
scottp-dpaw committed Aug 2, 2018
2 parents ae741ff + 436813b commit 98cb75d
Show file tree
Hide file tree
Showing 14 changed files with 77 additions and 28 deletions.
31 changes: 26 additions & 5 deletions mooring/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -485,15 +485,17 @@ def search_suggest(request, *args, **kwargs):


class MooringAreaViewSet(viewsets.ModelViewSet):
queryset = MooringArea.objects.all()
from django.db.models import Value, ManyToManyField
queryset = MooringArea.objects.all().annotate(mooring_group=Value(None,output_field=ManyToManyField(MooringAreaGroup,blank=True)))
serializer_class = MooringAreaSerializer

@list_route(methods=['GET',])
@renderer_classes((JSONRenderer,))
def datatable_list(self,request,format=None):
queryset = cache.get('campgrounds_dt')
queryset = cache.get('moorings_dt')
if queryset is None:
queryset = self.get_queryset()
cache.set('campgrounds_dt',queryset,3600)
cache.set('moorings_dt',queryset,3600)
qs = [c for c in queryset.all() if can_view_campground(request.user,c)]
serializer = MooringAreaDatatableSerializer(qs,many=True)
data = serializer.data
Expand All @@ -506,15 +508,26 @@ def list(self, request, format=None):
if queryset is None:
queryset = self.get_queryset()
cache.set('mooringareas',queryset,3600)
queryset = self.get_queryset()
qs = [c for c in queryset.all() if can_view_campground(request.user,c)]
serializer = self.get_serializer(qs, formatted=formatted, many=True, method='get')
data = serializer.data
return Response(data)

def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
#print request.GET.get("formatted", False)
formatted = bool(request.GET.get("formatted", False))
instance.mooring_group = MooringAreaGroup.objects.filter(members__in=[request.user.id,],campgrounds__in=[instance.id,])
if Mooringsite.objects.filter(mooringarea__id=instance.id).exists():
pass
else:
mooringsite_class = MooringsiteClass.objects.all().first()
Mooringsite.objects.create(mooringarea=instance,
name=instance.name,
mooring_site_class=mooringsite_class,
description=None)

serializer = self.get_serializer(instance, formatted=formatted, method='get')
return Response(serializer.data)

Expand All @@ -535,7 +548,7 @@ def create(self, request, format=None):
serializer.is_valid(raise_exception=True)
instance =serializer.save()
instance.mooring_group = None

# Get and Validate campground images
initial_image_serializers = [MooringAreaImageSerializer(data=image) for image in images_data] if images_data else []
image_serializers = []
Expand Down Expand Up @@ -575,6 +588,15 @@ def create(self, request, format=None):
if instance.id == b.id:
i.campgrounds.remove(b)

if Mooringsite.objects.filter(mooringarea__id=instance.id).exists():
pass
else:
mooringsite_class = MooringsiteClass.objects.all().first()
Mooringsite.objects.create(mooringarea=instance,
name=instance.name,
mooringsite_class=mooringsite_class,
description=None)

return Response(serializer.data)
except serializers.ValidationError:
print(traceback.print_exc())
Expand Down Expand Up @@ -1061,7 +1083,6 @@ def retrieve(self, request, pk=None, ratis_id=None, format=None, show_all=False)

# fetch availability map
availability = utils.get_campsite_availability(sites_qs, start_date, end_date)

# create our result object, which will be returned as JSON
result = {
'id': ground.id,
Expand Down
8 changes: 4 additions & 4 deletions mooring/context_processors.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

def mooring_url(request):
return {
'EXPLORE_PARKS_SEARCH': '{}/park-stay'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_SEARCH': '{}/map'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_CONTACT': '{}/contact-us'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_CONSERVE': '{}/know/conserving-our-parks'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_CONSERVE': '{}/know/conserving-our-moorings'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_PEAK_PERIODS': '{}/know/when-visit'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_ENTRY_FEES': '{}/know/park-entry-fees'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_TERMS': '{}/know/online-camp-site-booking-terms-and-conditions'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_ENTRY_FEES': '{}/know/entry-fees'.format(settings.EXPLORE_PARKS_URL),
'EXPLORE_PARKS_TERMS': '{}/know/online-mooring-site-booking-terms-and-conditions'.format(settings.EXPLORE_PARKS_URL),
'PARKSTAY_EXTERNAL_URL': settings.PARKSTAY_EXTERNAL_URL,
'DEV_STATIC': settings.DEV_STATIC,
'DEV_STATIC_URL': settings.DEV_STATIC_URL
Expand Down
2 changes: 1 addition & 1 deletion mooring/frontend/exploreparks/src/parkfinder.vue
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
@font-face {
font-family: "DPaWSymbols";
src: url("./assets/boating.woff") format("woff");
src: url("assets/boating.woff") format("woff");
}
.symb {
Expand Down
4 changes: 2 additions & 2 deletions mooring/frontend/mooring/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<div class="agency-freespace">
<h1 id="site-title" class="site-logo">
<a href="/">
<img src="/static/ps/img/logo-park-stay.gif" alt="Department of Parks and Wildlife - Park Stay" class="img-responsive"/>
<img src="/static/ps/img/logo-park-stay.gif" alt="Department of Biodiversity, Conservation and Attractions - Moorings" class="img-responsive"/>
</a>
</h1>
</div>
Expand Down Expand Up @@ -71,7 +71,7 @@ <h1 id="site-title" class="site-logo">
<ul class="nav navbar-nav">


<li><router-link :to="{ name: 'campsite-type' }">Camp Site Types</router-link></li>
<li><router-link :to="{ name: 'campsite-type' }">Mooring Site Types</router-link></li>
<li><router-link :to="{ name: 'bulkpricing' }">Bulk Pricing</router-link></li>
<li><router-link :to="{ name: 'booking-dashboard' }">Existing Bookings</router-link></li>
<li><a href="/mybookings/">My Bookings</a></li>
Expand Down
33 changes: 31 additions & 2 deletions mooring/frontend/mooring/src/apps/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ const routes = [
component: AddCampground
},
{
path:'campgrounds',
path:'moorings',
component: {
render (c) { return c('router-view') }
},
Expand All @@ -127,7 +127,36 @@ const routes = [
component:Campsite
},
]
},{
},
// {
// path:'campgrounds',
// component: {
// render (c) { return c('router-view') }
// },
// children:[
// {
// path: '/',
// name: 'cg_main',
// component: Campgrounds,
// },
// {
// path:':id',
// name:'cg_detail',
// component: Campground,
// },
// {
// path:':id/campsites/add',
// name:'add_campsite',
// component:Campsite
// },
// {
// path:':id/campsites/:campsite_id',
// name:'view_campsite',
// component:Campsite
// },
// ]
// },
{
path:'bookings',
/*component: {
render (c) { return c('router-view') }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
</div>
</div>
</div>
<div class="panel panel-default" id="applications" style="margin-top:50px;">
<div class="panel panel-default" id="applications" style="margin-top:50px; display:none;">
<div class="panel-heading" role="tab" id="applications-heading">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" href="#campsites"
Expand Down
2 changes: 1 addition & 1 deletion mooring/serialisers.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ class MooringAreaSerializer(serializers.ModelSerializer):
address = serializers.JSONField()
images = MooringAreaImageSerializer(read_only=True, many=True,required=False)
mooring_map = serializers.FileField(read_only=True,required=False,allow_empty_file=True)
mooring_group = serializers.PrimaryKeyRelatedField(many=True, required=False, read_only=True)
mooring_group = serializers.PrimaryKeyRelatedField(many=True, required=False, read_only=True, allow_null=True)

class Meta:
model = MooringArea
Expand Down
4 changes: 2 additions & 2 deletions mooring/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
VALID_SYSTEMS = [PS_PAYMENT_SYSTEM_ID]

CAMPGROUNDS_EMAIL = env('CAMPGROUNDS_EMAIL','mooringbookings@dbca.wa.gov.au')
EXPLORE_PARKS_URL = env('EXPLORE_PARKS_URL','https://parks-oim.dpaw.wa.gov.au')
PARKSTAY_EXTERNAL_URL = env('PARKSTAY_EXTERNAL_URL','https://mooring.dbca.wa.gov.au')
EXPLORE_PARKS_URL = env('EXPLORE_PARKS_URL','https://mooring.dbca.wa.gov.au/')
PARKSTAY_EXTERNAL_URL = env('PARKSTAY_EXTERNAL_URL','https://mooring.dbca.wa.gov.au/')
DEV_STATIC = env('DEV_STATIC',False)
DEV_STATIC_URL = env('DEV_STATIC_URL')
2 changes: 1 addition & 1 deletion mooring/static/exploreparks/js/map.js

Large diffs are not rendered by default.

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

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions mooring/templates/mooring/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
{% block left_menu_items %}
{% if request.user.is_staff %}
<li><a href="{% url 'dash-campgrounds'%}">Mooring</a></li>
<li><a href="{% url 'dash-campsite-types'%}">Mooring Types</a></li>
<li><a href="{% url 'dash-bulkpricing'%}">Bulk Pricing</a></li>
<li style='display:none' ><a href="{% url 'dash-campsite-types'%}">Mooring Types</a></li>
<li style='display:none' ><a href="{% url 'dash-bulkpricing'%}">Bulk Pricing</a></li>
<li><a href="{% url 'dash-bookings'%}">Existing Bookings</a></li>
{% else %}
<li><a href="{{EXPLORE_PARKS_SEARCH}}">Search for a place to stay</a></li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
{% block left_menu_items %}
{% if request.user.is_staff %}
<li style='display:none'><router-link :to="{ name: 'campsite-type' }">Mooring Site Types</router-link></li>
<li><router-link :to="{ name: 'bulkpricing' }">Bulk Pricing</router-link></li>
<li style='display:none' ><router-link :to="{ name: 'bulkpricing' }">Bulk Pricing</router-link></li>
<li><router-link :to="{ name: 'booking-dashboard' }">Existing Bookings</router-link></li>
<li><a href="{% url 'public_my_bookings'%}">My Bookings</a></li>
{% else %}
Expand Down
7 changes: 3 additions & 4 deletions mooring/templates/mooring/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ <h2>
Welcome to Mooring
</h2>
<p>This web portal allows you to manage your advance booking of a mooring in one of our many mooring locations.</p>
<p><b>To make a new booking, or to find a Mooring in a marina, please visit the interactive map on our <a href="{{EXPLORE_PARKS_SEARCH}}">Explore mooring website</a>.</b></p>
<p>Camping in our parks is limited to designated areas which have been chosen and designed to <a href="{{EXPLORE_PARKS_CONSERVE}}">minimise the impact on the environment</a>. For <a href="{{EXPLORE_PARKS_PEAK_PERIODS}}">peak periods</a> where booking is possible, you should book early to avoid disappointment as these are among our most popular campgrounds. Other campgrounds will often reach capacity early in school and public holiday periods, so plan to arrive early and have a back up plan with an alternative place to stay in case your first choice campground is full.</p>
<p><b>To make a new booking, or to find a Mooring, please visit the interactive map on our <a href="{{EXPLORE_PARKS_SEARCH}}">Explore mooring website</a>.</b></p>
</div>
<div class="col-md-4">
{% if not request.user.is_authenticated %}
Expand All @@ -42,8 +41,8 @@ <h4>
Mooring Password-less Logins
</h4>
<p>
At the Department of Parks and Wildlife, we employ a password-less authentication system, meaning you never need to remember
a password. When you need to login to a site, such as Wildlife Licensing, simply enter your email and an
At the Department of Biodiversity, Conservation and Attractions, we employ a password-less authentication system, meaning you never need to remember
a password. When you need to login to a site, such as Mooring Bookings, simply enter your email and an
authentication link will be sent to your registered email address. From there, simply follow the link to complete the login process.
</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion mooring/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
url(r'^availability/$', views.MooringsiteAvailabilitySelector.as_view(), name='campsite_availaiblity_selector'),
url(r'^availability_admin/$', views.AvailabilityAdmin.as_view(), name='availability_admin'),
#url(r'^ical/campground/(?P<ground_id>[0-9]+)/$', views.MooringAreaFeed(), name='campground_calendar'),
url(r'^dashboard/mooringarea/$', views.DashboardView.as_view(), name='dash-campgrounds'),
url(r'^dashboard/moorings/$', views.DashboardView.as_view(), name='dash-campgrounds'),
url(r'^dashboard/mooringsite-types$', views.DashboardView.as_view(), name='dash-campsite-types'),
url(r'^dashboard/bookings/edit/', views.DashboardView.as_view(), name='dash-bookings'),
url(r'^dashboard/bookings$', views.DashboardView.as_view(), name='dash-bookings'),
Expand Down

0 comments on commit 98cb75d

Please sign in to comment.