From e1b4a16bc5fd98deee40f613451062ff98311e3a Mon Sep 17 00:00:00 2001 From: Sebastian Marcet Date: Mon, 16 Apr 2018 19:28:37 -0300 Subject: [PATCH] Added missing summit fields * eventbrite_id / external_summit_id * secondary_registration_link * secondary_registration_label * calendar_sync_name * calendar_sync_desc * time_zone_id Change-Id: I9966add955923727c705c0435ed319e066173290 --- .../SummitValidationRulesFactory.php | 4 ++ .../Summit/AdminSummitSerializer.php | 9 ++- .../Summit/SummitSerializer.php | 3 + .../Summit/Factories/SummitFactory.php | 8 +++ app/Models/Foundation/Summit/Summit.php | 60 +++++++++++++++++++ 5 files changed, 81 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitValidationRulesFactory.php b/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitValidationRulesFactory.php index 8ada6be4..4ac04a5d 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitValidationRulesFactory.php +++ b/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitValidationRulesFactory.php @@ -44,6 +44,8 @@ final class SummitValidationRulesFactory 'link' => 'sometimes|url', 'registration_link' => 'sometimes|url', 'max_submission_allowed_per_user' => 'sometimes|integer|min:1', + 'secondary_registration_link' => 'sometimes|url', + 'secondary_registration_label' => 'sometimes|string', ]; } @@ -71,6 +73,8 @@ final class SummitValidationRulesFactory 'link' => 'sometimes|url', 'registration_link' => 'sometimes|url', 'max_submission_allowed_per_user' => 'sometimes|integer|min:1', + 'secondary_registration_link' => 'sometimes|url', + 'secondary_registration_label' => 'sometimes|string', ]; } } \ No newline at end of file diff --git a/app/ModelSerializers/Summit/AdminSummitSerializer.php b/app/ModelSerializers/Summit/AdminSummitSerializer.php index 5d00e056..da2b7c0b 100644 --- a/app/ModelSerializers/Summit/AdminSummitSerializer.php +++ b/app/ModelSerializers/Summit/AdminSummitSerializer.php @@ -19,9 +19,12 @@ use ModelSerializers\SummitSerializer; final class AdminSummitSerializer extends SummitSerializer { protected static $array_mappings = [ - 'AvailableOnApi' => 'available_on_api:json_boolean', + 'AvailableOnApi' => 'available_on_api:json_boolean', 'MaxSubmissionAllowedPerUser' => 'max_submission_allowed_per_user:json_int', - 'RegistrationLink' => 'registration_link:json_string', - 'Link' => 'link:json_string', + 'RegistrationLink' => 'registration_link:json_string', + 'Link' => 'link:json_string', + 'ExternalSummitId' => 'external_summit_id:json_string', + 'CalendarSyncName' => 'calendar_sync_name:json_string', + 'CalendarSyncDesc' => 'calendar_sync_desc:json_string', ]; } \ No newline at end of file diff --git a/app/ModelSerializers/Summit/SummitSerializer.php b/app/ModelSerializers/Summit/SummitSerializer.php index 584d248d..98060ac7 100644 --- a/app/ModelSerializers/Summit/SummitSerializer.php +++ b/app/ModelSerializers/Summit/SummitSerializer.php @@ -52,6 +52,9 @@ class SummitSerializer extends SilverStripeSerializer 'SpeakerAnnouncementEmailAcceptedAlternateCount' => 'speaker_announcement_email_accepted_alternate_count:json_int', 'SpeakerAnnouncementEmailAcceptedRejectedCount' => 'speaker_announcement_email_accepted_rejected_count:json_int', 'SpeakerAnnouncementEmailAlternateRejectedCount' => 'speaker_announcement_email_alternate_rejected_count:json_int', + 'TimeZoneId' => 'time_zone_id:json_string', + 'SecondaryRegistrationLink' => 'secondary_registration_link:json_string', + 'SecondaryRegistrationLabel' => 'secondary_registration_label:json_string', ]; protected static $allowed_relations = [ diff --git a/app/Models/Foundation/Summit/Factories/SummitFactory.php b/app/Models/Foundation/Summit/Factories/SummitFactory.php index 8a32cda6..9c87045d 100644 --- a/app/Models/Foundation/Summit/Factories/SummitFactory.php +++ b/app/Models/Foundation/Summit/Factories/SummitFactory.php @@ -148,6 +148,14 @@ final class SummitFactory $summit->setScheduleDefaultStartDate($start_datetime); } + if(isset($data['secondary_registration_link']) ){ + $summit->setSecondaryRegistrationLink(trim($data['secondary_registration_link'])); + } + + if(isset($data['secondary_registration_label']) ){ + $summit->setSecondaryRegistrationLabel(trim($data['secondary_registration_label'])); + } + return $summit; } } \ No newline at end of file diff --git a/app/Models/Foundation/Summit/Summit.php b/app/Models/Foundation/Summit/Summit.php index 2eb8c24e..ff4c28f4 100644 --- a/app/Models/Foundation/Summit/Summit.php +++ b/app/Models/Foundation/Summit/Summit.php @@ -172,6 +172,18 @@ class Summit extends SilverstripeBaseModel */ private $time_zone_id; + /** + * @ORM\Column(name="SecondaryRegistrationLink", type="string") + * @var string + */ + private $secondary_registration_link; + + /** + * @ORM\Column(name="SecondaryRegistrationBtnText", type="string") + * @var string + */ + private $secondary_registration_label; + /** * @ORM\Column(name="CalendarSyncName", type="string") * @var string @@ -1953,4 +1965,52 @@ SQL; $notification->setSummit($this); return $this; } + + /** + * @return string + */ + public function getTimeZoneId() + { + return $this->time_zone_id; + } + + /** + * @param string $time_zone_id + */ + public function setTimeZoneId($time_zone_id) + { + $this->time_zone_id = $time_zone_id; + } + + /** + * @return string + */ + public function getSecondaryRegistrationLink() + { + return $this->secondary_registration_link; + } + + /** + * @param string $secondary_registration_link + */ + public function setSecondaryRegistrationLink($secondary_registration_link) + { + $this->secondary_registration_link = $secondary_registration_link; + } + + /** + * @return string + */ + public function getSecondaryRegistrationLabel() + { + return $this->secondary_registration_label; + } + + /** + * @param string $secondary_registration_label + */ + public function setSecondaryRegistrationLabel($secondary_registration_label) + { + $this->secondary_registration_label = $secondary_registration_label; + } } \ No newline at end of file