feat: add RichTextEditor component for rich text editing in articles

feat: create SanitizeBlogBodiesCommand to clean existing blog bodies according to current HTML sanitization policies

test: add AppointmentTreatmentSessionLinkTest to ensure appointment booking functionality works correctly with treatment session links
This commit is contained in:
hamed
2026-08-08 11:40:17 +03:30
parent 934405c42d
commit 47323daa27
36 changed files with 3461 additions and 12686 deletions
+8
View File
@@ -147,6 +147,10 @@ class ServiceItem
public function getConsumables(): Collection
{
// Doctrine بدون constructor هیدریت می‌کند؛ از property تایپ‌شده محافظت کن.
// phpstan فقط constructor را می‌بیند و می‌گوید این property همیشه مقدار
// دارد. Doctrine اما بدون constructor هیدریت می‌کند، پس روی نمونهٔ
// نیمه‌ساخته می‌تواند initialize نشده باشد. گارد عمدی است.
/** @phpstan-ignore-next-line */
return $this->consumables ??= new ArrayCollection();
}
@@ -209,6 +213,10 @@ class ServiceItem
public function getStaffMembers(): Collection
{
// Doctrine hydrates without the constructor; guard the typed property.
// phpstan فقط constructor را می‌بیند و می‌گوید این property همیشه مقدار
// دارد. Doctrine اما بدون constructor هیدریت می‌کند، پس روی نمونهٔ
// نیمه‌ساخته می‌تواند initialize نشده باشد. گارد عمدی است.
/** @phpstan-ignore-next-line */
return $this->staffMembers ??= new ArrayCollection();
}