From 14e58c480869aafa9291d4e45ec2308d9e09f281 Mon Sep 17 00:00:00 2001 From: smarcet Date: Thu, 24 Oct 2019 12:50:59 -0300 Subject: [PATCH] Fix on pics urls encoding Change-Id: I8567856051e6781be18dae4eb77a63b2a8a817d4 --- Libs/ModelSerializers/AbstractSerializer.php | 6 ++-- Libs/Utils/JsonUtils.php | 14 +++++++++ .../AbstractMemberSerializer.php | 4 +-- .../PresentationSpeakerSerializer.php | 29 +++++++++---------- 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/Libs/ModelSerializers/AbstractSerializer.php b/Libs/ModelSerializers/AbstractSerializer.php index 821cdf40..0e2888ae 100644 --- a/Libs/ModelSerializers/AbstractSerializer.php +++ b/Libs/ModelSerializers/AbstractSerializer.php @@ -1,5 +1,4 @@ 'country:json_string', 'Active' => 'active:json_boolean', 'EmailVerified' => 'email_verified:json_boolean', + 'ProfilePhotoUrl' => 'pic:json_url', ]; protected static $allowed_relations = [ @@ -57,8 +58,7 @@ class AbstractMemberSerializer extends SilverStripeSerializer if(!count($relations)) $relations = $this->getAllowedRelations(); - $values = parent::serialize($expand, $fields, $relations, $params); - $values['pic'] = $member->getProfilePhotoUrl(); + $values = parent::serialize($expand, $fields, $relations, $params); if(in_array('groups', $relations)) $values['groups'] = $member->getGroupsIds(); diff --git a/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php b/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php index 7e5b9047..1f30b709 100644 --- a/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php +++ b/app/ModelSerializers/Summit/Speakers/PresentationSpeakerSerializer.php @@ -21,21 +21,22 @@ use models\summit\PresentationSpeaker; class PresentationSpeakerSerializer extends SilverStripeSerializer { protected static $array_mappings = [ - 'FirstName' => 'first_name:json_string', - 'LastName' => 'last_name:json_string', - 'Title' => 'title:json_string', - 'Bio' => 'bio:json_string', - 'IRCHandle' => 'irc:json_string', - 'TwitterName' => 'twitter:json_string', - 'OrgHasCloud' => 'org_has_cloud:json_boolean', - 'Country' => 'country:json_string', - 'AvailableForBureau' => 'available_for_bureau:json_boolean', - 'FundedTravel' => 'funded_travel:json_boolean', - 'WillingToTravel' => 'willing_to_travel:json_boolean', - 'WillingToPresentVideo' => 'willing_to_present_video:json_boolean', + 'FirstName' => 'first_name:json_string', + 'LastName' => 'last_name:json_string', + 'Title' => 'title:json_string', + 'Bio' => 'bio:json_string', + 'IRCHandle' => 'irc:json_string', + 'TwitterName' => 'twitter:json_string', + 'OrgHasCloud' => 'org_has_cloud:json_boolean', + 'Country' => 'country:json_string', + 'AvailableForBureau' => 'available_for_bureau:json_boolean', + 'FundedTravel' => 'funded_travel:json_boolean', + 'WillingToTravel' => 'willing_to_travel:json_boolean', + 'WillingToPresentVideo' => 'willing_to_present_video:json_boolean', 'Email' => 'email:json_obfuscated_email', 'MemberID' => 'member_id:json_int', - 'RegistrationRequestId' => 'registration_request_id:json_int' + 'RegistrationRequestId' => 'registration_request_id:json_int', + 'ProfilePhotoUrl' => 'pic:json_url' ]; protected static $allowed_relations = [ @@ -64,8 +65,6 @@ class PresentationSpeakerSerializer extends SilverStripeSerializer $values['moderated_presentations'] = $speaker->getModeratedPresentationIds($summit_id, $published); } - $values['pic'] = $speaker->getProfilePhotoUrl(); - if (in_array('member', $relations) && $speaker->hasMember()) { $member = $speaker->getMember();