Skip to content

Commit

Permalink
Merge e171d15 into 9afc40f
Browse files Browse the repository at this point in the history
  • Loading branch information
xzzy committed Apr 8, 2019
2 parents 9afc40f + e171d15 commit 49c2e70
Show file tree
Hide file tree
Showing 20 changed files with 218 additions and 78 deletions.
115 changes: 90 additions & 25 deletions mooring/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2615,16 +2615,20 @@ def list(self, request, *args, **kwargs):
recordsFiltered = None
res = None
canceled = request.GET.get('canceled','False')
bt = [0,1]
if canceled == str('True'):
bt = [0,1,4]
#bt = [0,1]
#if canceled == str('True'):
# bt = [0,1,4]
bt = [0,1,4]
recordsTotal = 0
data = []
data_temp = None
try:
data = AdmissionsBooking.objects.filter(booking_type__in=bt).order_by('-pk')
data_temp = AdmissionsBooking.objects.filter(booking_type__in=bt).order_by('-pk')
groups = MooringAreaGroup.objects.filter(members__in=[request.user,])
# If groups then we need to filter data by groups.
if groups.count() > 0:
filtered_ids = []
for rec in data:
for rec in data_temp:
bookings = Booking.objects.filter(admission_payment=rec)
if bookings.count() > 0:
booking = bookings[0]
Expand All @@ -2639,39 +2643,95 @@ def list(self, request, *args, **kwargs):
in_group = True
break
if in_group:
filtered_ids.append(rec.id)
#filtered_ids.append(rec.id)
pass
if canceled == str('True'):
if rec.booking_type == 4:
data.append(rec)
else:
if rec.booking_type == 0 or rec.booking_type == 1:
data.append(rec)
recordsTotal = recordsTotal + 1
else:
ad_line = AdmissionsLine.objects.filter(admissionsBooking=rec).first()
if ad_line:
if ad_line.location.mooring_group in groups:
filtered_ids.append(rec.id)
if canceled == str('True'):
if rec.booking_type == 4:
data.append(rec)
else:
if rec.booking_type == 0 or rec.booking_type == 1:
data.append(rec)

recordsTotal = recordsTotal + 1
#data.append(rec)
pass
#filtered_ids.append(rec.id)

data = AdmissionsBooking.objects.filter(pk__in=filtered_ids).order_by('-pk')
#data = AdmissionsBooking.objects.filter(pk__in=filtered_ids).order_by('-pk')
else:
return Response("Error no group")


recordsTotal = len(data)
# recordsTotal = len(data)
# recordsTotal = AdmissionsBooking.objects.filter(booking_type__in=[0,1,4],`
search = request.GET.get('search[value]') if request.GET.get('search[value]') else None
start = request.GET.get('start') if request.GET.get('start') else 0
length = request.GET.get('length') if request.GET.get('length') else len(data)
date_from = datetime.strptime(request.GET.get('arrival'),'%d/%m/%Y').date() if request.GET.get('arrival') else None
date_to = datetime.strptime(request.GET.get('departure'),'%d/%m/%Y').date() if request.GET.get('departure') else None
data2 = []
data_temp = []
if search:
if(search.upper().startswith('AD')):
try:
int(search[2:])
search = search[2:]
except:
pass
data = data.filter(Q(warningReferenceNo__icontains=search) | Q(vesselRegNo__icontains=search) | Q(customer__first_name__icontains=search) | Q(customer__last_name__icontains=search) | Q(id__icontains=search))
if (date_from and date_to):
data = data.distinct().filter(admissionsline__arrivalDate__gte=date_from, admissionsline__arrivalDate__lte=date_to)
#if(search.upper().startswith('AD')):
# try:
# int(search[2:])
# search = search[2:]
# except:
# pass
for row in data:
if row.warningReferenceNo.lower().find(search.lower()) >= 0 or row.customer.first_name.lower().find(search.lower()) >= 0 or row.customer.first_name.lower().find(search.lower()) >= 0 or row.vesselRegNo.lower().find(search.lower()) >= 0 or str(row.id) == search:
data_temp.append(row)
data = data_temp
#data = data.filter(Q(warningReferenceNo__icontains=search) | Q(vesselRegNo__icontains=search) | Q(customer__first_name__icontains=search) | Q(customer__last_name__icontains=search) | Q(id__icontains=search))
if date_from and date_to:
data_temp = []
for row in data:
date_match = False
for row_line in row.admissions_line:
if row_line.arrivalDate >= date_from and row_line.arrivalDate <= date_to:
date_match = True

if date_match is True:
data_temp.append(row)
data = data_temp
# data = data.distinct().filter(admissionsline__arrivalDate__gte=date_from, admissionsline__arrivalDate__lte=date_to)
elif(date_from):
data = data.distinct().filter(admissionsline__arrivalDate__gte=date_from)
data_temp = []
for row in data:
date_match = False
for row_line in row.admissions_line:
if row_line.arrivalDate >= date_from:
date_match = True

if date_match is True:
data_temp.append(row)
data = data_temp

# data = data.distinct().filter(admissionsline__arrivalDate__gte=date_from)
elif(date_to):
data = data.distinct().filter(admissionsline__arrivalDate__lte=date_to)
data_temp = []
for row in data:
date_match = False
for row_line in row.admissions_line:
if row_line.arrivalDate <= date_to:
date_match = True

if date_match is True:
data_temp.append(row)
data = data_temp

# data = data.distinct().filter(admissionsline__arrivalDate__lte=date_to)
recordsFiltered = int(len(data))
data = data[int(start):int(length)+int(start)]
serializer = AdmissionsBookingSerializer(data,many=True)
Expand Down Expand Up @@ -2800,10 +2860,10 @@ def list(self, request, *args, **kwargs):
sql += ' and mooring_booking.booking_type = 4 '
sqlCount += ' and mooring_booking.booking_type = 4 '
else:
# sql += ' and (mooring_booking.booking_type != 3 and mooring_booking.booking_type != 4 )'
# sqlCount += ' and (mooring_booking.booking_type != 3 and mooring_booking.booking_type != 4) '
sql += ' and (mooring_booking.booking_type != 3)'
sqlCount += ' and (mooring_booking.booking_type != 3) '
sql += ' and (mooring_booking.booking_type =0 or mooring_booking.booking_type =1 or mooring_booking.booking_type =2)'
sqlCount += ' and (mooring_booking.booking_type =0 or mooring_booking.booking_type =1 or mooring_booking.booking_type =2) '



# sql += ' and mooring_booking.is_canceled = %(canceled)s'
# sqlCount += ' and mooring_booking.is_canceled = %(canceled)s'
Expand Down Expand Up @@ -2840,7 +2900,7 @@ def list(self, request, *args, **kwargs):

cursor = connection.cursor()
#cursor.execute("Select count(*) from mooring_booking ")
cursor.execute("select count(*) from mooring_booking left join mooring_mooringsitebooking on mooring_booking.id = mooring_mooringsitebooking.booking_id left join mooring_mooringsite on mooring_mooringsitebooking.campsite_id = mooring_mooringsite.id left join mooring_mooringareagroup_moorings on mooring_mooringsite.mooringarea_id = mooring_mooringareagroup_moorings.mooringarea_id where ("+sql_group+")")
cursor.execute("select count(distinct(mooring_booking.id)) from mooring_booking left join mooring_mooringsitebooking on mooring_booking.id = mooring_mooringsitebooking.booking_id left join mooring_mooringsite on mooring_mooringsitebooking.campsite_id = mooring_mooringsite.id left join mooring_mooringareagroup_moorings on mooring_mooringsite.mooringarea_id = mooring_mooringareagroup_moorings.mooringarea_id where ("+sql_group+") and (mooring_booking.booking_type =0 or mooring_booking.booking_type =1 or mooring_booking.booking_type =2 or mooring_booking.booking_type =4)")
recordsTotal = cursor.fetchone()[0]
cursor.execute(sqlCount, sqlParams)
recordsFiltered = cursor.fetchone()[0]
Expand Down Expand Up @@ -2888,6 +2948,10 @@ def list(self, request, *args, **kwargs):
bk['firstname'] = booking.details.get('first_name','')
bk['lastname'] = booking.details.get('last_name','')
bk['admissions'] = { 'id' :booking.admission_payment.id, 'amount': booking.admission_payment.totalCost } if booking.admission_payment else None

bk['booking_phone_number'] = ''
if "phone" in booking.details:
bk['booking_phone_number'] = booking.details['phone']

msb = MooringsiteBooking.objects.filter(booking=booking.id)
msb_list = []
Expand All @@ -2903,6 +2967,7 @@ def list(self, request, *args, **kwargs):
bk['mooringsite_bookings'] = msb_list
if not booking.paid:
bk['payment_callback_url'] = '/api/booking/{}/payment_callback.json'.format(booking.id)

if booking.customer:
bk['email'] = booking.customer.email if booking.customer and booking.customer.email else ""
if booking.customer.phone_number:
Expand Down
2 changes: 1 addition & 1 deletion mooring/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ class MakeBookingsForm(forms.Form):
num_infant = forms.IntegerField(min_value=0, max_value=16, label="Infants (ages 0-5)")
first_name = forms.CharField(label="Given Name(s)")
last_name = forms.CharField(widget=forms.TextInput(attrs={'required':True}), label="Last Name")
phone = forms.CharField(widget=forms.TextInput(attrs={'required':True}))
phone = forms.CharField(widget=forms.TextInput(attrs={'required':True}), label="Phone (mobile preferred)")
postcode = forms.CharField(max_length=4, label="Post Code",widget=forms.TextInput(attrs={'required':True}))
country = forms.ModelChoiceField(queryset=Country.objects.all(), to_field_name="iso_3166_1_a2")
email = forms.EmailField(label="Email", widget=forms.TextInput(attrs={'required':True}))
Expand Down
3 changes: 2 additions & 1 deletion mooring/frontend/admissions/src/admissions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -499,8 +499,9 @@ export default {
}
}
},
validateVesselReg: function(){
validateVesselReg: function() {
let vm = this;
vm.vesselReg = vm.vesselReg.replace(/ /g, "");
var reg = vm.vesselReg;
var data = {
'rego': reg
Expand Down
10 changes: 5 additions & 5 deletions mooring/frontend/availability2/src/availability.vue
Original file line number Diff line number Diff line change
Expand Up @@ -143,35 +143,35 @@
<div class="small-6 columns">
<label for="vesselRego" class="text-left">Vessel Rego</label>
</div><div class="small-6 columns">
<input type="text" id="vesselRego" ref="vesselRego" name="vessel_rego" @blur="searchRego()" v-model="vesselRego" style="text-transform:uppercase"/>
<input type="text" id="vesselRego" ref="vesselRego" name="vessel_rego" @blur="searchRego()" v-model="vesselRego" style="text-transform:uppercase" :disabled="current_booking.length > 0" />
</div>
</div>
<div class="row">
<div class="small-6 columns">
<label for="vesselSize" class="text-left">Vessel Size (Meters)</label>
</div><div class="small-6 columns">
<input type="number" id="vesselSize" ref="vesselSize" name="vessel_size" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselSize" step="1"/>
<input type="number" id="vesselSize" ref="vesselSize" name="vessel_size" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselSize" step="1" :disabled="current_booking.length > 0"/>
</div>
</div>
<div class="row">
<div class="small-6 columns">
<label for="vesselDraft" class="text-left">Vessel Draft (Meters)</label>
</div><div class="small-6 columns">
<input type="number" id="vesselDraft" ref="vesselDraft" name="vessel_draft" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselDraft" step="1"/>
<input type="number" id="vesselDraft" ref="vesselDraft" name="vessel_draft" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselDraft" step="1" :disabled="current_booking.length > 0"/>
</div>
</div>
<div class="row">
<div class="small-6 columns">
<label for="vesselBeam" class="text-left">Vessel Beams (Meters)</label>
</div><div class="small-6 columns">
<input type="number" id="vesselBeam" ref="vesselBeam" name="vessel_beam" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselBeam" step="1"/>
<input type="number" id="vesselBeam" ref="vesselBeam" name="vessel_beam" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselBeam" step="1" :disabled="current_booking.length > 0" />
</div>
</div>
<div class="row">
<div class="small-6 columns">
<label for="vesselWeight" class="text-left">Vessel Weight (Tons)</label>
</div><div class="small-6 columns">
<input type="number" id="vesselWeight" ref="vesselWeight" name="vessel_weight" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselWeight" step="1"/>
<input type="number" id="vesselWeight" ref="vesselWeight" name="vessel_weight" @change="checkDetails(false)" @blur="checkDetails(false)" v-model="vesselWeight" step="1" :disabled="current_booking.length > 0"/>
</div>
</div>
</div>
Expand Down
Loading

0 comments on commit 49c2e70

Please sign in to comment.