74 Commits
Author SHA1 Message Date
F4ilji d6c0f48d48 feat(analytics): add site analytics with grouped navigation sections
- Add Analytics container: models, tasks, jobs, controllers, routes, services
- Add analytics config with section groups (structure, institute, content, services)
- Add database tables: analytics_sessions, analytics_hits, analytics_daily_stats
- Add frontend: Analytics page, section detail, chart, overview, navigation components
- Add consent banner and JS tracking service (sendBeacon + Inertia listener)
- Add permission sync for view_analytics, view_any_analytic
- Fix trailing slash URL matching in GetNavigationSectionsTask
- Fix event propagation on expand arrows in navigation sections
- Fix RecordVisitJob to not depend on dropped analytics_geo_cache table
- Replace plain text views/visitors with badge-style icons
- Group navigation sections by category with separate blocks
- Add config-driven non-CMS sections (faculties, divisions, DPO, journals)
- Remove Events, TV, Sveden from analytics sections
2026-09-18 22:18:04 +05:00
F4ilji cc08cdbc97 fix: 405 error on schedule upload/edit
- Edit.vue: move _method PUT from Inertia options to FormData (Inertia v2 ignores it in options)
- Upload.vue: add forceFormData: true for reliable multipart/form-data
- AccessCheck: add logging when abort() is triggered with non-200 code
- UploadSchedulesController: add request logging for diagnostics
- php.ini: increase max_file_uploads from 20 to 50 for bulk uploads
2026-09-18 01:32:34 +05:00
F4ilji 63e456088d feat(dashboard): add Roles CRUD with permission-based menu filtering
- Roles CRUD: List/Create/Update/Delete actions, controller, requests
- Roles Vue pages: Index, Create, Edit (Options API, DashboardLayout)
- SidebarNav: filter menu items by user permissions via Inertia shared data
- HandleInertiaRequests: share permissions and roles arrays to frontend
- HttpKernel: register dashboard.permission middleware alias
- SidebarNavItem: add shield-check icon mapping
2026-08-03 10:39:15 +05:00
F4ilji b7259fdd6f refactor(permissions): replace hardcoded route middleware with auto-resolving CheckDashboardPermission
- New middleware extracts permission name from route name automatically
- dashboard.posts.index → view_any_post
- dashboard.admission-campaigns.store → view_any_admission_campaign
- vikon-updates, integration-credentials excluded from check
- Single middleware on parent group instead of 28 individual ones
2026-07-16 12:05:15 +05:00
F4ilji 720aa4d0ae feat(logging): migrate VikonIntegration to vikon channel 2026-07-05 23:13:51 +05:00
F4ilji 15dd66b636 fix(vikon): register vikon.refresh in correct HttpKernel (Ship) 2026-07-04 17:55:53 +05:00
F4ilji 3dc29d44d8 fix(vikon): DNS bypass, OAuth callback, ABITUR init, token cache, ZIP security
- Add CURLOPT_RESOLVE DNS bypass for db-nica.ru / file.db-nica.ru
- Add OAuth callback route with CSRF state validation
- Add /authorize endpoint to generate OAuth URL with state
- Add ABITUR special case: init empty module core without ZIP download
- Add token validation caching (150s) to reduce API calls
- Block PHP/PHTML/PHAR files inside ZIP before extraction
- Add VikonTokenRefresh middleware for auto token refresh
- Add vikon.refresh middleware alias to Kernel
2026-07-04 17:44:50 +05:00
F4ilji 6750ca8f45 fix: add error flash message to Inertia shared props
Add error session key to flash messages so frontend can display
error notifications from session flash data.
2026-07-02 00:29:34 +05:00
F4ilji 4aa4b9cadf changes 2026-04-09 17:23:10 +05:00
F4ilji 936b1fb5b0 changes 2026-04-07 17:54:26 +05:00
F4ilji a3948c872e Changes 2026-03-20 21:47:02 +05:00
F4ilji 1f61601e05 add cors rules 2026-01-09 19:07:51 +05:00
F4ilji 2d101dcdda feat: Refactor MainController and related tasks to follow Porto architecture
- Moved logic from MainController to dedicated action and task classes.
- Introduced GetMainPageDataAction, GetEducationsDataTask, GetRecentPostsTask, GetUpcomingEventsTask, and GetPageDataTask for better separation of concerns.
- Updated routes to use the new MainController from the Main container.
- Deprecated the old MainController with a clear message for future removal.
- Updated caching mechanisms to use the new task classes.
- Adjusted environment variable access to use config() instead of env() for better practice.
- Added new MainPageResource for structured data response.
- Updated .gitignore to exclude QWEN.md.
- Added Jenkins service to docker-compose for CI/CD integration.
2025-12-16 12:20:01 +05:00
F4ilji 72af09d93d Add Yandex Metrika integration for tracking; update FindSliderBySlugTask to ensure active slides are filtered correctly based on time; enhance app.blade.php for conditional Yandex Metrika script inclusion based on environment. 2025-09-27 22:35:36 +05:00
F4ilji a4bdde6382 refactor educational components and API routes; update form handling in various actions and Vue components, enhance user interface for form display, and improve data retrieval logic in CreateAdmissionPlan job 2025-07-27 12:52:04 +05:00
F4ilji e403203e72 remove all .DS_Store files from the project 2025-07-22 18:49:44 +05:00
F4ilji 1fc793089c refactor PersonController; replace caching logic with GetPersonDataAction for improved maintainability and clarity 2025-07-18 17:10:49 +05:00
F4ilji 0874d3e6b5 refactor sitemap generation and navigation handling; remove old GenerateSitemap command, update to use tasks for better organization, and enhance navigation data retrieval 2025-07-18 13:07:51 +05:00
F4ilji efba91653e small fix 2025-06-19 08:23:41 +05:00
F4ilji 501e5487b9 small fixes 2025-06-14 19:33:49 +05:00
F4ilji 791a56ca4d added tv page, small changes and fix bugs 2025-05-21 14:00:04 +05:00
F4ilji c01016a154 Migrate backend to Porto architecture and fix minor bugs
- Fully transitioned the backend to the Porto architectural pattern
- Improved code organization and maintainability
- Fixed minor bugs and inconsistencies
2025-05-12 08:47:43 +05:00
F4ilji 313eea406b fix bugs and errors 2025-05-07 09:33:14 +05:00
F4ilji 8dadd19adc fix bugs 2025-05-06 10:47:12 +05:00
F4ilji 453fb4cccc major change fixing bugs when running SSR in the project 2025-04-26 22:59:46 +05:00
F4ilji 1df1a1390f fix bugs 2025-04-23 20:45:25 +05:00
F4ilji 43e59e8838 fix bugs 2025-04-23 17:53:22 +05:00
F4ilji bd3922c0b5 added filters in additional edu 2025-04-23 14:23:20 +05:00
F4ilji 45c84e7ffb added feature for binding form to page and fixing bugs 2025-04-22 21:15:03 +05:00
F4ilji 03aca1725b fixing bugs in seo generate, fix bug set publish time in post, changes in import posts command, changes in pagination 2025-04-19 15:07:29 +05:00
F4ilji 4fcc41e36e small fixing, added throw errors in widgets 2025-04-16 15:27:02 +05:00
F4ilji cac319fa81 fixing search module, and schedule module 2025-04-14 19:24:18 +05:00
F4ilji 88e729aa87 added API VICON integration for updating admission plans via admin panel (queued).
Updated exams and contests display on programs/show page.
Added relevant enums for admission plans.
2025-04-09 15:58:29 +05:00
F4ilji bf21022eda add clear cache to edu programs, fix relationships bugs 2025-04-07 20:37:22 +05:00
F4ilji f0f9a6fbd2 add new default color and fix bugs 2025-04-05 18:36:32 +05:00
F4ilji 8aeef476ae fix bugs and deletes unnecessary files 2025-04-04 22:59:34 +05:00
F4ilji b6fb523aaa fix bugs in BreadcrumbService and Person page 2025-04-04 15:11:34 +05:00
F4ilji 13c45b80d2 Added changes to search by Vicon structure. Added fix for Page view for settings column. 2025-04-03 15:11:04 +05:00
F4ilji 5cd6ff11b5 Rework admin panel and other 2025-04-02 18:37:20 +05:00
F4ilji 49072e50c7 Rework frontend 2025-03-23 00:38:16 +05:00
f4ilji 7a7ecf7b0d Changes 2025-03-13 12:17:27 +05:00
f4ilji 3385dc5807 Changes 2025-01-30 00:31:40 +05:00
f4ilji bad611eb84 Changes 2025-01-15 15:31:37 +05:00
f4ilji 6b48c31afd Changes 2025-01-13 13:56:50 +05:00
f4ilji 8106493216 Changes 2025-01-10 15:45:31 +05:00
f4ilji a4dd863c80 Changes 2025-01-10 13:39:25 +05:00
f4ilji 767cd2680c Changes 2025-01-09 09:38:54 +05:00
f4ilji abc6bcf1ba Changes 2025-01-08 22:48:54 +05:00
f4ilji 8718ab32ef Changes 2024-12-25 11:14:36 +05:00
f4ilji da4df5b89c Changes 2024-12-24 19:33:35 +05:00