Bladeren bron

ajout du filtre prix

Maha Bouchiba 2 jaren geleden
bovenliggende
commit
a9c631a201
2 gewijzigde bestanden met toevoegingen van 45 en 3 verwijderingen
  1. 2 2
      sql/schema-extensions/001-view_public_events.sql
  2. 43 1
      src/Entity/Public/PublicEvent.php

+ 2 - 2
sql/schema-extensions/001-view_public_events.sql

@@ -1,7 +1,7 @@
 CREATE OR REPLACE VIEW view_public_events
 AS
     SELECT
-        b.uuid, b.organization_id AS organizationId, b.name, b.description, b.url, b.datetimeStart, b.datetimeEnd,
+        b.uuid, b.organization_id AS organizationId, b.name, b.description, b.url, b.datetimeStart, b.datetimeEnd, null as price_mini, null as price_maxi,
         p.name AS placeName, p.description AS placeDescription, p.floorSize AS placeFloorSize, p.capacity AS placeCapacity,
         ap.addressCity AS city, ap.postalCode,
         TRIM(BOTH ' ' FROM CONCAT( if(ap.streetAddress is null,'',ap.streetAddress), ' ', if(ap.streetAddressSecond is null,'',ap.streetAddressSecond), ' ', if(ap.streetAddressThird is null,'',ap.streetAddressThird))) AS streetAddress,
@@ -24,7 +24,7 @@ AS
     WHERE b.discr = 'event' AND b.datetimeEnd >= NOW() AND b.visibility = 'PUBLIC_VISIBILITY' AND b.isCanceled = 0
 UNION
     SELECT
-        aw.uuid, null AS organizationId, aw.name, aw.description, aw.deepLink AS url, aw.datetimeStart, aw.datetimeEnd,
+        aw.uuid, null AS organizationId, aw.name, aw.description, aw.deepLink AS url, aw.datetimeStart, aw.datetimeEnd, aw.price_mini, aw.price_maxi,
         aw.place AS placeName, NULL AS placeDescription, NULL AS placeFloorSize, NULL AS placeCapacity,
         aw.city, aw.postalCode, aw.streetAddress, aw.longitude, aw.latitude,
         NULL AS roomName, NULL AS roomDescription, NULL AS roomLocalisation, NULL AS roomCapacity, NULL AS roomFloorSize,

+ 43 - 1
src/Entity/Public/PublicEvent.php

@@ -33,7 +33,7 @@ use Doctrine\ORM\Mapping as ORM;
 #[ORM\Entity(repositoryClass: PublicEventRepository::class, readOnly: true)]
 #[ORM\Table(name: "view_public_events")]
 #[ApiFilter(filterClass: SearchFilter::class, properties: ['name' => 'partial', 'city' => 'exact'])]
-#[ApiFilter(filterClass: NumericFilter::class, properties: ['organizationId'])]
+#[ApiFilter(filterClass: NumericFilter::class, properties: ['organizationId', 'price_mini', 'price_maxi'])]
 #[ApiFilter(filterClass: DateFilter::class, properties: ['datetimeStart', 'datetimeEnd'])]
 #[ApiFilter(filterClass: DistanceFilter::class)]
 #[ApiFilter(filterClass: OrderFilter::class, properties: ['datetimeStart', 'datetimeEnd'], arguments: ['orderParameterName' => 'order'])]
@@ -106,6 +106,12 @@ class PublicEvent
     #[ORM\Column(type: 'integer')]
     private int $entityId;
 
+    #[ORM\Column]
+    private int $price_mini;
+
+    #[ORM\Column]
+    private int $price_maxi;
+
     /**
      * @return string
      */
@@ -501,4 +507,40 @@ class PublicEvent
         $this->entityId = $entityId;
         return $this;
     }
+
+    /**
+     * @return int
+     */
+    public function getPriceMin(): int
+    {
+        return $this->price_mini;
+    }
+
+    /**
+     * @param int $price_min
+     * @return PublicEvent
+     */
+    public function setPriceMin(int $price_mini): PublicEvent
+    {
+        $this->price_mini = $price_mini;
+        return $this;
+    }
+
+    /**
+     * @return int
+     */
+    public function getPriceMax(): int
+    {
+        return $this->price_maxi;
+    }
+
+    /**
+     * @param int $price_max
+     * @return PublicEvent
+     */
+    public function setPriceMax(int $price_maxi): PublicEvent
+    {
+        $this->price_maxi = $price_maxi;
+        return $this;
+    }
 }