Skip to content

Commit 852ba8f

Browse files
committed
wingfoil category, mutable server request results
1 parent 5563379 commit 852ba8f

File tree

12 files changed

+77
-46
lines changed

12 files changed

+77
-46
lines changed

htdocs/cahier/methods.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ var Cahier = {
246246
for (var i = 0; i < _bookings.length; i++) {
247247
if (_bookings[i].endDate == null) {
248248
// check which bookables are being used
249-
var bookableElement = _bookings[i].bookable;
249+
var bookableElement = Object.assign({}, _bookings[i].bookable);
250250
bookableElement.lastBooking = _bookings[i].clone();
251251
bAreNotAvailable.push(bookableElement);
252252
// bookingsIdToFinish.push(_bookings[i].id);
@@ -543,6 +543,7 @@ var Cahier = {
543543
_owner = {id: '', name: '', sex: 'female', welcomeSessionDate: 'date', licenses: []},
544544
force = false,
545545
) {
546+
_owner = Object.assign({}, _owner);
546547
var t = true;
547548
if (!force) {
548549
for (var i = 0; i < Cahier.actualBookings.length; i++) {
@@ -564,8 +565,10 @@ var Cahier = {
564565
Cahier.bookings[nbr].owner.id = _owner.id;
565566
Cahier.bookings[nbr].owner.name = _owner.name;
566567
Cahier.bookings[nbr].owner.sex = _owner.sex;
567-
Cahier.bookings[nbr].licenses = []; // empty licenses until the realy licenses come from the request
568+
// Empty licenses until the real licenses come from the request
569+
Cahier.bookings[nbr].licenses = [];
568570
Cahier.actualizeConfirmation();
571+
// Update owner with full information
569572
Requests.getOwnerLicenses(_owner);
570573

571574
newTab('divTabCahierInfos');
@@ -624,7 +627,7 @@ var Cahier = {
624627
}
625628

626629
if (bookings.length !== 0) {
627-
var lastBooking = bookings[0];
630+
var lastBooking = Object.assign({}, bookings[0]);
628631

629632
Cahier.bookings[0].bookables[u].available = bookings[0].endDate == null ? false : true;
630633
Cahier.bookings[0].bookables[u].lastBooking = lastBooking;

htdocs/equipment/categories.js

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
1-
var categories = ['Canoë & Kayak', 'SUP', 'Rame', 'Planche à voile', 'Voile'];
2-
var categoriesValues = ['Canoe_Kayak', 'SUP', 'Aviron', 'Planche', 'Voile'];
1+
var categories = [
2+
{ name: 'Canoë & Kayak', plural: 'canoës et kayaks',
3+
value: 'Kayak', image: 'canoe.png'},
4+
{ name: 'SUP', plural: 'SUPs',
5+
value: 'SUP', image: 'sup.png' },
6+
{ name: 'Rame', plural: 'avirons',
7+
value: 'Aviron', image: 'rowing.png' },
8+
{ name: 'Planche à voile', plural: 'planches à voile',
9+
value: 'Planche', image: 'windsurf.png' },
10+
{ name: 'Voile', plural: 'bateaux',
11+
value: 'Voile lestée', image: 'sailing.png' },
12+
{ name: 'Wingfoil', plural: 'wingfoils',
13+
value: 'Wingfoil', image: 'wingfoil.svg' }
14+
]
315

4-
function loadMateriel(container = $('divTabCahierEquipmentCategoriesContainer')) {
16+
function loadMateriel(
17+
container = $('divTabCahierEquipmentCategoriesContainer')
18+
) {
519
for (var i = 0; i < categories.length; i++) {
620
var d = document.createElement('div');
7-
d.id = categories[i];
21+
d.id = categories[i].name;
822
d.classList.add('BoxesContainer');
923
container.appendChild(d);
1024

@@ -14,7 +28,9 @@ function loadMateriel(container = $('divTabCahierEquipmentCategoriesContainer'))
1428

1529
var dTop = div(d1);
1630
dTop.classList.add('BoxesTop');
17-
dTop.style.backgroundImage = 'url(img/icons/chose.png),' + 'url(img/categorie/' + categoriesValues[i] + '.png)';
31+
dTop.style.backgroundImage = 'url(img/icons/chose.png),' +
32+
'url(img/categorie/' +
33+
categories[i].image + ')';
1834

1935
var dBottom = document.createElement('div');
2036
dBottom.classList.add('BoxesBottom');
@@ -23,14 +39,15 @@ function loadMateriel(container = $('divTabCahierEquipmentCategoriesContainer'))
2339
var dBottomText1 = document.createElement('div');
2440
dBottomText1.classList.add('BoxesBottomText1');
2541
dBottom.appendChild(dBottomText1);
26-
dBottomText1.innerHTML = categories[i];
42+
dBottomText1.innerHTML = categories[i].name;
2743

2844
var dBottomText2 = document.createElement('div');
2945
dBottomText2.classList.add('BoxesBottomText2');
3046
dBottom.appendChild(dBottomText2);
31-
Requests.getBookableNbrForBookableTag(categoriesValues[i], dBottomText2, '', ' ' + categories[i] + 's');
47+
Requests.getBookableNbrForBookableTag(categories[i].value,
48+
dBottomText2, '', ' ' + categories[i].plural);
3249

33-
if (categoriesValues[i] == 'MP') {
50+
if (categories[i].value == 'MP') {
3451
// useless
3552
d.addEventListener('click', function () {
3653
Cahier.bookableId = '';
@@ -51,8 +68,8 @@ function loadMateriel(container = $('divTabCahierEquipmentCategoriesContainer'))
5168
}
5269

5370
var opt = document.createElement('option');
54-
opt.innerHTML = categories[i];
55-
opt.value = categoriesValues[i];
71+
opt.innerHTML = categories[i].name;
72+
opt.value = categories[i].value;
5673
$('divTabCahierEquipmentElementsSelectCategorie').getElementsByTagName('select')[0].appendChild(opt);
5774
}
5875

htdocs/equipment/elements.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,13 @@ function clickSortIcon(elem) {
178178
}
179179

180180
function changeSelectCategorie(elem) {
181-
$('divTabCahierEquipmentElementsSelectCategorie').getElementsByTagName('div')[0].style.backgroundImage =
182-
'url(img/categorie/' + elem.value + '.png)';
181+
image = 'url(img/icons/no-result.png)';
182+
for (let category of categories) {
183+
if (category.value == elem.value) {
184+
image = 'url(img/categorie/' + category.image + ')';
185+
break;
186+
}
187+
}
188+
$('divTabCahierEquipmentElementsSelectCategorie')
189+
.getElementsByTagName('div')[0].style.backgroundImage = image;
183190
}

htdocs/equipment/pop-bookable.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ function actualizePopBookable(nbr, bookable, bookings, elem) {
143143
// if !justPreview
144144

145145
var choseFunction = function () {
146-
Cahier.addBookable(nbr, bookable, bookings.items[0]);
146+
Cahier.addBookable(nbr, bookable, Object.assign({}, bookings.items[0]));
147147
newTab('divTabCahierEquipmentChoice');
148148

149149
$('divTabCahierEquipmentChoice')

htdocs/general/home.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,18 @@ function displayBooking(booking) {
455455
return !is0second(booking);
456456
}
457457

458+
function mutableBookingList(bookings) {
459+
mutableBookings = [];
460+
for (let i = 0; i < bookings.length; i++) {
461+
mutableBookings.push(Object.assign({}, bookings[i]));
462+
}
463+
return mutableBookings;
464+
}
465+
466+
function mutableBookableList(bookables) {
467+
return mutableBookingList(bookables);
468+
}
469+
458470
function mergeBookings(bookings) {
459471
bookings = bookings.clone(); // clone
460472

htdocs/general/server-requests.js

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -273,25 +273,6 @@ var Requests = {
273273

274274
// getUserInfos (TO DO AND CHANGE THE GETALL)
275275
getUserInfos: function (ownerId) {
276-
/* var filter = {
277-
filter: {
278-
groups: [
279-
{
280-
conditions: [
281-
{
282-
id: {
283-
equal: {
284-
value: ownerId
285-
}
286-
}
287-
}
288-
]
289-
}
290-
]
291-
}
292-
293-
};*/
294-
295276
var filter = {
296277
id: ownerId,
297278
};
@@ -486,16 +467,19 @@ var Requests = {
486467
var bookables = result.items;
487468
var bookings = r.items;
488469

470+
// Make mutable
471+
bookables = mutableBookableList(bookables);
472+
489473
for (let i = 0; i < bookings.length; i++) {
490474
for (let k = 0; k < bookables.length; k++) {
491475
if (bookables[k].id === bookings[i].bookable.id) {
492476
bookables[k].used = true;
493-
bookables[k].lastBooking = bookings[i];
477+
bookables[k].lastBooking = Object.assign({}, bookings[i]);
494478
}
495479
}
496-
497-
//console.log(r.items[i].bookable.id,r.items[i].bookable.name);
498480
}
481+
482+
// Load elements on page
499483
loadElements(bookables);
500484
});
501485
}
@@ -704,7 +688,8 @@ var Requests = {
704688

705689
Server.bookingService.getAll(variables).subscribe(bookings => {
706690
//console.log("getBookableInfos()_getLastBooking: ", bookings);
707-
actualizePopBookable(nbr, result.items[0], bookings, elem, []);
691+
bookable = Object.assign({}, result.items[0])
692+
actualizePopBookable(nbr, bookable, bookings, elem, []);
708693
});
709694
});
710695
},
@@ -747,7 +732,9 @@ var Requests = {
747732

748733
Server.bookingService.getAll(variables).subscribe(bookings => {
749734
// console.log("getBookableLastBooking(): ", bookings);
750-
Cahier.actualizeAvailability(bookableId, bookings.items);
735+
Cahier.actualizeAvailability(
736+
bookableId, mutableBookingList(bookings.items)
737+
);
751738
});
752739
},
753740

@@ -819,7 +806,9 @@ var Requests = {
819806

820807
Server.bookingService.getAll(variables).subscribe(result => {
821808
//console.log("checksBookablesAvailabilityBeforeConfirming(): ", result);
822-
Cahier.actualizeConfirmKnowingBookablesAvailability(result.items);
809+
Cahier.actualizeConfirmKnowingBookablesAvailability(
810+
mutableBookingList(result.items)
811+
);
823812
});
824813
},
825814

@@ -910,7 +899,7 @@ var Requests = {
910899
Server.bookingService.getAll(variables, true).subscribe(result => {
911900
// force = true
912901
loadBottoms();
913-
loadActualBookings(mergeBookings(result.items));
902+
loadActualBookings(mergeBookings(mutableBookingList(result.items)));
914903
});
915904
},
916905

@@ -1018,7 +1007,7 @@ var Requests = {
10181007
Server.bookingService.getAll(variables, true).subscribe(result => {
10191008
// force = true);
10201009
//console.log("getFinishedBookingListForDay(): ", result);
1021-
var transformedBoookings = mergeBookings(result.items);
1010+
var transformedBoookings = mergeBookings(mutableBookingList(result.items));
10221011
if (result.length == 0) {
10231012
createNoBookingMessage(d);
10241013
} else {
@@ -1359,7 +1348,7 @@ var Requests = {
13591348
sorting: [
13601349
{
13611350
field: 'startDate',
1362-
order: 'ASC',
1351+
order: 'DESC',
13631352
},
13641353
],
13651354
};
@@ -1369,7 +1358,7 @@ var Requests = {
13691358

13701359
Server.bookingService.getAll(variables).subscribe(result => {
13711360
//console.log("getStats(): ", result);
1372-
var send = mergeBookings(result.items);
1361+
var send = mergeBookings(mutableBookingList(result.items));
13731362
actualizeStats(start, end, elem, send);
13741363
});
13751364
},
@@ -1588,7 +1577,8 @@ var Requests = {
15881577
getOwnerLicenses: function (_owner) {
15891578
Server.userService.getOne(_owner.id).subscribe(result => {
15901579
// console.log("getOwnerLicenses(): ", result);
1591-
Cahier.setOwnerLicenses(result);
1580+
owner = Object.assign({}, result)
1581+
Cahier.setOwnerLicenses(owner);
15921582
});
15931583
},
15941584

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)