From 71119f3d3aba157d6c5cfa8c56ab8e533ef1c1eb Mon Sep 17 00:00:00 2001 From: Nicol Date: Thu, 12 Dec 2024 19:17:02 +0000 Subject: [PATCH 1/6] 1.2-5.81: regression fixes, see changelog --- ext/riverlea/CHANGELOG.md | 9 + ext/riverlea/core/css/_cms.css | 2 +- ext/riverlea/core/css/_core.css | 2 +- .../core/css/components/_dropdowns.css | 2 +- ext/riverlea/core/css/components/_tables.css | 2 +- ext/riverlea/core/css/crm.designer.css | 268 ++++++++++++++++++ ext/riverlea/info.xml | 2 +- ext/riverlea/streams/thames/css/civicrm.css | 8 + 8 files changed, 290 insertions(+), 5 deletions(-) create mode 100644 ext/riverlea/core/css/crm.designer.css diff --git a/ext/riverlea/CHANGELOG.md b/ext/riverlea/CHANGELOG.md index 968ea498f87..ad3b1913417 100644 --- a/ext/riverlea/CHANGELOG.md +++ b/ext/riverlea/CHANGELOG.md @@ -1,3 +1,12 @@ +1.2.0-5.81.beta + - CHANGED - version numbering (again!) ref +https://lab.civicrm.org/extensions/riverlea/-/issues/44#note_174132 + - FIXED - Thames, dropdown clipping, ref +https://lab.civicrm.org/extensions/riverlea/-/issues/90 + - FIXED - Backbone.js Profile edit via Event/Contribution page issues, ref https://lab.civicrm.org/extensions/riverlea/-/issues/92 + - ADDED - crm.designer.css into /core/css to allow for RL overrides. Added some simple integrations (button colour, spacing fixe) + - CHANGED - dropdown items hover state now has a background color that should contrast the hover text colour - it was using a variable that was sometimes transparent, creating contrast ratio issues in Minetta + 1.80.14 - FIXED - regression caused by trying to reset clipping in Thames (ref: https://lab.civicrm.org/extensions/riverlea/-/issues/91) diff --git a/ext/riverlea/core/css/_cms.css b/ext/riverlea/core/css/_cms.css index 6bd0ba14f16..6c3c02055e6 100755 --- a/ext/riverlea/core/css/_cms.css +++ b/ext/riverlea/core/css/_cms.css @@ -25,7 +25,7 @@ html.admin-bar #admin-bar-menu .civicrm .admin-bar-link-icon { /* Drupal - body.page-civicrm */ -/* D7 Garland */ +/* D7 */ body.page-civicrm > #page { padding: 0; margin: 0; diff --git a/ext/riverlea/core/css/_core.css b/ext/riverlea/core/css/_core.css index 4e89d1cffe0..ae0373b4caa 100755 --- a/ext/riverlea/core/css/_core.css +++ b/ext/riverlea/core/css/_core.css @@ -4,5 +4,5 @@ can be merged later. */ @import url(components/_accordion.css); @import url(components/_alerts.css); @import url(components/_buttons.css); @import url(components/_form.css); @import url(components/_icons.css); @import url(components/_nav.css); @import url(components/_tabs.css); @import url(components/_dropdowns.css); @import url(components/_tables.css); @import url(components/_dialogs.css); @import url(components/_page.css); @import url(components/_components.css); @import url(components/_front.css); :root { - --crm-release: '1.80.14'; + --crm-release: '1.2.0-5.81.beta'; } diff --git a/ext/riverlea/core/css/components/_dropdowns.css b/ext/riverlea/core/css/components/_dropdowns.css index aa59c45aa64..4ea5aace846 100644 --- a/ext/riverlea/core/css/components/_dropdowns.css +++ b/ext/riverlea/core/css/components/_dropdowns.css @@ -90,7 +90,7 @@ #crm-create-new-list ul a:focus { text-decoration: none; color: var(--crm-c-text); - background-color: var(--crm-c-page-background); + background-color: var(--crm-c-background); } /* In-table dropdown */ diff --git a/ext/riverlea/core/css/components/_tables.css b/ext/riverlea/core/css/components/_tables.css index 5f0cca8d310..da93c44ecc2 100644 --- a/ext/riverlea/core/css/components/_tables.css +++ b/ext/riverlea/core/css/components/_tables.css @@ -142,7 +142,7 @@ table.dataTable.order-column.stripe tbody tr.extension-installed.even > .sorting overflow-x: auto; max-width: 100%; }*/ -/* needed to reset the scroll in Thames but causes other problem - #91) +/* needed to reset the scroll in Thames but causes other problems #91) .crm-container div:has(td span > .panel), .crm-container div:has(td > div > .dropdown-menu) { overflow: initial; diff --git a/ext/riverlea/core/css/crm.designer.css b/ext/riverlea/core/css/crm.designer.css new file mode 100644 index 00000000000..66518ce2a6c --- /dev/null +++ b/ext/riverlea/core/css/crm.designer.css @@ -0,0 +1,268 @@ +.crm-profile-selector-preview-pane { + width: 75%; + min-width: 500px; + height: 20em; + border: 1px solid black; + padding: 4px; + } + + .crm-container .crm-profile-selector-preview .icon { + float: none; + } + + .crm-designer-toolbar { + width: 290px; + position: absolute; + top: 0; + right: 0; + } + + .crm-designer-toolbar hr, + .crm-designer-palette-search { + margin: var(--crm-m) 0; + } + + .crm-designer-palette-search .crm-filter-objects { + margin-bottom: var(--crm-m); + } + + .crm-designer-palette-search input { + max-width: 75%; + } + + .crm-designer-toolbar .ui-resizable-w { + border-left: 4px dotted var(--crm-c-background4); + cursor: ew-resize; + height: 50px; + top: 45%; + left: -10px; /* stops resize handle overlap */ + } + + .crm-designer-toolbar .ui-resizable-w:hover { + border-left: 4px dotted #6b6b6b; + } + + .crm-designer-palette { + height: 20em; + } + + .crm-designer-palette-section > a { + font-weight: bold; + } + + .crm-designer-palette .crm-designer-palette-field, + .crm-designer-palette .crm-designer-palette-field.disabled:hover { + padding: 1px; + border: 1px dashed transparent; + background-color: transparent; + margin-right: 0.5em; + } + + .crm-designer-palette .crm-designer-palette-field a { + cursor: move; + } + + .crm-designer-palette .crm-designer-palette-field:hover, + .crm-designer-fields-region .crm-designer-row:hover, + .crm-designer-open .crm-designer-row, + .crm-designer-row-placeholder { + border: 1px dashed gray; + cursor: move; + background-color: var(--crm-c-background); + } + + .crm-designer-palette .crm-designer-palette-field.disabled a, + .crm-designer-open .crm-designer-row:hover { + cursor: default; + } + + .crm-container .crm-designer-palette .crm-designer-palette-tree a { + color: #222; + font-style: normal; + } + + .crm-container .crm-designer-palette .disabled a, + .crm-designer-palette .crm-designer-palette-tree .disabled a.jstree-search { + color: #999; + } + + .crm-designer-palette .jstree-leaf ins { + width: 6px; + } + + /* Cancel hovering affect from JSTree theme -- we already do this! */ + .crm-designer-palette .crm-designer-palette-tree .jstree-hovered { + background: transparent; + border: 1px transparent; + padding: 1px 2px 0 2px; + } + + .crm-designer-canvas { + padding-right: 1em; + margin-right: 300px; + } + + .crm-container.ui-dialog .crm-designer-buttonset-region.ui-dialog-buttonset { + text-align: center; + margin: auto; + padding: 0; + } + + .crm-designer-field-binding { + border: 1px inset black; + padding: 0.4em; + background: #ccc; + } + + .crm-designer-fields { + min-width: 100px; + /* to allow dropping in big whitespace, coordinate with min-height of dialog */ + min-height: 500px; + } + + .crm-designer-duplicate .crm-designer-row { + background: #fbb; + } + + .crm-designer-duplicate .field-location_type_id, + .crm-designer-duplicate .field-phone_type_id { + color: #f00; + } + + .crm-designer-row .crm-designer-buttons { + right: 5px; + top: 5px; + position: absolute; + height: 20px; + } + + .crm-designer-fields-region .crm-designer-buttons { + display: none; + } + + .crm-designer-fields-region .crm-designer-open .crm-designer-buttons, + .crm-designer-row:hover .crm-designer-buttons { + display: block; + } + + .crm-designer-row .crm-designer-buttons a { + cursor: pointer; + display: inline-block; + padding: var(--crm-s); + font-size: var(--crm-m2); + border-radius: 4px; + border: 0; + } + + .crm-designer .crm-designer-palette-tree button { + font-size: .8em; + } + + .crm-designer .crm-designer-palette-tree span.ui-button-text { + padding: 0.4em; + } + + .crm-designer .crm-designer-edit-custom { + position: absolute; + right: 5px; + top: 35px; + font-size: .8em; + border: 1px solid #cfcec3; + } + + button#crm-designer-add-custom-set { + margin-top: 10px; + } + + .ui-sortable-helper > .crm-designer-row { + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); + opacity: 0.75; + } + + .crm-designer-row .crm-designer-buttons a.crm-designer-action-settings:hover { + background-color: var(--crm-c-success); + color: var(--crm-c-success-text); + text-decoration: none; + } + + .crm-designer-row .crm-designer-buttons a.crm-designer-action-remove:hover { + background-color: var(--crm-c-alert); + color: var(--crm-c-alert-text); + text-decoration: none; + } + + .crm-designer-row, + .crm-designer-row-placeholder { + border: 1px dashed transparent; + padding: 0.3em; + margin: auto; + position: relative; + } + + .crm-designer-row-label { + padding: 0.5em 0; + } + + .crm-designer-label { + font-weight: bold; + } + + .crm-designer-row-placeholder { + visibility: visible !important; + height: 2em; + } + + .crm-designer-dialog .description { + margin: 0 2em 0 0; + } + + /* Hack for Drupal 8 for some reason was moving it around strange */ + .crm-designer-dialog .ui-resizable { + position: absolute; + } + + .crm-designer-dialog .disabled .description { + display: none; + } + + .crm-designer-dialog li.crm-designer-row-placeholder, + .crm-designer-dialog li.ui-draggable-dragging, + .crm-designer-dialog .bbf-form ul { + list-style-image: none; + list-style: none; + } + + .ui-dialog .crm-designer-dialog.ui-dialog-content { + overflow: auto; + padding-right: .25em; + } + + .crm-designer-dialog .full-height { + height: 100%; + } + + .crm-designer { + position: relative; + } + + .crm-profile-selector-preview-pane, + .crm-designer-dialog .crm-designer .scroll { + overflow-x: auto; + overflow-y: scroll; + } + + .ui-dialog { + border: 1px solid #444; + box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); + } + + /* Hide annoying 'preview' message */ + .crm-profile-selector-preview-pane div.profile-preview-msg { + display: none; + } + + /* Adds spacing between form rows */ + + .crm-designer-field-detail fieldset > ul > li { + margin-bottom: var(--crm-s); + } \ No newline at end of file diff --git a/ext/riverlea/info.xml b/ext/riverlea/info.xml index 6e225c76477..91dcd6062ea 100755 --- a/ext/riverlea/info.xml +++ b/ext/riverlea/info.xml @@ -12,7 +12,7 @@ http://www.gnu.org/licenses/agpl-3.0.html [civicrm.releaseDate] - [civicrm.version] + 1.2-[civicrm.version] stable [civicrm.majorVersion] diff --git a/ext/riverlea/streams/thames/css/civicrm.css b/ext/riverlea/streams/thames/css/civicrm.css index 0fa0b2e54a4..652d14facb2 100755 --- a/ext/riverlea/streams/thames/css/civicrm.css +++ b/ext/riverlea/streams/thames/css/civicrm.css @@ -382,6 +382,14 @@ div:has(> table) { overflow-x: auto; max-width: 100%; } +/* When a menu is activated, allow it 20rem height to prevent it causing scroll + * when the menu is opened on a row near the bottom of the table and + * which the user might not notice / might make the menu hard to access. + * https://lab.civicrm.org/extensions/riverlea/-/issues/90 + */ +div:has(> table .btn-slide-active, > table .dropdown-toggle[aria-expanded="true"]) { + padding-bottom: 20rem; +} /* ...and adjust the individual row checkboxes to be in line * Ah, no we have no way to target these. From e2bdfe11460e1ee46dd854c34c32700ad6970619 Mon Sep 17 00:00:00 2001 From: Nicol Date: Thu, 12 Dec 2024 19:21:11 +0000 Subject: [PATCH 2/6] removes commented out css --- ext/riverlea/core/css/components/_tables.css | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/ext/riverlea/core/css/components/_tables.css b/ext/riverlea/core/css/components/_tables.css index da93c44ecc2..0415d2f2599 100644 --- a/ext/riverlea/core/css/components/_tables.css +++ b/ext/riverlea/core/css/components/_tables.css @@ -136,17 +136,6 @@ table.dataTable.order-column.stripe tbody tr.extension-installed.even > .sorting .crm-container .crm-case-caseview-form-block table { box-shadow: none; } -/*.crm-container .dataTables_wrapper, -.crm-container .form-item:has(> table), -.crm-container div:has(> table) { simple fix-all for making many tables scroll when needed - overflow-x: auto; - max-width: 100%; -}*/ -/* needed to reset the scroll in Thames but causes other problems #91) -.crm-container div:has(td span > .panel), -.crm-container div:has(td > div > .dropdown-menu) { - overflow: initial; -}*/ .crm-selection-reset { padding: var(--crm-m) 0; margin-bottom: var(--crm-m); From 5cc49f9825d7d02fe68fe41eefb2bdb0413a7091 Mon Sep 17 00:00:00 2001 From: Nicol Date: Thu, 12 Dec 2024 20:03:02 +0000 Subject: [PATCH 3/6] linting --- ext/riverlea/core/css/crm.designer.css | 534 ++++++++++++------------- 1 file changed, 267 insertions(+), 267 deletions(-) diff --git a/ext/riverlea/core/css/crm.designer.css b/ext/riverlea/core/css/crm.designer.css index 66518ce2a6c..c562ea218a1 100644 --- a/ext/riverlea/core/css/crm.designer.css +++ b/ext/riverlea/core/css/crm.designer.css @@ -1,268 +1,268 @@ .crm-profile-selector-preview-pane { - width: 75%; - min-width: 500px; - height: 20em; - border: 1px solid black; - padding: 4px; - } - - .crm-container .crm-profile-selector-preview .icon { - float: none; - } - - .crm-designer-toolbar { - width: 290px; - position: absolute; - top: 0; - right: 0; - } - - .crm-designer-toolbar hr, - .crm-designer-palette-search { - margin: var(--crm-m) 0; - } - - .crm-designer-palette-search .crm-filter-objects { - margin-bottom: var(--crm-m); - } - - .crm-designer-palette-search input { - max-width: 75%; - } - - .crm-designer-toolbar .ui-resizable-w { - border-left: 4px dotted var(--crm-c-background4); - cursor: ew-resize; - height: 50px; - top: 45%; - left: -10px; /* stops resize handle overlap */ - } - - .crm-designer-toolbar .ui-resizable-w:hover { - border-left: 4px dotted #6b6b6b; - } - - .crm-designer-palette { - height: 20em; - } - - .crm-designer-palette-section > a { - font-weight: bold; - } - - .crm-designer-palette .crm-designer-palette-field, - .crm-designer-palette .crm-designer-palette-field.disabled:hover { - padding: 1px; - border: 1px dashed transparent; - background-color: transparent; - margin-right: 0.5em; - } - - .crm-designer-palette .crm-designer-palette-field a { - cursor: move; - } - - .crm-designer-palette .crm-designer-palette-field:hover, - .crm-designer-fields-region .crm-designer-row:hover, - .crm-designer-open .crm-designer-row, - .crm-designer-row-placeholder { - border: 1px dashed gray; - cursor: move; - background-color: var(--crm-c-background); - } - - .crm-designer-palette .crm-designer-palette-field.disabled a, - .crm-designer-open .crm-designer-row:hover { - cursor: default; - } - - .crm-container .crm-designer-palette .crm-designer-palette-tree a { - color: #222; - font-style: normal; - } - - .crm-container .crm-designer-palette .disabled a, - .crm-designer-palette .crm-designer-palette-tree .disabled a.jstree-search { - color: #999; - } - - .crm-designer-palette .jstree-leaf ins { - width: 6px; - } - - /* Cancel hovering affect from JSTree theme -- we already do this! */ - .crm-designer-palette .crm-designer-palette-tree .jstree-hovered { - background: transparent; - border: 1px transparent; - padding: 1px 2px 0 2px; - } - - .crm-designer-canvas { - padding-right: 1em; - margin-right: 300px; - } - - .crm-container.ui-dialog .crm-designer-buttonset-region.ui-dialog-buttonset { - text-align: center; - margin: auto; - padding: 0; - } - - .crm-designer-field-binding { - border: 1px inset black; - padding: 0.4em; - background: #ccc; - } - - .crm-designer-fields { - min-width: 100px; - /* to allow dropping in big whitespace, coordinate with min-height of dialog */ - min-height: 500px; - } - - .crm-designer-duplicate .crm-designer-row { - background: #fbb; - } - - .crm-designer-duplicate .field-location_type_id, - .crm-designer-duplicate .field-phone_type_id { - color: #f00; - } - - .crm-designer-row .crm-designer-buttons { - right: 5px; - top: 5px; - position: absolute; - height: 20px; - } - - .crm-designer-fields-region .crm-designer-buttons { - display: none; - } - - .crm-designer-fields-region .crm-designer-open .crm-designer-buttons, - .crm-designer-row:hover .crm-designer-buttons { - display: block; - } - - .crm-designer-row .crm-designer-buttons a { - cursor: pointer; - display: inline-block; - padding: var(--crm-s); - font-size: var(--crm-m2); - border-radius: 4px; - border: 0; - } - - .crm-designer .crm-designer-palette-tree button { - font-size: .8em; - } - - .crm-designer .crm-designer-palette-tree span.ui-button-text { - padding: 0.4em; - } - - .crm-designer .crm-designer-edit-custom { - position: absolute; - right: 5px; - top: 35px; - font-size: .8em; - border: 1px solid #cfcec3; - } - - button#crm-designer-add-custom-set { - margin-top: 10px; - } - - .ui-sortable-helper > .crm-designer-row { - box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); - opacity: 0.75; - } - - .crm-designer-row .crm-designer-buttons a.crm-designer-action-settings:hover { - background-color: var(--crm-c-success); - color: var(--crm-c-success-text); - text-decoration: none; - } - - .crm-designer-row .crm-designer-buttons a.crm-designer-action-remove:hover { - background-color: var(--crm-c-alert); - color: var(--crm-c-alert-text); - text-decoration: none; - } - - .crm-designer-row, - .crm-designer-row-placeholder { - border: 1px dashed transparent; - padding: 0.3em; - margin: auto; - position: relative; - } - - .crm-designer-row-label { - padding: 0.5em 0; - } - - .crm-designer-label { - font-weight: bold; - } - - .crm-designer-row-placeholder { - visibility: visible !important; - height: 2em; - } - - .crm-designer-dialog .description { - margin: 0 2em 0 0; - } - - /* Hack for Drupal 8 for some reason was moving it around strange */ - .crm-designer-dialog .ui-resizable { - position: absolute; - } - - .crm-designer-dialog .disabled .description { - display: none; - } - - .crm-designer-dialog li.crm-designer-row-placeholder, - .crm-designer-dialog li.ui-draggable-dragging, - .crm-designer-dialog .bbf-form ul { - list-style-image: none; - list-style: none; - } - - .ui-dialog .crm-designer-dialog.ui-dialog-content { - overflow: auto; - padding-right: .25em; - } - - .crm-designer-dialog .full-height { - height: 100%; - } - - .crm-designer { - position: relative; - } - - .crm-profile-selector-preview-pane, - .crm-designer-dialog .crm-designer .scroll { - overflow-x: auto; - overflow-y: scroll; - } - - .ui-dialog { - border: 1px solid #444; - box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); - } - - /* Hide annoying 'preview' message */ - .crm-profile-selector-preview-pane div.profile-preview-msg { - display: none; - } - - /* Adds spacing between form rows */ - - .crm-designer-field-detail fieldset > ul > li { - margin-bottom: var(--crm-s); - } \ No newline at end of file + width: 75%; + min-width: 500px; + height: 20em; + border: 1px solid black; + padding: 4px; +} + +.crm-container .crm-profile-selector-preview .icon { + float: none; +} + +.crm-designer-toolbar { + width: 290px; + position: absolute; + top: 0; + right: 0; +} + +.crm-designer-toolbar hr, +.crm-designer-palette-search { + margin: var(--crm-m) 0; +} + +.crm-designer-palette-search .crm-filter-objects { + margin-bottom: var(--crm-m); +} + +.crm-designer-palette-search input { + max-width: 75%; +} + +.crm-designer-toolbar .ui-resizable-w { + border-left: 4px dotted var(--crm-c-background4); + cursor: ew-resize; + height: 50px; + top: 45%; + left: -10px; /* stops resize handle overlap */ +} + +.crm-designer-toolbar .ui-resizable-w:hover { + border-left: 4px dotted #6b6b6b; +} + +.crm-designer-palette { + height: 20em; +} + +.crm-designer-palette-section > a { + font-weight: bold; +} + +.crm-designer-palette .crm-designer-palette-field, +.crm-designer-palette .crm-designer-palette-field.disabled:hover { + padding: 1px; + border: 1px dashed transparent; + background-color: transparent; + margin-right: 0.5em; +} + +.crm-designer-palette .crm-designer-palette-field a { + cursor: move; +} + +.crm-designer-palette .crm-designer-palette-field:hover, +.crm-designer-fields-region .crm-designer-row:hover, +.crm-designer-open .crm-designer-row, +.crm-designer-row-placeholder { + border: 1px dashed gray; + cursor: move; + background-color: var(--crm-c-background); +} + +.crm-designer-palette .crm-designer-palette-field.disabled a, +.crm-designer-open .crm-designer-row:hover { + cursor: default; +} + +.crm-container .crm-designer-palette .crm-designer-palette-tree a { + color: #222; + font-style: normal; +} + +.crm-container .crm-designer-palette .disabled a, +.crm-designer-palette .crm-designer-palette-tree .disabled a.jstree-search { + color: #999; +} + +.crm-designer-palette .jstree-leaf ins { + width: 6px; +} + +/* Cancel hovering affect from JSTree theme -- we already do this! */ +.crm-designer-palette .crm-designer-palette-tree .jstree-hovered { + background: transparent; + border: 1px transparent; + padding: 1px 2px 0 2px; +} + +.crm-designer-canvas { + padding-right: 1em; + margin-right: 300px; +} + +.crm-container.ui-dialog .crm-designer-buttonset-region.ui-dialog-buttonset { + text-align: center; + margin: auto; + padding: 0; +} + +.crm-designer-field-binding { + border: 1px inset black; + padding: 0.4em; + background: #ccc; +} + +.crm-designer-fields { + min-width: 100px; + /* to allow dropping in big whitespace, coordinate with min-height of dialog */ + min-height: 500px; +} + +.crm-designer-duplicate .crm-designer-row { + background: #fbb; +} + +.crm-designer-duplicate .field-location_type_id, +.crm-designer-duplicate .field-phone_type_id { + color: #f00; +} + +.crm-designer-row .crm-designer-buttons { + right: 5px; + top: 5px; + position: absolute; + height: 20px; +} + +.crm-designer-fields-region .crm-designer-buttons { + display: none; +} + +.crm-designer-fields-region .crm-designer-open .crm-designer-buttons, +.crm-designer-row:hover .crm-designer-buttons { + display: block; +} + +.crm-designer-row .crm-designer-buttons a { + cursor: pointer; + display: inline-block; + padding: var(--crm-s); + font-size: var(--crm-m2); + border-radius: 4px; + border: 0; +} + +.crm-designer .crm-designer-palette-tree button { + font-size: .8em; +} + +.crm-designer .crm-designer-palette-tree span.ui-button-text { + padding: 0.4em; +} + +.crm-designer .crm-designer-edit-custom { + position: absolute; + right: 5px; + top: 35px; + font-size: .8em; + border: 1px solid #cfcec3; +} + +button#crm-designer-add-custom-set { + margin-top: 10px; +} + +.ui-sortable-helper > .crm-designer-row { + box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); + opacity: 0.75; +} + +.crm-designer-row .crm-designer-buttons a.crm-designer-action-settings:hover { + background-color: var(--crm-c-success); + color: var(--crm-c-success-text); + text-decoration: none; +} + +.crm-designer-row .crm-designer-buttons a.crm-designer-action-remove:hover { + background-color: var(--crm-c-alert); + color: var(--crm-c-alert-text); + text-decoration: none; +} + +.crm-designer-row, +.crm-designer-row-placeholder { + border: 1px dashed transparent; + padding: 0.3em; + margin: auto; + position: relative; +} + +.crm-designer-row-label { + padding: 0.5em 0; +} + +.crm-designer-label { + font-weight: bold; +} + +.crm-designer-row-placeholder { + visibility: visible !important; + height: 2em; +} + +.crm-designer-dialog .description { + margin: 0 2em 0 0; +} + +/* Hack for Drupal 8 for some reason was moving it around strange */ +.crm-designer-dialog .ui-resizable { + position: absolute; +} + +.crm-designer-dialog .disabled .description { + display: none; +} + +.crm-designer-dialog li.crm-designer-row-placeholder, +.crm-designer-dialog li.ui-draggable-dragging, +.crm-designer-dialog .bbf-form ul { + list-style-image: none; + list-style: none; +} + +.ui-dialog .crm-designer-dialog.ui-dialog-content { + overflow: auto; + padding-right: .25em; +} + +.crm-designer-dialog .full-height { + height: 100%; +} + +.crm-designer { + position: relative; +} + +.crm-profile-selector-preview-pane, +.crm-designer-dialog .crm-designer .scroll { + overflow-x: auto; + overflow-y: scroll; +} + +.ui-dialog { + border: 1px solid #444; + box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); +} + +/* Hide annoying 'preview' message */ +.crm-profile-selector-preview-pane div.profile-preview-msg { + display: none; +} + +/* Adds spacing between form rows */ + +.crm-designer-field-detail fieldset > ul > li { + margin-bottom: var(--crm-s); +} From ddb084644dbfbaea80f51d2450993e053cab774c Mon Sep 17 00:00:00 2001 From: Nicol Date: Mon, 16 Dec 2024 14:40:40 +0000 Subject: [PATCH 4/6] Thames lint --- ext/riverlea/streams/thames/css/civicrm.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/riverlea/streams/thames/css/civicrm.css b/ext/riverlea/streams/thames/css/civicrm.css index 652d14facb2..413d4789518 100755 --- a/ext/riverlea/streams/thames/css/civicrm.css +++ b/ext/riverlea/streams/thames/css/civicrm.css @@ -387,7 +387,8 @@ div:has(> table) { * which the user might not notice / might make the menu hard to access. * https://lab.civicrm.org/extensions/riverlea/-/issues/90 */ -div:has(> table .btn-slide-active, > table .dropdown-toggle[aria-expanded="true"]) { +div:has(> table .btn-slide-active), +div:has(> table .dropdown-toggle[aria-expanded="true"]) { padding-bottom: 20rem; } From d4fddebd9a460d1af936d8a893287fa0b7851abf Mon Sep 17 00:00:00 2001 From: Alice Frumin Date: Tue, 17 Dec 2024 15:43:14 -0500 Subject: [PATCH 5/6] [NFC] first pass at 5.81 release notes --- contributor-key.yml | 3 + release-notes/5.81.0.md | 361 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 364 insertions(+) create mode 100644 release-notes/5.81.0.md diff --git a/contributor-key.yml b/contributor-key.yml index 34fb4054e51..2517e0b1f66 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -351,6 +351,9 @@ - name : Daniel Martinez +- github : danielstrum + name : Daniel Strum + - github : DanielvV name : Daniƫl van Vuuren diff --git a/release-notes/5.81.0.md b/release-notes/5.81.0.md new file mode 100644 index 00000000000..c053117183e --- /dev/null +++ b/release-notes/5.81.0.md @@ -0,0 +1,361 @@ +# CiviCRM 5.81.0 + +Released January 8, 2025; + +- **[Features](#features)** +- **[Bugs resolved](#bugs)** +- **[Miscellany](#misc)** +- **[Credits](#credits)** + +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| Require attention to configuration options? | no | +| **Fix problems installing or upgrading to a previous version?** | **yes** | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | + +## Features + +### Core CiviCRM + +- **Add schema support for bigint + ([31502](https://github.com/civicrm/civicrm-core/pull/31502))** + + Makes it possible to use the sql type `bigint` in the schema. + +- **ContactSummary - Make notes tab hierarchical + ([31432](https://github.com/civicrm/civicrm-core/pull/31432))** + + Makes the contact summary notes tab a collapsed hierarchical display. + +- **allow read-only fields in FormBuilder + ([30757](https://github.com/civicrm/civicrm-core/pull/30757))** + + Makes it possible to add read-only fields in FormBuilder. + +- **Update SavedSearch_Administer_ProfileFields.mgd.php + ([31509](https://github.com/civicrm/civicrm-core/pull/31509))** + + Makes Field Names inline editable on the Profile fields form for AdminUI + users. + +- **AdminUI - dynamically generate afform tabs for CustomGroups of style Tab + with table ([31503](https://github.com/civicrm/civicrm-core/pull/31503))** + + Adds a SearchKit and tab for each CustomGroup where style = Tab with table for + AdminUi users. + +- **afform - provide useful console error for invalid fields + ([31472](https://github.com/civicrm/civicrm-core/pull/31472))** + + It's easy to end up with an invalid field on an afform e.g. when you disable + a custom field. This makes it easier to find and fix. + +- **Update afsearchProfiles.aff.html + ([31510](https://github.com/civicrm/civicrm-core/pull/31510))** + + Adds an afform search filter 'created by'. + +- **Add SearchKit Reports extension + ([31458](https://github.com/civicrm/civicrm-core/pull/31458))** + + Adds a placement tag to designate certain (search) afforms as "Afform + Reports". Add a listing for end users to open these reports. + +- **SearchKit - Add search templates feature + ([31528](https://github.com/civicrm/civicrm-core/pull/31528))** + + Adds a new tab for searchkit templates, and a button allowing any existing + search to be saved as a template. + +- **Add APIv4 Contact.getMergedTo/getMergedFrom actions + ([31336](https://github.com/civicrm/civicrm-core/pull/31336))** + + Adds the APIv4 Contact actions getMergedFrom and getMergedTo. These are the + APIv4 equivalent of the existing v3 actions. + +- **Api4 CustomGroup.get - use in-memory cache to answer simple calls + ([31508](https://github.com/civicrm/civicrm-core/pull/31508))** + + Performance improvement for the APIv4 custom group entity get action. + +### CiviContribute + +- **Display Custom Fields on ContributionPage settings + ([31487](https://github.com/civicrm/civicrm-core/pull/31487) and + [31533](https://github.com/civicrm/civicrm-core/pull/31533))** + + Adds the display of Custom Fields on ContributionPages. + +### Drupal Integration + +- **ClassLoader - Fix loading when using composer `path` repository (symlink + mode) with CLI ([31512](https://github.com/civicrm/civicrm-core/pull/31512))** + + Helps composer-style sites (D8/9/10/11) use composer's path repository option. + The path option helps you incorporate a local working-copy of the source-code + into a more complex composer site-build. composer often implements this option + using symlinks. + +### Standalone Integration + +- **Standalone login improvements (message/theme/events) + ([31149](https://github.com/civicrm/civicrm-core/pull/31149))** + + Improves login experience for standalone sites. + +## Bugs resolved + +### Core CiviCRM + +- **When creating a group in multinlingual CiviCRM, the title is sometimes left + empty causing a crash upon next insertion + ([dev/translation#92](https://lab.civicrm.org/dev/translation/-/issues/92): + [31410](https://github.com/civicrm/civicrm-core/pull/31410))** + +- **Can't uncheck "display in table" for custom fields + ([dev/core#4613](https://lab.civicrm.org/dev/core/-/issues/4613): + [31493](https://github.com/civicrm/civicrm-core/pull/31493))** + +- **System check for extension upgrades doesn't pick up pending upgrades from + extensions using AutomaticUpgrader + ([dev/core#5365](https://lab.civicrm.org/dev/core/-/issues/5365): + [30740](https://github.com/civicrm/civicrm-core/pull/30740))** + +- **Advanced Search searching in trash by Activity Type yields no results. + ([dev/core#5384](https://lab.civicrm.org/dev/core/-/issues/5384): + [30911](https://github.com/civicrm/civicrm-core/pull/30911))** + +- **Generated hash can be numeric breaking is_numeric tests + ([dev/core#5541](https://lab.civicrm.org/dev/core/-/issues/5541): + [31330](https://github.com/civicrm/civicrm-core/pull/31330))** + +- **Can no longer set image width to 100% in ckeditor + ([dev/core#5591](https://lab.civicrm.org/dev/core/-/issues/5591): + [31587](https://github.com/civicrm/civicrm-core/pull/31587))** + +- **Core update after upgrade to version > 5.79 can't be proceeded + ([dev/core#5606](https://lab.civicrm.org/dev/core/-/issues/5606): + [31581](https://github.com/civicrm/civicrm-core/pull/31581))** + +- **Please remove test file regarded as Malware + ([dev/core#5611](https://lab.civicrm.org/dev/core/-/issues/5611): + [31498](https://github.com/civicrm/civicrm-core/pull/31498) and + [31560](https://github.com/civicrm/civicrm-core/pull/31560))** + + Exclude tests and tools directories from exports. + +- **Searchkit: condition on row style does not work with date when "now" is + used: before or after now + ([dev/core#5172](https://lab.civicrm.org/dev/core/-/issues/5172): + [30163](https://github.com/civicrm/civicrm-core/pull/30163))** + +- **SearchKit - Add option to display linebreaks + ([dev/core#5565](https://lab.civicrm.org/dev/core/-/issues/5565): + [31427](https://github.com/civicrm/civicrm-core/pull/31427))** + +- **SearchKit - Set acl_bypass=false when cloning a display + ([31536](https://github.com/civicrm/civicrm-core/pull/31536))** + +- **FormBuilder: conditional using "CONTAINS" fails when option values are + integers ([dev/core#5622](https://lab.civicrm.org/dev/core/-/issues/5622): + [31513](https://github.com/civicrm/civicrm-core/pull/31513))** + +- **Formbuilder / Event: if the Event Type (or any custom field) is in Display + only , and I update a field for the event then the event type/ custom field is + set to void ([dev/core#5473](https://lab.civicrm.org/dev/core/-/issues/5473): + [31463](https://github.com/civicrm/civicrm-core/pull/31463))** + +- **Formbuilder/ Quick add: when quick add is used, the contact subtype (of the + added contact) set on the contact (FB left panel) is not taken in account + ([dev/core#5477](https://lab.civicrm.org/dev/core/-/issues/5477): + [31467](https://github.com/civicrm/civicrm-core/pull/31467))** + +- **Formbuilder: entity reference is not displayed as a label (name) when there + is an initial value and the field setting is "display only" + ([dev/core#5424](https://lab.civicrm.org/dev/core/-/issues/5424): + [31462](https://github.com/civicrm/civicrm-core/pull/31462))** + +- **[Afform] Process submission error because of empty "name" + ([31461](https://github.com/civicrm/civicrm-core/pull/31461))** + +- **afform - use smarty template to render dynamic custom group block + ([31481](https://github.com/civicrm/civicrm-core/pull/31481) and + [31501](https://github.com/civicrm/civicrm-core/pull/31501))** + +- **Afform - More accurate check in GUI to see if a field is in-use. + ([31394](https://github.com/civicrm/civicrm-core/pull/31394))** + + Fixes Afform GUI erroneously not allowing the user to drag fields onto the + form if they are used by other entities. + +- **Afform - Fix check for empty contact values + ([31464](https://github.com/civicrm/civicrm-core/pull/31464))** + + Fixes a bug where affom was not properly validating a blank contact. + +- **FormBuilder - Fix draggy cursor in dropdown menu + ([31468](https://github.com/civicrm/civicrm-core/pull/31468))** + +- **Api4 - Fix CustomField.delete to perform all postprocessing + ([31570](https://github.com/civicrm/civicrm-core/pull/31570))** + +- **Api4 - Case-insensitive matching for arrayQuery entities + ([31514](https://github.com/civicrm/civicrm-core/pull/31514))** + + Normalizes case-sensitivity across Api4 entities. This also affects Afform + conditionals, to make the = and != operators case-insensitive. + +- **APIv4 - Fix filtering on Route API (etal) using LIKE operator + ([31524](https://github.com/civicrm/civicrm-core/pull/31524))** + +- **Api4 - Allow anonymous access to 'Contact::validateChecksum' + ([31516](https://github.com/civicrm/civicrm-core/pull/31516))** + +- **Add `\DateTime` and `\Brick\Money\Money` to parameter type hint of + `TokenRow::tokens()` + ([31584](https://github.com/civicrm/civicrm-core/pull/31584))** + +- **CRM_Utils_System::isSSL - support X_FORWARDED_PROTO to work behind reverse + proxy ([31473](https://github.com/civicrm/civicrm-core/pull/31473))** + + Fixes incorrect SSL detection when running CiviCRM behind a reverse proxy, + e.g. with Docker image behind Traefik. + +- **Allow 'Expires' placeholder text to be translated + ([30971](https://github.com/civicrm/civicrm-core/pull/30971))** + +- **Perform custom field cascade deletion independent of user's permissions + ([31519](https://github.com/civicrm/civicrm-core/pull/31519))** + +- **delaying crm-ui-select init until the next tick + ([31544](https://github.com/civicrm/civicrm-core/pull/31544))** + + Addresses a UI glitch when using crm-ui-select on an element with interpolated + attributes e.g. title="{{inputTitle}}", where the non-interpolated string is + cloned instead of the interpolated value + +### CiviContribute + +- **Premium / thank-you gift choice display is broken + ([dev/core#5585](https://lab.civicrm.org/dev/core/-/issues/5585): + [31590](https://github.com/civicrm/civicrm-core/pull/31590) and + [31594](https://github.com/civicrm/civicrm-core/pull/31594))** + +- **IDS Detector is reporting "Impact" 37 for some (not all!) CiviCRM + Contribution, Thank You pages causing Contributions to be left with Status, + "Pending (Incomplete Transaction)" and PayPal Standard used for payment + ([dev/core#2330](https://lab.civicrm.org/dev/core/-/issues/2330): + [31573](https://github.com/civicrm/civicrm-core/pull/31573))** + + Sometimes PayPal sends data to the IPN endpoint that triggers the IDS. This + ensures when this happens the payment status is updated correctly. + +- **Include tax in total amount + ([31540](https://github.com/civicrm/civicrm-core/pull/31540))** + +- **Clarify completeOrder function status. Remove deprecated call to + repeatTransaction + ([31452](https://github.com/civicrm/civicrm-core/pull/31452))** + +- **Fix Contribution Receipt empty Receipt From Name causes fallback to site + default even if Receipt From Email set. + ([31475](https://github.com/civicrm/civicrm-core/pull/31475))** + +### CiviMail + +- **SMS messages incorrectly contain header and footer + ([dev/core#5626](https://lab.civicrm.org/dev/core/-/issues/5626): + [31555](https://github.com/civicrm/civicrm-core/pull/31555))** + +### Backdrop Integration + +- **Move civicrmtheme module functionality into main module + ([dev/backdrop#88](https://lab.civicrm.org/dev/backdrop/-/issues/88): + [31470](https://github.com/civicrm/civicrm-core/pull/31470))** + +## Miscellany + +- **Standaloneusers - split the public and private bits of + User.SendPasswordReset into separate actions + ([31556](https://github.com/civicrm/civicrm-core/pull/31556))** + +- **Navigation - Simplify form code, separate paths + ([31521](https://github.com/civicrm/civicrm-core/pull/31521))** + +- **Fix Mail settings form to use metadata + ([31454](https://github.com/civicrm/civicrm-core/pull/31454))** + +- **CustomValueTable - Simplify conditionals + ([31448](https://github.com/civicrm/civicrm-core/pull/31448))** + +- **Copy functions back to only caller, deprecate old versions, clean up & fix + undefined property + ([31385](https://github.com/civicrm/civicrm-core/pull/31385))** + +- **Change contributor name + ([31507](https://github.com/civicrm/civicrm-core/pull/31507))** + +- **Normalize and sort SYSTOPIA contributor info + ([31471](https://github.com/civicrm/civicrm-core/pull/31471))** + +- **Remove unused .toxic.json + ([31500](https://github.com/civicrm/civicrm-core/pull/31500))** + +- **Remove generation of localized l10n files, not used by the new installer + ([29308](https://github.com/civicrm/civicrm-core/pull/29308))** + +- **Remove unreachable code in CRM_Report_Form_Mailing_Summary + ([31554](https://github.com/civicrm/civicrm-core/pull/31554))** + +- **Remove `buildPremiumBlock` function noisiy deprecated in 5.69, no universe + callers ([31541](https://github.com/civicrm/civicrm-core/pull/31541))** + +- **[REF] Remove redundant uf templates + ([31109](https://github.com/civicrm/civicrm-core/pull/31109))** + +- **[REF] Make datepicker element and actions accessible if label is defined but + associated directly like in report filter + ([30693](https://github.com/civicrm/civicrm-core/pull/30693))** + +- **[REF][PHP8.2] Declare properies in CRM_Contact_Page_View_GroupContact + ([31550](https://github.com/civicrm/civicrm-core/pull/31550))** + +- **[REF][PHP8.2] Declare missing properties: CRM_Admin_Form_MessageTemplates + ([31552](https://github.com/civicrm/civicrm-core/pull/31552))** + +- **[REF][PHP8.2] Declare missing properties: CRM_Event_Form_Task_Batch + ([31553](https://github.com/civicrm/civicrm-core/pull/31553))** + +- **[REF][PHP8.2] Declare _mailingID property + ([31551](https://github.com/civicrm/civicrm-core/pull/31551))** + +- **(NFC) Improve comment on CIVICRM_CONTAINER_CACHE + ([31549](https://github.com/civicrm/civicrm-core/pull/31549))** + +- **(NFC) Test cases should cleanup HTTP_X_REQUESTED_WITH consistently. + ([31609](https://github.com/civicrm/civicrm-core/pull/31609))** + +## Credits + +This release was developed by the following code authors: + +AGH Strategies - Alice Frumin; ALL IN APPLI admin; Artful Robot - Rich Lott; +Australian Greens - John Twyman; Benjamin W; BrightMinded Ltd - Bradley Taylor; +Christian Wach; CiviCRM - Coleman Watts, Tim Otten; Coop SymbioTIC - Mathieu +Lutfy, Samuel Vanhove; Dave D; DevApp - David Cativo; forumZFD - Marc Michalsky; +Fuzion - Luke Stewart; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; +Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; +Nicol Wistreich; Outlandish - Rasmus Winter; Squiffle Consulting - Aidan +Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; Wikimedia +Foundation - Eileen McNaughton + +Most authors also reviewed code for this release; in addition, the following +reviewers contributed their comments: + +civiservice.de - Detlev Sieber; Daniel Strum; Guydn; Lemniscus - Noah Miller From ee10db6e33a4b0a1e08444e2877a69b6268f2300 Mon Sep 17 00:00:00 2001 From: Jon Goldberg Date: Wed, 18 Dec 2024 12:59:16 -0500 Subject: [PATCH 6/6] scheduled jobs aren't using params when job.execute is called --- CRM/Core/JobManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CRM/Core/JobManager.php b/CRM/Core/JobManager.php index 3d5ff0d8293..96ff3fada78 100644 --- a/CRM/Core/JobManager.php +++ b/CRM/Core/JobManager.php @@ -90,7 +90,7 @@ public function execute($auth = TRUE) { $jobs = array_merge($successfulJobs, $maybeUnsuccessfulJobs); foreach ($jobs as $job) { $temp = ['class' => NULL, 'parameters' => NULL, 'last_run' => NULL]; - $scheduledJobParams = array_merge($job, $temp); + $scheduledJobParams = array_merge($temp, $job); $jobDAO = new CRM_Core_ScheduledJob($scheduledJobParams); if ($jobDAO->needsRunning()) {