浏览代码

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

ajout du filtre prix

See merge request opentalent/ap2i!60
Maha Bouchiba 2 年之前
父节点
当前提交
66aefcbef4
共有 3 个文件被更改,包括 69 次插入4 次删除
  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;
+    }
 }