Browse Source

Merge branch 'v8-5388-filtre-events-fnac' into 'develop'

ajout du filtre prix

See merge request opentalent/ap2i!60
Maha Bouchiba 2 years ago
parent
commit
66aefcbef4
3 changed files with 69 additions and 4 deletions
  1. 24 1
      phpstan.json
  2. 2 2
      sql/schema-extensions/001-view_public_events.sql
  3. 43 1
      src/Entity/Public/PublicEvent.php

+ 24 - 1
phpstan.json

@@ -1 +1,24 @@
-[]
+[
+    {
+        "description": "PHPDoc tag @param references unknown parameter: $price_min",
+        "fingerprint": "a01fcf3b22321902df6137f7c06fa593d7b805397a90357e55ea87d53b3fbb02",
+        "severity": "major",
+        "location": {
+            "path": "src/Entity/Public/PublicEvent.php",
+            "lines": {
+                "begin": 523
+            }
+        }
+    },
+    {
+        "description": "PHPDoc tag @param references unknown parameter: $price_max",
+        "fingerprint": "16c23a8222383c8eab1118fa7cd936e1b023cc8af2118927cf67f7fc72e7e4a1",
+        "severity": "major",
+        "location": {
+            "path": "src/Entity/Public/PublicEvent.php",
+            "lines": {
+                "begin": 541
+            }
+        }
+    }
+]

+ 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 getPriceMini(): int
+    {
+        return $this->price_mini;
+    }
+
+    /**
+     * @param int $price_mini
+     * @return PublicEvent
+     */
+    public function setPriceMini(int $price_mini): PublicEvent
+    {
+        $this->price_mini = $price_mini;
+        return $this;
+    }
+
+    /**
+     * @return int
+     */
+    public function getPriceMaxi(): int
+    {
+        return $this->price_maxi;
+    }
+
+    /**
+     * @param int $price_maxi
+     * @return PublicEvent
+     */
+    public function setPriceMaxi(int $price_maxi): PublicEvent
+    {
+        $this->price_maxi = $price_maxi;
+        return $this;
+    }
 }