Fix load_search.php get value from extrafieldsaved

pull/3959/head
Julio 4 years ago
parent 905de3a687
commit a5ca7bb5b2
  1. 29
      public/main/search/load_search.php
  2. 5
      src/CoreBundle/Entity/ExtraField.php

@ -28,7 +28,7 @@ if ($allowToSee === false) {
$userId = api_get_user_id(); $userId = api_get_user_id();
$userInfo = api_get_user_info(); $userInfo = api_get_user_info();
$userToLoad = isset($_GET['user_id']) ? $_GET['user_id'] : 0; $userToLoad = isset($_GET['user_id']) ? (int) $_GET['user_id'] : 0;
$userToLoadInfo = []; $userToLoadInfo = [];
if ($userToLoad) { if ($userToLoad) {
@ -93,6 +93,11 @@ if (!empty($userInfo)) {
break; break;
} }
// Allow access for admins.
if (empty($users) && api_is_platform_admin()) {
$users[] = $userToLoadInfo;
}
if (!empty($users)) { if (!empty($users)) {
$userList = []; $userList = [];
foreach ($users as $user) { foreach ($users as $user) {
@ -130,6 +135,14 @@ if (!empty($items)) {
} }
} }
if (isset($defaults['extra_access_start_date']) && isset($defaults['extra_access_start_date'][0])) {
$defaults['extra_access_start_date'] = $defaults['extra_access_start_date'][0];
}
if (isset($defaults['extra_access_end_date']) && isset($defaults['extra_access_end_date'][0])) {
$defaults['extra_access_end_date'] = $defaults['extra_access_end_date'][0];
}
$extraField = new ExtraField('session'); $extraField = new ExtraField('session');
$extraFieldValue = new ExtraFieldValue('session'); $extraFieldValue = new ExtraFieldValue('session');
$extraFieldValueUser = new ExtraFieldValue('user'); $extraFieldValueUser = new ExtraFieldValue('user');
@ -736,17 +749,27 @@ if ($form->validate()) {
/** @var ExtraFieldSavedSearch $saved */ /** @var ExtraFieldSavedSearch $saved */
$saved = $em->getRepository(ExtraFieldSavedSearch::class)->findOneBy($search); $saved = $em->getRepository(ExtraFieldSavedSearch::class)->findOneBy($search);
if (empty($value)) {
$value = [];
}
if (is_string($value)) {
$value = [$value];
}
if ($saved) { if ($saved) {
$saved $saved
->setField($extraFieldObj) ->setField($extraFieldObj)
->setUser(api_get_user_entity($userToLoad)) ->setUser(api_get_user_entity($userToLoad))
->setValue($value); ->setValue($value)
;
} else { } else {
$saved = new ExtraFieldSavedSearch(); $saved = new ExtraFieldSavedSearch();
$saved $saved
->setField($extraFieldObj) ->setField($extraFieldObj)
->setUser(api_get_user_entity($userToLoad)) ->setUser(api_get_user_entity($userToLoad))
->setValue($value); ->setValue($value)
;
} }
$em->persist($saved); $em->persist($saved);
$em->flush(); $em->flush();

@ -165,10 +165,7 @@ class ExtraField
return $this; return $this;
} }
/** public function getFieldType(): int
* @return int
*/
public function getFieldType()
{ {
return $this->fieldType; return $this->fieldType;
} }

Loading…
Cancel
Save