Skip to content
Snippets Groups Projects
Commit d30820a6 authored by Robert Lange's avatar Robert Lange
Browse files

Merge branch 'instance/fid' into instance/fid_adlr

parents ae2f2712 0ff7ec37
No related merge requests found
...@@ -103,6 +103,21 @@ queryIls[] = 'getFacetAvail:Local' ...@@ -103,6 +103,21 @@ queryIls[] = 'getFacetAvail:Local'
;root_username = 'root' ;root_username = 'root'
;root_password = '' ;root_password = ''
; Profile fields listed here will never be allowed to be edited if the necessary
; scope is missing for a patron
; disabled profile fields for missing scope: update_patron_name
;disabledProfileFieldsForMissingUpdateNameScope[] = "firstname"
;disabledProfileFieldsForMissingUpdateNameScope[] = "lastname"
; disabled profile fields for missing scope: update_patron_email
;disabledProfileFieldsForMissingUpdateEmailScope[] = "email"
; disabled profile fields for missing scope: update_patron_address
;disabledProfileFieldsForMissingUpdateAddressScope[] = "address1"
;disabledProfileFieldsForMissingUpdateAddressScope[] = "zip"
;disabledProfileFieldsForMissingUpdateAddressScope[] = "city"
;disabledProfileFieldsForMissingUpdateAddressScope[] = "country"
; Driver configuration, usually you can leave it untouched ; Driver configuration, usually you can leave it untouched
; Without customization the PAIA driver will offer to place a recall for items with ; Without customization the PAIA driver will offer to place a recall for items with
......
...@@ -53,11 +53,12 @@ class MyResearchController extends \VuFind\Controller\MyResearchController imple ...@@ -53,11 +53,12 @@ class MyResearchController extends \VuFind\Controller\MyResearchController imple
/** /**
* Execute the request * Execute the request
* *
* @param MvcEvent $e * @param \Zend\Mvc\MvcEvent $event Event
*
* @return mixed * @return mixed
* @throws Exception\DomainException * @throws Exception\DomainException
*/ */
public function onDispatch(MvcEvent $e) public function onDispatch(MvcEvent $event)
{ {
if ($redirect = $this->getRequest()->getQuery()->get('redirect')) { if ($redirect = $this->getRequest()->getQuery()->get('redirect')) {
$redirect = urldecode($redirect); $redirect = urldecode($redirect);
...@@ -74,7 +75,7 @@ class MyResearchController extends \VuFind\Controller\MyResearchController imple ...@@ -74,7 +75,7 @@ class MyResearchController extends \VuFind\Controller\MyResearchController imple
$this->followup()->store(['finc-redirect' => $redirect]); $this->followup()->store(['finc-redirect' => $redirect]);
} }
} }
return parent::onDispatch($e); return parent::onDispatch($event);
} }
/** /**
......
...@@ -1770,4 +1770,49 @@ class FincILS extends PAIA implements LoggerAwareInterface ...@@ -1770,4 +1770,49 @@ class FincILS extends PAIA implements LoggerAwareInterface
return []; return [];
} }
/**
* Helper function to check whether the patron is allowed to edit
* patron information
*
* @return bool
*/
public function canEditAccount()
{
return $this->paiaCheckScope(self::SCOPE_UPDATE_PATRON)
&& (
$this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_NAME)
|| $this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_EMAIL)
|| $this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_ADDRESS)
);
}
/**
* Returns Array with profile fields that are never allowed to be edited
*
* @return array
*/
public function getIgnoredProfileFields()
{
$ignoredProfileFields = [];
if (!$this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_NAME)) {
$ignoredProfileFields = array_merge(
$ignoredProfileFields,
$this->config['PAIA']['disabledProfileFieldsForMissingUpdateNameScope'] ?? []
);
}
if (!$this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_EMAIL)) {
$ignoredProfileFields = array_merge(
$ignoredProfileFields,
$this->config['PAIA']['disabledProfileFieldsForMissingUpdateEmailScope'] ?? []
);
}
if (!$this->paiaCheckScope(self::SCOPE_UPDATE_PATRON_ADDRESS)) {
$ignoredProfileFields = array_merge(
$ignoredProfileFields,
$this->config['PAIA']['disabledProfileFieldsForMissingUpdateAddressScope'] ?? []
);
}
return $ignoredProfileFields;
}
} }
...@@ -346,7 +346,11 @@ trait LiberoWachtlTrait ...@@ -346,7 +346,11 @@ trait LiberoWachtlTrait
*/ */
public function getIgnoredProfileFields() public function getIgnoredProfileFields()
{ {
return $this->config['LiberoWachtl']['ignoredProfileFields'] ?? []; $ignoredProfileFields = parent::getIgnoredProfileFields();
return array_merge(
$ignoredProfileFields,
$this->config['LiberoWachtl']['ignoredProfileFields'] ?? []
);
} }
/** /**
......
...@@ -68,6 +68,20 @@ $pagination-disabled-color: $default-disabled-color !default; ...@@ -68,6 +68,20 @@ $pagination-disabled-color: $default-disabled-color !default;
// ***************************************************************** // *****************************************************************
// ************ General dimensions ********************************* // ************ General dimensions *********************************
// ***************************************************************** // *****************************************************************
// WCAG 2.1 for AA requires a minimum viewport size of 320px
// -- we therefore need to define the corresponding variables
// The most common viewport width for narrow devices however, seems to be 360px
// Please note, that $screen-xs-min = $screen-xs = 480px
$screen-wcag-mini-viewports-min: 320px !default;
$screen-wcag-above-mini-below-xs-viewports-min: 360px !default;
$screen-wcag-mini-viewports-max: $screen-wcag-above-mini-below-xs-viewports-min - 1px !default;
$screen-wcag-above-mini-below-xs-viewports-max: 479px !default;
// The general gutter width (padding between columns) is calculated // The general gutter width (padding between columns) is calculated
// like so: '$grid-gutter-width / 2' // like so: '$grid-gutter-width / 2'
// which gives you the left or right gutter width; this can be taken // which gives you the left or right gutter width; this can be taken
...@@ -91,10 +105,6 @@ $content-top-padding-edit-list-xs: $grid-gutter-width / 2 !default; ...@@ -91,10 +105,6 @@ $content-top-padding-edit-list-xs: $grid-gutter-width / 2 !default;
$mainbody-sidebar-top-padding: $content-top-padding !default; $mainbody-sidebar-top-padding: $content-top-padding !default;
$mainbody-sidebar-top-padding-xs: 0 !default; $mainbody-sidebar-top-padding-xs: 0 !default;
// Sidebar item padding
$sidebar-item-padding: .75em 1em !default;
$sidebar-item-padding-sm: .75em .5em !default;
// Table cell padding - adjust in themes to avoid content jumps when switching tabs // Table cell padding - adjust in themes to avoid content jumps when switching tabs
// $table-cell-padding: 5px !default; // $table-cell-padding: 5px !default;
...@@ -176,7 +186,7 @@ $mainbody-link-text-decoration: $link-text-decoration; ...@@ -176,7 +186,7 @@ $mainbody-link-text-decoration: $link-text-decoration;
$btn-default-color: $oil !default; $btn-default-color: $oil !default;
$btn-text-decoration: $link-text-decoration; $btn-text-decoration: $link-text-decoration !default;
// Use darker text color when default-buttons are used on white BG (new class: bth-transparent // Use darker text color when default-buttons are used on white BG (new class: bth-transparent
// for updateCart in search results, date-range slider in sidebar and adv search // for updateCart in search results, date-range slider in sidebar and adv search
...@@ -1084,6 +1094,10 @@ $bulk-action-record-view-checkbox-input-margin-top: $input-top-margin !default; ...@@ -1084,6 +1094,10 @@ $bulk-action-record-view-checkbox-input-margin-top: $input-top-margin !default;
// ************ Sidebar elements *********************************** // ************ Sidebar elements ***********************************
// ***************************************************************** // *****************************************************************
// Sidebar item padding
$sidebar-item-padding: .75em 1em !default;
$sidebar-item-padding-sm: .75em .5em !default;
// Menu in MyAccount, selected facets // Menu in MyAccount, selected facets
$sidebar-facet-active-background-color: $brand-warning !default; $sidebar-facet-active-background-color: $brand-warning !default;
$sidebar-facet-active-color: $black !default; $sidebar-facet-active-color: $black !default;
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
// For Add-to-Bookbag buttons see bookbag.scss // For Add-to-Bookbag buttons see bookbag.scss
// For bulk-action-buttons see bulk-action-buttons.scss // For bulk-action-buttons see bulk-action-buttons.scss
// ***************************************************************** // *****************************************************************
// ************ General buttons ************************************ // ************ General buttons ************************************
// ***************************************************************** // *****************************************************************
...@@ -16,6 +19,13 @@ ...@@ -16,6 +19,13 @@
// Buttons have a DEFAULT HEIGHT of 38px, the same // Buttons have a DEFAULT HEIGHT of 38px, the same
// as '$navigation-element-default-height' for select boxes and other elements // as '$navigation-element-default-height' for select boxes and other elements
// *****************************************************************
// ************ Specific buttons ***********************************
// *****************************************************************
// Default and secondary buttons // Default and secondary buttons
.btn-default.active, .btn-default.active,
.btn-secondary.active { .btn-secondary.active {
......
...@@ -158,12 +158,14 @@ input { ...@@ -158,12 +158,14 @@ input {
} }
&[type='email'], &[type='email'],
&[type='text'] { &[type='text'],
&[type='search'] {
border: $input-email-text-border; border: $input-email-text-border;
padding: $input-email-text-padding; padding: $input-email-text-padding;
} }
&[type='text'] { &[type='text'],
&[type='search'] {
&:focus, &:focus,
&:hover { &:hover {
@include outline($outline-default-style, 2px, $input-border-focus); @include outline($outline-default-style, 2px, $input-border-focus);
......
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
<?php $id = $driver->getUniqueID() ?> <?php $id = $driver->getUniqueID() ?>
<?php $title = $this->transEsc($driver->getTitle()); ?> <?php $title = $this->transEsc($driver->getTitle()); ?>
<?php if ($id) { <?php
$coverId = "cover-$id-" . time(); if ($id) {
} else { $coverId = "cover-$id-" . floor(microtime(true) * 1000);
$cover = false; } else {
} $cover = false;
}
?> ?>
<?php if ($cover): ?> <?php if ($cover): ?>
<?php /* load cover directly... */ ?> <?php /* load cover directly... */ ?>
......
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<?php /* finc: keep "required", keep role="searchbox" */ ?> <?php /* finc: keep "required", keep role="searchbox" */ ?>
<input id="searchForm_lookfor" <input id="searchForm_lookfor"
class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?=$this->searchbox()->autocompleteAutoSubmit($this->searchClassId) ? ' ac-auto-submit' : '' ?><?php endif ?>" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?=$this->searchbox()->autocompleteAutoSubmit($this->searchClassId) ? ' ac-auto-submit' : '' ?><?php endif ?>"
type="text" type="search"
name="lookfor" name="lookfor"
value="<?=$this->escapeHtmlAttr($this->lookfor)?>" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"
<?php if ($placeholder): ?> <?php if ($placeholder): ?>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment