From 6cb29f05fd1e69bbb3956fa3dc2a0b20d6655a4d Mon Sep 17 00:00:00 2001 From: smarcet Date: Fri, 16 Apr 2021 16:25:54 -0300 Subject: [PATCH] Added short name to location Change-Id: Ie0e92de646df1274d0d2c30717af79a9ee00c3ce Signed-off-by: smarcet --- ...AbstractLocationValidationRulesFactory.php | 2 + .../SummitAbstractLocationSerializer.php | 1 + .../Factories/SummitLocationFactory.php | 3 ++ .../Locations/SummitAbstractLocation.php | 24 ++++++++++ .../model/Version20210416191958.php | 47 +++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 database/migrations/model/Version20210416191958.php diff --git a/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitAbstractLocationValidationRulesFactory.php b/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitAbstractLocationValidationRulesFactory.php index 2c3bdf06..db672acc 100644 --- a/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitAbstractLocationValidationRulesFactory.php +++ b/app/Http/Controllers/Apis/Protected/Summit/Factories/SummitAbstractLocationValidationRulesFactory.php @@ -28,6 +28,7 @@ final class SummitAbstractLocationValidationRulesFactory if($update){ return [ 'name' => 'sometimes|string|max:255', + 'short_name' => 'sometimes|string|max:255', 'description' => 'sometimes|string', 'order' => 'sometimes|integer|min:1' ]; @@ -35,6 +36,7 @@ final class SummitAbstractLocationValidationRulesFactory return [ 'name' => 'required|string|max:255', + 'short_name' => 'sometimes|string|max:255', 'description' => 'sometimes|string', ]; } diff --git a/app/ModelSerializers/Locations/SummitAbstractLocationSerializer.php b/app/ModelSerializers/Locations/SummitAbstractLocationSerializer.php index d817ddcf..c13feda1 100644 --- a/app/ModelSerializers/Locations/SummitAbstractLocationSerializer.php +++ b/app/ModelSerializers/Locations/SummitAbstractLocationSerializer.php @@ -22,6 +22,7 @@ class SummitAbstractLocationSerializer extends SilverStripeSerializer protected static $array_mappings = array ( 'Name' => 'name:json_string', + 'ShortName' => 'short_name:json_string', 'Description' => 'description:json_string', 'LocationType' => 'location_type', 'Order' => 'order:json_int', diff --git a/app/Models/Foundation/Summit/Factories/SummitLocationFactory.php b/app/Models/Foundation/Summit/Factories/SummitLocationFactory.php index 4fbf1c95..e9217c87 100644 --- a/app/Models/Foundation/Summit/Factories/SummitLocationFactory.php +++ b/app/Models/Foundation/Summit/Factories/SummitLocationFactory.php @@ -72,6 +72,9 @@ final class SummitLocationFactory if(isset($data['name'])) $location->setName(trim($data['name'])); + if(isset($data['short_name'])) + $location->setShortName(trim($data['short_name'])); + if(isset($data['description'])) $location->setDescription(trim($data['description'])); diff --git a/app/Models/Foundation/Summit/Locations/SummitAbstractLocation.php b/app/Models/Foundation/Summit/Locations/SummitAbstractLocation.php index 97d46714..2057d0a1 100644 --- a/app/Models/Foundation/Summit/Locations/SummitAbstractLocation.php +++ b/app/Models/Foundation/Summit/Locations/SummitAbstractLocation.php @@ -65,6 +65,12 @@ class SummitAbstractLocation extends SilverstripeBaseModel implements IOrderable */ protected $name; + /** + * @ORM\Column(name="ShortName", type="string") + * @var string + */ + protected $short_name; + /** * @ORM\Column(name="Description", type="string") * @var string @@ -286,4 +292,22 @@ class SummitAbstractLocation extends SilverstripeBaseModel implements IOrderable public function getBannerByClass($class_name){ } + + /** + * @return string + */ + public function getShortName(): ?string + { + return $this->short_name; + } + + /** + * @param string $short_name + */ + public function setShortName(string $short_name): void + { + $this->short_name = $short_name; + } + + } \ No newline at end of file diff --git a/database/migrations/model/Version20210416191958.php b/database/migrations/model/Version20210416191958.php new file mode 100644 index 00000000..a7813c1d --- /dev/null +++ b/database/migrations/model/Version20210416191958.php @@ -0,0 +1,47 @@ +hasTable("SummitAbstractLocation")) { + $builder->table('SummitAbstractLocation', function (Table $table) { + $table->string("ShortName", 255)->setDefault(null)->setNotnull(false); + }); + } + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema):void + { + + } +}