Skip to content

Commit

Permalink
Merge 5c1c6da into 357c735
Browse files Browse the repository at this point in the history
  • Loading branch information
xzzy committed Sep 17, 2019
2 parents 357c735 + 5c1c6da commit edae46f
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 10 deletions.
11 changes: 9 additions & 2 deletions mooring/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1920,6 +1920,8 @@ def retrieve(self, request, pk=None, ratis_id=None, format=None, show_all=False)
# compare old and new booking for changes
if hashlib.md5(str(current_booking_obj)).hexdigest() == hashlib.md5(str(old_booking_obj)).hexdigest():
booking_changed = False
if utils.check_mooring_admin_access(request) is True:
booking_changed = True

availability = utils.get_campsite_availability(sites_qs, start_date, end_date, ongoing_booking, request)

Expand Down Expand Up @@ -2884,8 +2886,13 @@ def list(self, request, *args, **kwargs):
# inv = AdmissionsBookingInvoice.objects.filter(admissions_booking=ad)
# inv = [adi.invoice_reference,]


r.update({'invoice_ref': inv, 'in_future': ad.in_future, 'part_booking': ad.part_booking})
future_or_admin = False
if request.user.groups.filter(name__in=['Mooring Admin']).exists():
future_or_admin = True
else:
future_or_admin = ad.in_future

r.update({'invoice_ref': inv, 'in_future': future_or_admin, 'part_booking': ad.part_booking})
if(r['customer']):
name = ad.customer.first_name + " " + ad.customer.last_name
email = ad.customer.email
Expand Down
14 changes: 13 additions & 1 deletion mooring/emails.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
from confy import env
from django.template import Context
from ledger.accounts.models import Document
from django.contrib.auth.models import Group
from ledger.accounts.models import EmailUser

import datetime
import hashlib

Expand Down Expand Up @@ -392,6 +395,10 @@ def send_refund_failure_email_admissions(booking, context_processor):
to = settings.NON_PROD_EMAIL
sendHtmlEmail([to],subject,context,template,cc,bcc,from_email,template_group,attachments=None)
else:
pa = Group.objects.get(name='Payments Officers')
ma = Group.objects.get(name="Mooring Admin")
user_list = EmailUser.objects.filter(groups__in=[ma,]).distinct()

for u in user_list:
to = u.email
sendHtmlEmail([to],subject,context,template,cc,bcc,from_email,template_group,attachments=None)
Expand Down Expand Up @@ -434,6 +441,11 @@ def send_refund_failure_email(booking, context_processor):
to = settings.NON_PROD_EMAIL
sendHtmlEmail([to],subject,context,template,cc,bcc,from_email,template_group,attachments=None)
else:

pa = Group.objects.get(name='Payments Officers')
ma = Group.objects.get(name="Mooring Admin")
user_list = EmailUser.objects.filter(groups__in=[ma,]).distinct()

for u in user_list:
to = u.email
sendHtmlEmail([to],subject,context,template,cc,bcc,from_email,template_group,attachments=None)
Expand Down Expand Up @@ -488,7 +500,7 @@ def send_refund_failure_email_old(booking):

pa = Group.objects.get(name='Payments Officers')
ma = Group.objects.get(name="Mooring Admin")
user_list = EmailUser.objects.filter(groups__in=[pa,ma]).distinct()
user_list = EmailUser.objects.filter(groups__in=[ma,]).distinct()

### REMOVE ###
for u in user_list:
Expand Down
4 changes: 2 additions & 2 deletions mooring/templates/mooring/booking/booking_view.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div class="well">
<div class="row"><div class="col-sm-12">
<div class="row"><div class="col-sm-12" style='display: none;'>
<h3 class="text-primary">{{ booking.mooringarea.name }}, {{ booking.mooringarea.park.name }}</h3>
</div></div>
<div class="row">
Expand All @@ -9,7 +9,7 @@ <h3 class="text-primary">{{ booking.mooringarea.name }}, {{ booking.mooringarea.
{% endif %}
</div>
<div class="col-sm-9">
<div class="row">
<div class="row" style='display: none;'>
<div class="col-sm-4">
<b>Mooring:</b>
</div>
Expand Down
19 changes: 14 additions & 5 deletions mooring/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -443,13 +443,18 @@ def get(self, request, *args, **kwargs):
booking_id = kwargs['pk']
booking = None
booking_total = Decimal('0.00')
overide_cancel_fees=False
if request.user.is_staff or request.user.is_superuser or AdmissionsBooking.objects.filter(customer=request.user,pk=booking_id).count() == 1:
booking = AdmissionsBooking.objects.get(pk=booking_id)
if booking.booking_type == 4:
print ("ADMISSIONS BOOKING HAS BEEN CANCELLED")
return HttpResponseRedirect(reverse('home'))

booking_cancellation_fees = utils.calculate_price_admissions_cancel(booking, [])

if request.user.groups.filter(name__in=['Mooring Admin']).exists():
overide_cancel_fees=True

booking_cancellation_fees = utils.calculate_price_admissions_cancel(booking, [], overide_cancel_fees)
booking_total = booking_total + sum(Decimal(i['amount']) for i in booking_cancellation_fees)
basket = {}
return render(request, self.template_name, {'booking': booking,'basket': basket, 'booking_fees': booking_cancellation_fees, 'booking_total': booking_total, 'booking_total_positive': booking_total - booking_total - booking_total })
Expand All @@ -463,15 +468,19 @@ def post(self, request, *args, **kwargs):
invoice = None
refund = None
failed_refund = False

overide_cancel_fees=False

if request.user.is_staff or request.user.is_superuser or AdmissionsBooking.objects.filter(customer=request.user,pk=booking_id).count() == 1:
booking = AdmissionsBooking.objects.get(pk=booking_id)
if booking.booking_type == 4:
print ("ADMISSIONS BOOKING HAS BEEN CANCELLED")
return HttpResponseRedirect(reverse('home'))

if request.user.groups.filter(name__in=['Mooring Admin']).exists():
overide_cancel_fees=True

bpoint_id = self.get_booking_info(self, request, *args, **kwargs)
booking_cancellation_fees = utils.calculate_price_admissions_cancel(booking, [])
booking_cancellation_fees = utils.calculate_price_admissions_cancel(booking, [], overide_cancel_fees)
booking_total = booking_total + sum(Decimal(i['amount']) for i in booking_cancellation_fees)
# booking_total = Decimal('{:.2f}'.format(float(booking_total - booking_total - booking_total)))

Expand Down Expand Up @@ -1272,11 +1281,11 @@ def post(self, request, *args, **kwargs):
to_dt = local_dt.replace(microsecond=booking.departure.microsecond)
to_date_converted = to_dt.date()
# generate invoice
reservation = u"Reservation for {} from {} to {} at {}".format(
reservation = u"Reservation for {} from {} to {} ".format(
u'{} {}'.format(booking.customer.first_name, booking.customer.last_name),
from_date_converted,
to_date_converted,
booking.mooringarea.name
#booking.mooringarea.name
)

logger.info('{} built booking {} and handing over to payment gateway'.format('User {} with id {}'.format(booking.customer.get_full_name(),booking.customer.id) if booking.customer else 'An anonymous user',booking.id))
Expand Down

0 comments on commit edae46f

Please sign in to comment.