Go to file
2026-07-26 19:58:27 +03:30
.github/workflows fixing conflicts 2023-11-06 17:31:18 -06:00
app اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
bootstrap اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
config اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
database اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
public اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
resources اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
routes اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
storage اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
tests Removes CreatesApplication (#6310) 2024-01-03 07:52:33 -06:00
.editorconfig Sort EditorConfig rules (#6012) 2022-10-17 09:17:59 -05:00
.env.example اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
.gitattributes Updated git configuration to use LF line endings by default (#6061) 2022-12-29 19:32:36 -06:00
.gitignore اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
.styleci.yml [9.x] Don't need to ignore vite config file (#5953) 2022-07-26 08:05:37 -05:00
2024_01_01_000022_add_expense_and_pettycash_missing_columns.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
AppServiceProvider.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
artisan slim comments 2024-01-17 16:44:19 -06:00
AuditLog.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
AuditLogMiddleware.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
CHANGELOG.md Prepare 11.x branch 2024-03-07 15:06:04 +01:00
composer.json اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
composer.lock اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
Employee.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
Expense.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
INSTALL-WINDOWS-XAMPP.md اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
INSTALL.md اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
INSTALL.txt اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
InventoryTransactionPolicy.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
ItemPolicy.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
Kernel.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
move-files.bat اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
package-lock.json اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
package.json اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
PettyCash.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
PettyCashController.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
PettyCashPolicy.php اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
phpunit.xml Fixes APP_MAINTENANCE_DRIVER value for testing 2024-01-22 16:29:40 +00:00
postcss.config.js اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
README.md اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
sidebar-addition.txt اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
tailwind.config.js اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30
vite.config.js اولین کامیت پروژه vernova 2026-07-26 19:58:27 +03:30

Vernova - Calendar Fix (رفع مشکل تقویم)

مشکل

بخش‌هایی از برنامه تاریخ‌ها رو به میلادی نمایش می‌داد حتی وقتی کاربر تقویم رو روی شمسی ست کرده بود.

تغییرات

1. app/Http/Middleware/SetLocale.php

مشکل: اولویت خواندن تقویم از سشن اشتباه بود. Middleware در هر درخواست، مقدار سشن رو با مقدار دیتابیس کاربر override می‌کرد. اگر کاربر تقویم رو از هدر تغییر بده، در درخواست بعدی مقدار سشن دوباره از دیتابیس خونده می‌شد و تغییر کاربر نادیده گرفته می‌شد.

رفع: اولویت سشن بالاتر از دیتابیس قرار گرفت. حالا ترتیب اولویت:

  1. سشن (بالاترین اولویت - کاربر همین الان تغییر داده)
  2. تنظیمات دیتابیس کاربر
  3. تنظیمات tenant
  4. تنظیمات مرورگر
  5. تنظیمات پیش‌فرض config

2. app/Http/Controllers/DashboardController.php

مشکل: کلید کانفیگ اشتباه بود: config('projectra.defaults.calendar') به جای config('projectra.default_calendar').

رفع: کلید کانفیگ اصلاح شد.

3. resources/views/layouts/header.blade.php

مشکل: سینتکس @x-localized-date :date="now()" معتبر نیست و به صورت متنی خام نمایش داده می‌شد.

رفع: خط نامعتبر حذف شد و فقط {{ calendar_date(now()) }} باقی ماند.

4. app/Helpers/helpers.php

مشکل: تابع calendar_date() تاریخ شمسی رو با ارقام لاتین نمایش می‌داد (مثلاً 1403/01/15 به جای ۱۴۰۳/۰۱/۱۵).

رفع: تبدیل خودکار ارقام فارسی وقتی locale روی 'fa' هست اضافه شد.

5. app/Models/Project.php

مشکل: اکسسور getStatusLabelAttribute() وجود نداشت اما ویوها از $project->status_label استفاده می‌کردن.

رفع: اکسسور status_label و رابطه defaultCurrency() اضافه شد.

نحوه نصب

فایل‌ها رو در مسیرهای مربوطه در پروژه لاراول کپی کنید:

calendar-fix/
├── app/
│   ├── Http/
│   │   ├── Middleware/SetLocale.php
│   │   └── Controllers/DashboardController.php
│   ├── Helpers/helpers.php
│   └── Models/Project.php
├── resources/
│   └── views/
│       └── layouts/header.blade.php
└── README.md