F4ilji
9a9521c570
fix(vikon): initialize selectedParts arrays to prevent crash on checkbox click
2026-07-05 11:11:24 +05:00
F4ilji
d83364432e
feat(vikon): replace part select with checkboxes for multi-selection
2026-07-05 09:55:45 +05:00
F4ilji
1d423adc12
feat(vikon): add part selection UI to Vue dashboard
2026-07-05 02:52:50 +05:00
F4ilji
a4fef0bb3d
feat(dashboard): add DashboardError.vue with full error context display
2026-07-05 01:18:04 +05:00
F4ilji
204e31c06d
fix(vikon): show detailed error message with HTTP status code
2026-07-04 21:33:20 +05:00
F4ilji
87732720ef
feat(vikon): merge core update + FM sync into single Update button
2026-07-04 21:25:29 +05:00
F4ilji
8e5f26da8d
feat(vikon): add file sync from VIKON file manager (FM)
2026-07-04 20:41:49 +05:00
F4ilji
b94e0aad87
fix(vikon): replace router.reload with alert after update success
2026-07-04 19:37:49 +05:00
F4ilji
7b9cf25631
fix(vikon): skip authenticate call on OAuth callback, tokens already saved server-side
2026-07-04 18:22:51 +05:00
F4ilji
2ccfb24d1d
fix(vikon): use vikon_core redirect_uri for OAuth (registered on VIKON server)
...
- vikon_core/update/index.php now redirects OAuth callback to /dashboard/vikon-updates
- Vue frontend sends redirect_uri=https://www.ntspi.ru/vikon_core/update/index.php
- This URL is registered on db-nica.ru for client_id=542
2026-07-04 13:43:42 +05:00
F4ilji
94e17dfbbc
fix(vikon): use api_domain for OAuth authorize URL (not auth_domain)
...
Original vikon_core used db-nica.ru for /oauth2/authorize, not auth.db-nica.ru.
This was causing 'Client authentication failed' error.
2026-07-04 13:33:39 +05:00
F4ilji
f4f8bc8e77
feat(vikon): rewrite VikonIntegration from scratch — OAuth + core update
...
- HttpTask: Laravel Http facade with SSL enabled, retry, timeout
- ValidateTokenTask: token check via auth.db-nica.ru
- RefreshTokenTask: token refresh via db-nica.ru
- FilesystemTask: path traversal protection, blocked extensions (PHP/ASP/etc)
- AuthenticateAction: OAuth2 code→token exchange
- CheckAccessAction: token validation + filesystem writability check
- CheckVersionAction: version comparison against remote API
- UpdateCoreAction: ZIP download, Zip Slip protection, atomic sync with rollback
- VikonController: thin controller, 7 endpoints with Session-based token storage
- Routes: access-check, dashboard.auth, throttle:30,1 middleware
- Vue 3 Composition API frontend with progress bar
- Config: all secrets in .env via config/vikon.php
- vikon_core kept as fallback (not deleted)
2026-07-04 12:53:28 +05:00
F4ilji
47aac647ac
feat(vikon): remove broken VikonIntegration container - starting fresh
2026-07-04 12:40:41 +05:00
F4ilji
709c51ea49
remove: all deploy UI/backend code, keep _deploy folder only
...
- Delete DeployRunCommand, DeployController, deploy API routes
- Delete Dashboard/Deploy Vue pages and components
- Remove deploy route from web.php
- Remove deploy quick action from config
- Remove DeployRunCommand from ConsoleKernel
2026-07-02 17:36:42 +05:00
F4ilji
e0cb9642cd
fix: add better error logging for deploy API
2026-07-02 16:55:43 +05:00
F4ilji
2b5b4ee48f
error alert change
2026-07-02 16:49:55 +05:00
F4ilji
aa6c5bc6be
error alert change
2026-07-02 13:25:11 +05:00
F4ilji
92bb10faba
fix: add CSRF token and cookies to deploy API requests
2026-07-02 13:17:24 +05:00
F4ilji
6fb0079e7c
feat: add deploy route and sidebar navigation
2026-07-02 12:50:09 +05:00
F4ilji
13d7d36088
feat: add deploy dashboard page with components
2026-07-02 12:48:49 +05:00
F4ilji
8bc5c367d6
revert: remove deploy UI, controller, actions, tasks, and routes
...
- Remove Deploy/Index.vue, DeployController, DeploySiteAction, DeployTask
- Remove deploy routes from web.php
- Remove deploy menu item from menuConfig
- Remove deploy button and methods from Main.vue
- Remove deploy logging channel from logging.php
- Keep _deploy/ folder for future CI/CD setup
2026-07-02 12:00:48 +05:00
F4ilji
3da95da099
fix: use X-CSRF-TOKEN header to match Main.vue pattern
...
X-XSRF-TOKEN is for Laravel's cookie-based CSRF verification,
but this app uses meta tag CSRF. Main.vue uses X-CSRF-TOKEN
and works correctly.
2026-07-02 01:36:05 +05:00
F4ilji
de4fdc2c72
fix: add credentials same-origin to Deploy fetch calls
...
Without this, session cookie is not sent with fetch() requests,
causing server to redirect to login (returning HTML instead of JSON).
2026-07-02 01:29:05 +05:00
F4ilji
b42a733f53
error alert change
2026-07-02 01:24:58 +05:00
F4ilji
8364b220cc
feat: add Integration Credentials CRUD and Deploy UI
...
Integration Credentials:
- Add IntegrationCredential model with encrypted payload
- Add full CRUD: ManageIntegrationCredentialsAction, 4 Tasks, Controller, Requests
- Add migration for integration_credentials table
- Add Vue pages: Index, Create, Edit
- AI tasks now read API keys from DB instead of .env
- Add sidebar menu item
Deploy UI:
- Add DeployTask with full deploy lifecycle management
- Extend DeployController with index, log, history endpoints
- Add Deploy/Index.vue with live polling and deploy log viewer
- Add sidebar menu item and QuickAction for Sveden
UI:
- Add 'key' icon to SidebarNavItem
- Change deploy button color to amber in Main.vue
2026-07-02 01:03:13 +05:00
F4ilji
938578d217
fix: handle non-JSON server responses in Sveden upload
2026-07-01 13:58:46 +05:00
F4ilji
d83ecc3747
debug: show actual error message in Sveden upload
2026-07-01 13:33:49 +05:00
F4ilji
80b88405f1
fix: resolve Sveden upload permissions and CSRF cookie issue
...
- Add hostgroup (GID 1000) to Dockerfile so www-data inside container can write to sveden/
- Add credentials: 'same-origin' to fetch calls in Sveden.vue and QuickUpload.vue to send session cookies
2026-07-01 13:10:59 +05:00
F4ilji
c9fca0bf29
feat: add Sveden update feature
...
- SvedenController: upload zip and extract to public/sveden
- UpdateSvedenAction: orchestrates temp file handling and extraction
- ExtractSvedenArchiveTask: validates and extracts sveden/abitur folders with security checks
- Sveden.vue: upload UI with progress indicator
- Added routes: GET/POST /dashboard/sveden
- Added quick action: Обновить Sveden
2026-06-30 16:12:16 +05:00
F4ilji
20f615365b
changes
2026-04-17 12:38:39 +05:00
F4ilji
3669a0d982
changes
2026-04-14 23:10:00 +05:00
F4ilji
2e77978d5c
changes
2026-04-13 14:37:57 +05:00
F4ilji
5eb5a7bc06
changes
2026-04-10 10:51:42 +05:00
F4ilji
9e35cf848d
changes
2026-04-10 09:01:47 +05:00
F4ilji
4aa4b9cadf
changes
2026-04-09 17:23:10 +05:00
F4ilji
4bde0b10d0
changes
2026-04-09 13:35:02 +05:00
F4ilji
e986940680
changes
2026-04-09 09:09:17 +05:00
F4ilji
169a2f5654
changes
2026-04-08 14:14:38 +05:00
F4ilji
936b1fb5b0
changes
2026-04-07 17:54:26 +05:00
F4ilji
1256adba98
changes
2026-03-23 10:50:31 +05:00
F4ilji
b1c4f7b054
changes
2026-03-21 15:40:18 +05:00
F4ilji
d0a106159d
changes
2026-03-21 00:53:49 +05:00
F4ilji
836452add6
Changes
2026-03-20 23:35:09 +05:00
F4ilji
a3948c872e
Changes
2026-03-20 21:47:02 +05:00
F4ilji
864795749e
Update pagination limit and improve author display in PostListItem
2025-11-20 15:58:48 +05:00
F4ilji
2297aab379
Added a check for the emptiness of the array for added programs in Departments/Show.vue
2025-10-08 01:11:52 +05:00
F4ilji
d6a5db711d
changes
2025-10-05 18:04:32 +05:00
F4ilji
f4bfa04690
Refactor Time.vue layout by removing unnecessary margin from schedule and date/time blocks for improved styling consistency.
2025-09-29 16:44:25 +05:00
F4ilji
4146880905
Add time method to TvController and update routes to include time endpoint for TV functionality.
2025-09-28 12:36:38 +05:00
F4ilji
02fb2554c1
Enhance FindSliderBySlugTask to filter slides based on current time, ensuring only active slides within the valid time range are retrieved; update SlidesRelationManager to set default and minimum dates for start and end times. Improve Slider component styling for better visibility during loading state.
2025-09-27 14:11:25 +05:00