Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c3062eb
Correctly hide the #reservation-box modal after creating a reservatio…
labmecanicatec Aug 31, 2024
0327951
Merge branch 'LibreBooking:dev-bootstrap5' into dev-bootstrap5
labmecanicatec Aug 31, 2024
11a802d
Update reservations.js
labmecanicatec Sep 1, 2024
f4b4fb1
The appearance between "a" and "link-primary" elements is unified
labmecanicatec Sep 1, 2024
626d7cd
Correcting text strings and indentation
labmecanicatec Sep 1, 2024
9f05a82
Updating an extension
labmecanicatec Sep 1, 2024
ce42f32
Update librebooking.css
labmecanicatec Sep 1, 2024
2edf65d
icon fix, also reservationTable is wrapped in a responsive table
labmecanicatec Sep 2, 2024
1723b22
Update resourceDisplay.js
labmecanicatec Sep 3, 2024
d911a18
Empty functions are disabled
labmecanicatec Sep 3, 2024
85f4926
<a> elements that look like buttons are now <button>
labmecanicatec Sep 3, 2024
719ed25
#announcement links take primary color var(--primary)
labmecanicatec Sep 3, 2024
2712afa
no-show class changed to d-none
labmecanicatec Sep 4, 2024
ec20456
Corrected use of collapse
labmecanicatec Sep 4, 2024
21582dd
The hilite class is added when the hover state occurs over the reserv…
labmecanicatec Sep 5, 2024
b21c813
An unnecessary class is removed
labmecanicatec Sep 5, 2024
996941a
Use of the no-show class is replaced by d-none
labmecanicatec Sep 5, 2024
4ec8d09
A class is added for a link inside an alert, the closing of a button …
labmecanicatec Sep 6, 2024
b9dee1d
Pending status is highlighted in respopup and manage_reservations
labmecanicatec Sep 6, 2024
cc8a6d9
Update .htaccess
labmecanicatec Sep 6, 2024
ab6377c
The no-show class is changed to d-none or visually-hidden, the checki…
labmecanicatec Sep 7, 2024
ae9f618
Merge branch 'dev-bootstrap5' of https://github.com/labmecanicatec/ap…
labmecanicatec Sep 7, 2024
aa859af
An icon is added to the checkout button
labmecanicatec Sep 7, 2024
aa09397
The width of the label and select2 elements in generate-reports.tpl i…
labmecanicatec Sep 11, 2024
92f9b0e
Fixed a bug in select2 loading
labmecanicatec Sep 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"recommendations": [
"imperez.smarty",
"aswinkumar863.smarty-template-support",
"bmewburn.vscode-intelephense-client",
"felixfbecker.php-debug",
"tombonnike.vscode-status-bar-format-toggle",
Expand All @@ -9,4 +9,4 @@
"vikyd.vscode-fold-level",
"pomber.git-file-history"
]
}
}
13 changes: 13 additions & 0 deletions Web/css/librebooking.css
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,11 @@ span.searchclear-label {
font-family: "bootstrap-icons";
}

.announcement a,
.announcement a:visited {
color: var(--primary);
}

.resource-draggable {
cursor: move;
border: solid 1px transparent;
Expand Down Expand Up @@ -490,6 +495,10 @@ input[type=text].user-search {
width: 250px;
}

input.mid-number {
width: 70px !important;
}

#participantList,
#inviteeList {
height: 100px;
Expand Down Expand Up @@ -519,6 +528,10 @@ input[type=text].user-search {
min-width: 250px;
}

#panelCustomReport label {
min-width: 130px;
}

.no-show {
display: none !important;
}
16 changes: 8 additions & 8 deletions Web/scripts/admin/attributes.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ function AttributeManagement(opts) {

$.ajax({
url: opts.changeCategoryUrl + categoryId, cache: false, beforeSend: function () {
$('#indicator').removeClass('no-show').insertBefore(elements.attributeList);
$('#indicator').removeClass('d-none').insertBefore(elements.attributeList);
$(elements.attributeList).html('');
}
}).done(function (data) {
$('#indicator').addClass('no-show');
$('#indicator').addClass('d-none');
$(elements.attributeList).html(data);
});
}
Expand Down Expand Up @@ -155,10 +155,10 @@ function AttributeManagement(opts) {
handleEntitiesSelected(activeAppliesTo);
});

elements.limitScope.change(function (e) {
elements.attributeSecondary.addClass('no-show');
elements.limitScope.change(function () {
elements.attributeSecondary.addClass('d-none');
if (elements.limitScope.is(':checked')) {
elements.attributeSecondary.removeClass('no-show');
elements.attributeSecondary.removeClass('d-none');
}
});

Expand Down Expand Up @@ -321,14 +321,14 @@ function AttributeManagement(opts) {
if (elements.attributeCategory.val() == options.categories.reservation) {
$('.attributeUnique').hide();
$('.attributeAdminOnly').show();
$('.secondaryEntities, .attributeSecondary').addClass('no-show');
$('.secondaryEntities').removeClass('no-show');
$('.secondaryEntities, .attributeSecondary').addClass('d-none');
$('.secondaryEntities').removeClass('d-none');
$('.attributeIsPrivate').show();
}
else {
$('.attributeUnique').show();
//$('.attributeAdminOnly').hide();
$('.secondaryEntities, .attributeSecondary').addClass('no-show');
$('.secondaryEntities, .attributeSecondary').addClass('d-none');
$('.attributeIsPrivate').hide();
}
};
Expand Down
12 changes: 5 additions & 7 deletions Web/scripts/admin/email-templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ function EmailTemplateManagement(opts) {
elements.templateOpts.on('change', function (e) {
var templateName = elements.templateOpts.val();
if (templateName == '') {
elements.editEmailSection.addClass('no-show');
elements.editEmailSection.addClass('d-none');
}
else {
elements.templatePath.val(templateName);
ajaxGet(options.scriptUrl + '?dr=template&lang=' + elements.languageOpts.val() + '&tn=' + templateName, null, loadTemplate);
}
});

elements.reloadEmailContents.on('click', function(e){
elements.reloadEmailContents.on('click', function (e) {
e.preventDefault();
var templateName = elements.templateOpts.val();
ajaxGet(options.scriptUrl + '?dr=originalTemplate&lang=' + elements.languageOpts.val() + '&tn=' + templateName, null, loadTemplate);
Expand All @@ -51,18 +51,16 @@ function EmailTemplateManagement(opts) {
};

function updatedEmail(data) {
if (data.saveResult == true)
{
if (data.saveResult == true) {
elements.updateSuccess.show().delay(2000).fadeOut(200);
}
else
{
else {
elements.updateFailed.show().delay(2000).fadeOut(200);
}
}

function loadTemplate(data) {
elements.templateContents.val(data);
elements.editEmailSection.removeClass('no-show');
elements.editEmailSection.removeClass('d-none');
}
}
4 changes: 2 additions & 2 deletions Web/scripts/admin/group.js
Original file line number Diff line number Diff line change
Expand Up @@ -200,13 +200,13 @@ function GroupManagement(opts) {

$('#importCount').text(responseText.importCount);
$('#importSkipped').text(responseText.skippedRows.length > 0 ? responseText.skippedRows.join(',') : '0');
$('#importResult').removeClass('no-show');
$('#importResult').removeClass('d-none');

var errors = $('#importErrors');
errors.empty();
if (responseText.messages && responseText.messages.length > 0) {
var messages = responseText.messages.join('</li><li>');
errors.html('<div>' + messages + '</div>').removeClass('no-show');
errors.html('<div>' + messages + '</div>').removeClass('d-none');
}
};

Expand Down
32 changes: 13 additions & 19 deletions Web/scripts/admin/quota.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ function QuotaManagement(opts) {
handleEnforceEveryDayToggle(e);
});

ConfigureAsyncForm(elements.addForm, getSubmitCallback(options.actions.addQuota), null, handleAddError, {onBeforeSubmit: validateTimes});
ConfigureAsyncForm(elements.addForm, getSubmitCallback(options.actions.addQuota), null, handleAddError, { onBeforeSubmit: validateTimes });
ConfigureAsyncForm(elements.deleteForm, getSubmitCallback(options.actions.deleteQuota), null, handleAddError);
};

Expand All @@ -62,38 +62,32 @@ function QuotaManagement(opts) {
};

var handleEnforceAllDayToggle = function (e) {
if (elements.enforceAllDayToggle.is(':checked'))
{
elements.enforceHoursTimes.addClass('no-show');
if (elements.enforceAllDayToggle.is(':checked')) {
elements.enforceHoursTimes.addClass('d-none');
}
else
{
elements.enforceHoursTimes.removeClass('no-show');
else {
elements.enforceHoursTimes.removeClass('d-none');
}
};

var handleEnforceEveryDayToggle = function (e) {
if (elements.enforceEveryDayToggle.is(':checked'))
{
elements.enforceDays.addClass('no-show');
if (elements.enforceEveryDayToggle.is(':checked')) {
elements.enforceDays.addClass('d-none');
}
else
{
elements.enforceDays.removeClass('no-show');
else {
elements.enforceDays.removeClass('d-none');
}
};

var validateTimes = function () {
$('#timeError').addClass('no-show');
if (!elements.enforceAllDayToggle.is(':checked'))
{
$('#timeError').addClass('d-none');
if (!elements.enforceAllDayToggle.is(':checked')) {
var start = moment('2010-01-01 ' + elements.enforceStartTime.val(), 'YYYY-MM-DD hh:mm a');
var end = moment('2010-01-01 ' + elements.enforceEndTime.val(), 'YYYY-MM-DD hh:mm a');
var valid = start.isBefore(end) || (end.hour() == 0 && end.minute() == 0);

if (!valid)
{
$('#timeError').removeClass('no-show');
if (!valid) {
$('#timeError').removeClass('d-none');
}
return valid;
}
Expand Down
7 changes: 4 additions & 3 deletions Web/scripts/admin/reservations.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,12 @@ function ReservationManagement(opts, approval) {
viewReservation($(this).attr('data-refnum'));
});

elements.reservationTable.delegate('.edit', 'click', function () {
if ($(e.target).hasClass('action') || $(e.target).closest('td').hasClass('action')) {
elements.reservationTable.delegate('.edit', 'click', function (e) {
//This conditional prevents the edit button from working on mobile devices
/*if ($(e.target).hasClass('action') || $(e.target).closest('td').hasClass('action')) {
e.stopPropagation();
return;
}
}*/
viewReservation($(this).closest('tr').attr('data-refnum'));
});

Expand Down
24 changes: 12 additions & 12 deletions Web/scripts/admin/resource.js
Original file line number Diff line number Diff line change
Expand Up @@ -326,11 +326,11 @@ function ResourceManagement(opts) {

$('#bulkEditConcurrent').change(function () {
if ($(this).val() == '1') {
$('#bulkEditAllowConcurrentDiv').removeClass('no-show');
$('#bulkEditAllowConcurrentDiv').removeClass('d-none');
}

if ($(this).val() == '0') {
$('#bulkEditAllowConcurrentDiv').addClass('no-show');
$('#bulkEditAllowConcurrentDiv').addClass('d-none');
}
});

Expand Down Expand Up @@ -461,10 +461,10 @@ function ResourceManagement(opts) {

elements.toggleStatusChangeMessage.on('change', function (e) {
if ($(this).is(":checked")) {
elements.sendStatusChangeMessageContent.removeClass('no-show');
elements.sendStatusChangeMessageContent.removeClass('d-none');
}
else {
elements.sendStatusChangeMessageContent.addClass('no-show');
elements.sendStatusChangeMessageContent.addClass('d-none');
}
});

Expand Down Expand Up @@ -833,10 +833,10 @@ function ResourceManagement(opts) {
addStatusReason.unbind();
addStatusReason.click(function (e) {
e.preventDefault();
statusForm.find(elements.newStatusReason).toggleClass('no-show');
statusForm.find(elements.existingStatusReason).toggleClass('no-show');
statusForm.find(elements.newStatusReason).toggleClass('d-none');
statusForm.find(elements.existingStatusReason).toggleClass('d-none');

if (statusForm.find(elements.newStatusReason).hasClass('no-show')) {
if (statusForm.find(elements.newStatusReason).hasClass('d-none')) {
statusForm.find(elements.statusReasons).data('prev', statusReasons.val());
statusForm.find(elements.statusReasons).val('');
statusForm.find(elements.resourceStatusReason).focus();
Expand All @@ -857,7 +857,7 @@ function ResourceManagement(opts) {
//

elements.toggleStatusChangeMessage.prop('checked', false);
elements.sendStatusChangeMessageContent.addClass('no-show');
elements.sendStatusChangeMessageContent.addClass('d-none');
elements.statusMessageContent.val('');

elements.statusDialog.modal('show');
Expand Down Expand Up @@ -928,12 +928,12 @@ function ResourceManagement(opts) {
var resourceId = getActiveResourceId();
$.get(opts.permissionsUrl + '?dr=users', { rid: resourceId }, function (data) {
elements.resourceUserList.html(data);
$('.user-permission-spinner').addClass('no-show');
$('.user-permission-spinner').addClass('d-none');
});
};

var changeUserPermission = function (userId, type) {
$('.user-permission-spinner').removeClass('no-show');
$('.user-permission-spinner').removeClass('d-none');
$('#changeUserId').val(userId);
$('#changeUserType').val(type);
elements.changeUserForm.submit();
Expand All @@ -955,12 +955,12 @@ function ResourceManagement(opts) {
var resourceId = getActiveResourceId();
$.get(opts.permissionsUrl + '?dr=groups', { rid: resourceId }, function (data) {
elements.resourceGroupList.html(data);
$('.group-permission-spinner').addClass('no-show');
$('.group-permission-spinner').addClass('d-none');
});
};

var changeGroupPermission = function (groupId, type) {
$('.group-permission-spinner').removeClass('no-show');
$('.group-permission-spinner').removeClass('d-none');
$('#changeGroupId').val(groupId);
$('#changeGroupType').val(type);
elements.changeGroupForm.submit();
Expand Down
80 changes: 43 additions & 37 deletions Web/scripts/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,43 +103,49 @@ function Dashboard(opts) {
var refNum = $(this).attr('id');
window.location = options.reservationUrl + refNum;
});
/* There is no btnCheckin or btnCheckout button, it appears to be unused.
$('.btnCheckin').click(function (e) {
e.preventDefault();
e.stopPropagation();
var button = $(this);
button.attr('disabled', 'disabled');
button.find('i').removeClass('fa-sign-in').addClass('fa-spinner');

var form = $('#form-checkin');
var refNum = $(this).attr('data-referencenumber');
$('#referenceNumber').val(refNum);
$.blockUI({ message: $('#wait-box') });
ajaxPost(form, $(this).data('url'), null, function (data) {
$('button[data-referencenumber="' + refNum + '"]').addClass('no-show');
$('#result').html(data);
ShowReservationAjaxResponse();
});
});

$('.btnCheckout').click(function (e) {
e.preventDefault();
e.stopPropagation();
var button = $(this);
button.attr('disabled', 'disabled');
button.find('i').removeClass('fa-sign-in').addClass('fa-spinner');

var form = $('#form-checkout');
var refNum = $(this).attr('data-referencenumber');
$('#referenceNumber').val(refNum);
$.blockUI({ message: $('#wait-box') });
ajaxPost(form, null, null, function (data) {
$('button[data-referencenumber="' + refNum + '"]').addClass('no-show');
$('#result').html(data);
ShowReservationAjaxResponse();
});
});
*/

$('.btnCheckin').click(function (e) {
e.preventDefault();
e.stopPropagation();
var button = $(this);
button.attr('disabled', 'disabled');
button.find('i').removeClass('bi-box-arrow-in-right').addClass('spinner-border').css({
'width': '1rem',
'height': '1rem'
});

var form = $('#form-checkin');
var refNum = $(this).attr('data-referencenumber');
$('#referenceNumber').val(refNum);
$.blockUI({ message: $('#wait-box') });
ajaxPost(form, $(this).data('url'), null, function (data) {
$('button[data-referencenumber="' + refNum + '"]').addClass('d-none');
$('#result').html(data);
ShowReservationAjaxResponse();
});
});

$('.btnCheckout').click(function (e) {
e.preventDefault();
e.stopPropagation();
var button = $(this);
button.attr('disabled', 'disabled');
button.find('i').removeClass('bi-box-arrow-in-left').addClass('spinner-border').css({
'width': '1rem',
'height': '1rem'
});

var form = $('#form-checkout');
var refNum = $(this).attr('data-referencenumber');
$('#referenceNumber').val(refNum);
$.blockUI({ message: $('#wait-box') });
ajaxPost(form, null, null, function (data) {
$('button[data-referencenumber="' + refNum + '"]').addClass('d-none');
$('#result').html(data);
ShowReservationAjaxResponse();
});
});

$('#wait-box').on('click', '#btnSaveSuccessful', function (e) {

CloseSaveDialog();
Expand Down
Loading