Browse Source

ajout du filtre prix

Maha Bouchiba 2 years ago
parent
commit
a9c631a201

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

@@ -1,7 +1,7 @@
 CREATE OR REPLACE VIEW view_public_events
 CREATE OR REPLACE VIEW view_public_events
 AS
 AS
     SELECT
     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,
         p.name AS placeName, p.description AS placeDescription, p.floorSize AS placeFloorSize, p.capacity AS placeCapacity,
         ap.addressCity AS city, ap.postalCode,
         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,
         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
     WHERE b.discr = 'event' AND b.datetimeEnd >= NOW() AND b.visibility = 'PUBLIC_VISIBILITY' AND b.isCanceled = 0
 UNION
 UNION
     SELECT
     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.place AS placeName, NULL AS placeDescription, NULL AS placeFloorSize, NULL AS placeCapacity,
         aw.city, aw.postalCode, aw.streetAddress, aw.longitude, aw.latitude,
         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,
         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\Entity(repositoryClass: PublicEventRepository::class, readOnly: true)]
 #[ORM\Table(name: "view_public_events")]
 #[ORM\Table(name: "view_public_events")]
 #[ApiFilter(filterClass: SearchFilter::class, properties: ['name' => 'partial', 'city' => 'exact'])]
 #[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: DateFilter::class, properties: ['datetimeStart', 'datetimeEnd'])]
 #[ApiFilter(filterClass: DistanceFilter::class)]
 #[ApiFilter(filterClass: DistanceFilter::class)]
 #[ApiFilter(filterClass: OrderFilter::class, properties: ['datetimeStart', 'datetimeEnd'], arguments: ['orderParameterName' => 'order'])]
 #[ApiFilter(filterClass: OrderFilter::class, properties: ['datetimeStart', 'datetimeEnd'], arguments: ['orderParameterName' => 'order'])]
@@ -106,6 +106,12 @@ class PublicEvent
     #[ORM\Column(type: 'integer')]
     #[ORM\Column(type: 'integer')]
     private int $entityId;
     private int $entityId;
 
 
+    #[ORM\Column]
+    private int $price_mini;
+
+    #[ORM\Column]
+    private int $price_maxi;
+
     /**
     /**
      * @return string
      * @return string
      */
      */
@@ -501,4 +507,40 @@ class PublicEvent
         $this->entityId = $entityId;
         $this->entityId = $entityId;
         return $this;
         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;
+    }
 }
 }