Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 16 additions & 6 deletions Web/css/librebooking.css
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,6 @@ img.logo {
color: var(--primary-hover) !important;
}

/*
.dropdown-toggle.show {
color: var(--primary-hover) !important;
}
*/
.dropdown-menu {
--bs-dropdown-link-active-bg: var(--primary);
font-size: 12px;
Expand Down Expand Up @@ -298,7 +293,6 @@ li.ui-timepicker-selected,
background: var(--primary);
}

.horizontal-list li,
.updateCustomAttribute,
.reservation-list-dates div {
min-width: 240px;
Expand Down Expand Up @@ -611,6 +605,22 @@ input.mid-number {
margin: 0;
}

.trumbowyg-modal-submit {
background-color: var(--primary) !important;
color: var(--text-color-btn) !important;
}

.descriptionValue a,
.descriptionContent a,
.notesValue a,
.noteContent a,
.announcement a,
.announcementText a,
.announcementContent a,
.trumbowyg-editor a {
color: var(--primary);
}

.editable-container.editable-popup {
max-width: 50% !important;
}
Expand Down
95 changes: 53 additions & 42 deletions Web/scripts/admin/announcement.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,20 @@ function AnnouncementManagement(opts) {
editPriority: $('#editPriority'),
editUserGroups: $('#editUserGroups'),
editResourceGroups: $('#editResourceGroups'),
editUserGroupsDiv: $('#editUserGroupsDiv'),
editResourceGroupsDiv: $('#editResourceGroupsDiv'),
editUserGroupsDiv: $('#editUserGroupsDiv'),
editResourceGroupsDiv: $('#editResourceGroupsDiv'),

emailCount: $('#emailCount'),

displayPage: $('#addPage'),
moreOptions: $('#moreOptions')
displayPage: $('#addPage'),
moreOptions: $('#moreOptions')
};

var announcements = new Object();

AnnouncementManagement.prototype.init = function () {

elements.announcementList.on( 'click', 'a.update', function (e) {
elements.announcementList.on('click', 'a.update', function (e) {
setActiveId($(this));
e.preventDefault();
});
Expand All @@ -48,15 +48,14 @@ function AnnouncementManagement(opts) {
deleteAnnouncement();
});

elements.displayPage.change(function(e){
if ($(this).val() == '5')
{
elements.moreOptions.hide();
}
else {
elements.moreOptions.show();
}
});
elements.displayPage.change(function (e) {
if ($(this).val() == '5') {
elements.moreOptions.hide();
}
else {
elements.moreOptions.show();
}
});

$(".save").click(function () {
$(this).closest('form').submit();
Expand All @@ -68,9 +67,19 @@ function AnnouncementManagement(opts) {

ConfigureAsyncForm(elements.addForm, getSubmitCallback(options.actions.add));
ConfigureAsyncForm(elements.deleteForm, getSubmitCallback(options.actions.deleteAnnouncement));
ConfigureAsyncForm(elements.form, getSubmitCallback(options.actions.edit));
ConfigureAsyncForm(elements.emailForm, getSubmitCallback(options.actions.email), function() {
elements.emailDialog.modal('hide');}
ConfigureAsyncForm(elements.form, function () {
// Sanitize the content of the Trumbowyg before sending it
const rawContent = $('#editText').trumbowyg('html');
const sanitizedHtml = DOMPurify.sanitize(rawContent);

// Update the textarea with clean content before submitting
$('#editText').val(sanitizedHtml);

return options.submitUrl + "?aid=" + getActiveId() + "&action=" + options.actions.edit;
});
ConfigureAsyncForm(elements.emailForm, getSubmitCallback(options.actions.email), function () {
elements.emailDialog.modal('hide');
}
);
};

Expand All @@ -91,41 +100,43 @@ function AnnouncementManagement(opts) {

var editAnnouncement = function () {
var announcement = getActiveAnnouncement();
// date formatting, temporary?
var startDateFormatted = moment(announcement.start, 'DD/MM/YYYY').format('YYYY-MM-DD');
var endDateFormatted = moment(announcement.end, 'DD/MM/YYYY').format('YYYY-MM-DD');

elements.editText.val(HtmlDecode(announcement.text));
elements.editBegin.val(announcement.start);
elements.editBegin.val(startDateFormatted);
elements.editBegin.trigger('change');
elements.editEnd.val(announcement.end);
elements.editEnd.val(endDateFormatted);
elements.editEnd.trigger('change');
elements.editPriority.val(announcement.priority);

if (announcement.displayPage == 5)
{
elements.editUserGroupsDiv.hide();
elements.editResourceGroupsDiv.hide();
}
else
{
elements.editUserGroupsDiv.show();
elements.editResourceGroupsDiv.show();

elements.editUserGroups.val($.map(announcement.groupIds, function(i){
return i + "";
}));
elements.editUserGroups.trigger('change');

elements.editResourceGroups.val($.map(announcement.resourceIds, function(i){
return i + "";
}));
elements.editResourceGroups.trigger('change');
}
if (announcement.displayPage == 5) {
elements.editUserGroupsDiv.hide();
elements.editResourceGroupsDiv.hide();
}
else {
elements.editUserGroupsDiv.show();
elements.editResourceGroupsDiv.show();

elements.editUserGroups.val($.map(announcement.groupIds, function (i) {
return i + "";
}));
elements.editUserGroups.trigger('change');

elements.editResourceGroups.val($.map(announcement.resourceIds, function (i) {
return i + "";
}));
elements.editResourceGroups.trigger('change');
}

elements.editDialog.modal('show');
};

var emailAnnouncement = function() {
var emailAnnouncement = function () {
var announcement = getActiveAnnouncement();

ajaxGet(options.getEmailCountUrl + '&aid=' +announcement.id, function(){}, function(data) {
ajaxGet(options.getEmailCountUrl + '&aid=' + announcement.id, function () { }, function (data) {
elements.emailCount.text(data.users);
elements.emailDialog.modal('show');
});
Expand All @@ -140,6 +151,6 @@ function AnnouncementManagement(opts) {
};

AnnouncementManagement.prototype.addAnnouncement = function (id, text, start, end, priority, groupIds, resourceIds, displayPage) {
announcements[id] = {id: id, text: text, start: start, end: end, priority: priority, groupIds: groupIds, resourceIds: resourceIds, displayPage: displayPage};
announcements[id] = { id: id, text: text, start: start, end: end, priority: priority, groupIds: groupIds, resourceIds: resourceIds, displayPage: displayPage };
};
}
10 changes: 2 additions & 8 deletions Web/scripts/admin/email-templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ function EmailTemplateManagement(opts) {
updateEmailForm: $('#updateEmailForm'),
reloadEmailContents: $('#reloadEmailContents'),
templatePath: $('#templatePath'),
selectedLanguage: $('#selectedLanguage'),
updateSuccess: $('#updateSuccess'),
updateFailed: $('#updateFailed'),

Expand All @@ -17,14 +18,6 @@ function EmailTemplateManagement(opts) {

EmailTemplateManagement.prototype.init = function () {

$(".save").click(function () {
$(this).closest('form').submit();
});

$(".cancel").click(function () {
$(this).closest('.dialog').dialog("close");
});

elements.languageOpts.on('change', function (e) {
document.location = options.scriptUrl + '?lang=' + elements.languageOpts.val();
});
Expand All @@ -36,6 +29,7 @@ function EmailTemplateManagement(opts) {
}
else {
elements.templatePath.val(templateName);
elements.selectedLanguage.val(elements.languageOpts.val());
ajaxGet(options.scriptUrl + '?dr=template&lang=' + elements.languageOpts.val() + '&tn=' + templateName, null, loadTemplate);
}
});
Expand Down
11 changes: 0 additions & 11 deletions lang/en_us/AccountCreation-custom.tpl

This file was deleted.

1 change: 1 addition & 0 deletions tpl/Admin/Configuration/manage_email_templates.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
</div>

<input type="hidden" id="templatePath" {formname key=EMAIL_TEMPLATE_NAME} />
<input type="hidden" id="selectedLanguage" {formname key=EMAIL_TEMPLATE_LANGUAGE} />
{csrf_token}
</form>
</div>
Expand Down
39 changes: 21 additions & 18 deletions tpl/Admin/Resources/manage_resources.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,6 @@
</div>
</div>
</div>
{*{pagination pageInfo=$PageInfo showCount=true}*}

<div id="globalError" class="error d-none"></div>

Expand Down Expand Up @@ -298,6 +297,10 @@
</a>
</div>
</div>
<div>
<label class="inline fw-bold">ResourceId:</label>
<span>{$id}</span>
</div>
<div>
<label
class="inline fw-bold">{translate key='Status'}</label>
Expand Down Expand Up @@ -2124,31 +2127,31 @@
container: 'body',
html: true,
placement: 'top',
trigger: 'manual',
trigger: 'manual',
content: function() {
var popoverId = $(this).data('popover-content');
return $(popoverId).html();
}
});

$('[rel="popover"]').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$('[rel="popover"]').on('click', function(e) {
e.preventDefault();
e.stopPropagation();

// Hide other popovers if needed
$('[rel="popover"]').not(this).popover('hide');
// Hide other popovers if needed
$('[rel="popover"]').not(this).popover('hide');

// Toggle the clicked one
$(this).popover('toggle');
});
// Toggle the clicked one
$(this).popover('toggle');
});

$('.descriptionValue').on('shown', function(e, editable) {
$(document).off('click.editable');
});
$('.descriptionValue').on('shown', function(e, editable) {
$(document).off('click.editable');
});

$('.notesValue').on('shown', function(e, editable) {
$(document).off('click.editable');
});
$('.notesValue').on('shown', function(e, editable) {
$(document).off('click.editable');
});
}

function setupCustomAttributesIcon() {
Expand Down Expand Up @@ -2223,7 +2226,7 @@
});

$('.descriptionValue').editable({
url: updateUrl + '{ManageResourcesActions::ActionChangeDescription}',
url: updateUrl + '{ManageResourcesActions::ActionChangeDescription}',
emptytext: "{translate key='NoDescriptionLabel'|escape:'javascript'}"
});

Expand Down Expand Up @@ -2402,4 +2405,4 @@ url: updateUrl + '{ManageResourcesActions::ActionChangeDescription}',
</script>
</div>

{include file='globalfooter.tpl'}
{include file='globalfooter.tpl'}
4 changes: 4 additions & 0 deletions tpl/Admin/Resources/view_resources.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,10 @@
<div class="col-sm-9 col-6">
<div class="title resourceNameField fs-5 fw-bold">
{$resource->GetName()}</div>
<div>
<label class="inline fw-bold">ResourceId:</label>
<span>{$id}</span>
</div>
<div>
<label class="inline fw-bold">{translate key='Status'}</label>
{if $resource->IsAvailable()}
Expand Down
Loading