Commit Graph

41 Commits

Author SHA1 Message Date
Arthur Parienté
7490e72523
[8.x] refactor: use native php enum instead of class (#2210)
* wip

* refactor: update enum handling and improve type hints across models

* refactor: deprecate labels and select methods in HasSelect trait for better separation of concerns

* copilot suggestions
2026-05-12 16:29:41 -05:00
Arthur Parienté
992b6d343a
[8.x] feature: upgrade to Laravel 13 (#2204)
* upgrade to laravel 13

* phpstan

* rollback to symfony 7.4

* fix: ModuleService merge

* refactor: new rector rules
2026-05-06 11:27:21 -05:00
Nabeel Shahzad
7b390d42b7 refactor(pirep): migrate widgets and DevCommands to Pirep::activeFlights scope 2026-04-27 16:36:09 -05:00
Nabeel Shahzad
315ce8d58d
refactor(user): migrate Api/User, FlightController, LatestPilots widget, Filament to direct Eloquent 2026-04-26 16:14:41 -05:00
Nabeel Shahzad
625986a0c1
refactor(news): replace NewsRepository with Eloquent direct
- NewsService: direct News::create/find/fill+save/delete calls, no more
  repo dependency
- Api/NewsController: News::with/latest/paginate instead of repo chain
- LatestNews widget: same, using Eloquent latest() and paginate()
- Remove dead public static array $rules from News model (unused by
  anything — was a Prettus validator hook that was never activated)

The Phase 0 NewsListShapeTest locks the JSON contract, so API
consumers see no behavioral difference.

Part of Phase 1b of the Prettus repository removal.
2026-04-24 19:57:07 -05:00
Arthur Parienté
a715ddf486
feat(admin): upgrade to Filament v4 (#2062)
* remove filament-clusters

* upgrade livewire

* remove coolsam modules and resolve modules providers before filament

* update dependencies

* run upgrade script

* refactor: module links plugin

* refactor: version widget

* refactor: admin panel

* refactor: create custom theme to use tailwindcss classes

* feat: add language switcher plugin

* refactor: migrate ActivityLogResource

* refactor: migrate SimBriefAirframes

* refactor: migrate AirlineResource

* refactor: translate FilesRelationManager

* refactor: migrate AirportResource

* refactor: translate FilesRelationManager

* refactor: translate ExpensesRelationManager

* refactor: migrate AwardResource

* refactor: migrate ExpenseResource

* refactor: migrate FareResource

* refactor: migrate FlightResource

* refactor: migrate InviteResource

* refactor: migrate ModuleResource

* refactor: migrate PageResource

* refactor: migrate PirepFieldResource

* refactor: migrate PirepResource

* refactor: some translations in the FlightResource

* refactor: migrate RankResource

* refactor: migrate SubfleetResource

* refactor: migrate AircraftResource

* refactor: migrate TyperatingResource

* refactor: migrate UserFieldResource

* refactor: migrate UserResource

* refactor: remove the emptyStateActions

* refactor: migrate Finances

* fix: SimBriefAirframe

* refactor: migrate Maintenance

* refactor: migrate Settings

* refactor: remove old pages views

* refactor: NavigationGroups

* feat: upgrade SystemPanel, Update page and add streamed response to migrations

* fix: canAccess in Updater

* feat: upgrade the whole SystemPanel

* remove tests migrations (oops)

* refactor: remove system theme

* chore: update filament

* fix: role system and custom permission generator

* fix: airport translation

* feat: translate dashboard widgets

* fix: version major number

* refactor: update IconColumn boolean

* chore: upgrade to vite v7 and fix some CVEs

* feat: run pint in parallel and add rector to pre-commit

* chore: downgrade openspout to support php 82

* feat(admin): add prefetching

* fix(pre-commit): run pint only on staged files

* fix(seeds): in_progress.yml seeds

* refactor: add full type coverage to admin

* fix: permissions in PirepFieldsAction and UserFieldsAction

* refactor: translation for PIREPs Fields

---------

Co-authored-by: Nabeel S. <99736+nabeelio@users.noreply.github.com>
2025-08-13 10:20:23 -05:00
B.Fatih KOZ
53c82f8ea6
Latest Awards Widget (#1862) 2024-09-10 10:00:02 -05:00
B.Fatih KOZ
ca9bb88f9e
Fix order and eager load user (#1696) 2023-11-27 10:51:13 -06:00
arthurpar06
820157d346
Optimization (#1508)
* Use eager loading in SubfleetRepository

* Remove useless queries from LiveMapController

* Use eager loading in LatestPilots

* Load page_links only in nav view

* Store settings in cache when env is production

* Style CI fix

* Store modules queries when env is prod

* Style CI fix

* Don't check env before forgetting settings or modules cache
2023-01-11 14:06:28 -06:00
B.Fatih KOZ
4c60e5da69
Eager loading update for frontend controllers and widgets (#1348)
* Update AirportController.php

Eager load `files`

* Update DashboardController.php

 Eager load `journal` for user , and `aircraft, arr_airport, comments, dpt_airport` for last_pirep.

* Update FlightController.php

Eager load + `alt_airport, subfleets` (with their airlines) for flights and `current_airport` for user 
(though current_airport can be removed and we can base the in blade checks on `$user->curr_airport_id` to reduce db reads and model loading)

* Update HomeController.php

Eager load `home_airport` for users

* Update PirepController.php

Eager load `airline, aircraft, fares, transactions, dpt_airport, arr_airport, comments, simbrief, user with rank` for pirep details

* Update ProfileController.php

Eager load `airline, awards, current_airport, fields.field, home_airport, last_pirep, rank` for user

* Update UserController.php

Eager load `airline, current_airport, fields.field, home_airport, rank` for users and count `awards`

* Update AirportController.php

* Update DashboardController.php

* Update PirepController.php

* Update ProfileController.php

* Update LatestNews.php

Eager load `user` for news

* Update LatestPilots.php

Eager load `home_airport` for latest users

* StyleFix 1

* StlyeFix 1.5

* Update SimBriefController.php

Eager load airline with flight

* Update SimBriefController.php

* Update SimBriefController.php
2021-11-09 09:51:02 -05:00
B.Fatih KOZ
5094375e13
Fixes For GDPR/Deleted Users (#1164)
* Fix DeletedUsers being displayed at Homepage

Deleted users should not be displayed at homepage / newest pilots list. PR fixes that problem.

* Do Not Display Deleted Users with LatestPireps

As the main page, Latest Pilots widget should not display GDPR/Soft deleted users too.

* StyleFix
2021-05-03 08:46:21 -04:00
B.Fatih KOZ
c2b0b69eb2
Change LatestPireps Widget Sort Order (#1099)
* Change LatestPireps Widget Sort Order

Latest pireps should be ordered by `submitted_at` instead of `created_at` . 

Pirep may be created even a day before others (with the pause/resume ability we have in acars) but it gets submitted once when the flight is ended, thus I think it should be our reference to sort them in proper order.

* Trying to Pass UnitTest
2021-03-25 09:51:16 -04:00
B.Fatih KOZ
b4d5c0fbcd
Weather METAR/TAF enhancements (#964)
* Update AviationWeather.php

Added the ability to fetch latest TAF report of given icao from ADDS/NOAA

* Update Weather.php

Used updated Metar\AviationWeather service to improve the widget ability and provide raw TAF data for the view

* Style Fix 1

* Update weather.blade.php

Updated blade to match updated Metar\AviationWeather service and the Weather widget controller.

Also fixed the order of temp - dewpoint - humidity - visibility display according to aviation usage.

Widget now displays raw TAF data just below raw METAR data.

* Update Metar inferface and wrap TAF retrieval in cache

* Styles fix

* Add call to getTaf. Don't call AviationWeather directly

* Fix cache lookup strings

* Fix recursion error

* Update weather.blade.php

Used latest weather.blade , added $taf['raw'] after raw metar.

* Compatibility Update

Updated the widget controller to match latest dev (added raw_only to config)

* Update Weather Widget Blade

Made the widget blade compatible with the TAF reports, widget will display raw metar and taf after the decoder, if no metar or taf recieved it will be displayed in its own row. Also added the new option of raw_only to blade, if it is true, metar decoding will be skipped and only raw values will be displayed. ( Useful when displaying multiple wx widgets at the same page for departure, destination and alternate etc )

Co-authored-by: Nabeel Shahzad <nshahzad@live.com>
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
2021-02-19 12:45:39 -05:00
Nabeel Shahzad
bf77f7dd96 Add 'phase' as response output, deprecate "status" 2021-02-04 14:54:16 -05:00
B.Fatih KOZ
2b0056b7c5
Added the ability to enable/disable flight table display below the map (#983)
* LiveMap Widget Upgrade

Added the ability to enable/disable flight table display below the map.

Default is on

* Update LiveMap.php

* Update LiveMap.php

* Update live_map.blade.php
2021-01-12 08:24:50 -05:00
Nabeel S
ea9ee985e8
METAR parsing infinite loop bugfix #599 (#600)
METAR parsing infinite loop bugfix #599
2020-02-28 22:50:41 -05:00
Nabeel S
5cafebe4d6
Fix/metar reading (#353)
* Fix reading of the METAR information for AviationWeather. Fix the DI

* StyleCI fixes
2019-08-08 14:52:34 -04:00
Nabeel Shahzad
a720f12e0b Rename Interfaces to Contracts to better match Laravel conventions 2019-07-15 15:44:31 -04:00
Kevin
f7ae027156 Optimize query with eager loading 2018-09-04 20:02:16 +08:00
Nabeel Shahzad
9596d88b48 Apply fixes from StyleCI 2018-08-26 16:40:04 +00:00
Nabeel Shahzad
d76b264238 Fix saving PIREPs as draft 2018-05-29 11:04:28 -05:00
Nabeel Shahzad
da0a7cbe81 Add ACARS live time/coords/default zoom into admin settings 2018-05-16 10:54:01 -05:00
Nabeel Shahzad
c102a0d858 Refactor all of the unit conversion code 2018-04-07 20:52:12 -05:00
Nabeel Shahzad
eae5989845 Replace METAR data with custom class 2018-04-07 09:05:06 -05:00
Nabeel Shahzad
a31b704203 add metar lib and adding some modifications 2018-04-04 20:59:52 -05:00
Nabeel Shahzad
d8dad44e43 Add compositional interface for METAR parser class 2018-04-04 17:14:46 -05:00
Nabeel Shahzad
052813ba4a Fixes in how METARs are parsed 2018-04-04 09:04:14 -05:00
Nabeel Shahzad
2351dbe717 Move caching into Metar base class, clean up of caller in the widget 2018-04-02 22:44:31 -05:00
Nabeel Shahzad
717118cfb4 Add METAR interface and use local library for decoding 2018-04-02 22:35:25 -05:00
Nabeel Shahzad
9e1e0142e9 Route downloads through controller; file IDs as hash to prevent guessing; download count; download list on airport page 2018-04-02 12:55:37 -05:00
Nabeel Shahzad
c000034cab Some changes to WX template layout and cache the API call out #61 2018-04-02 07:06:00 -05:00
Nabeel Shahzad
bb73af3806 Add weather to the dashboard for the current airport 2018-04-02 06:47:05 -05:00
Nabeel Shahzad
0bed38c78b Add airport overview page and links to it #225 2018-03-31 15:57:30 -05:00
Nabeel Shahzad
504b33ba2a Add AirspaceMap widget; airport overview page 2018-03-27 11:40:37 -05:00
Nabeel Shahzad
ccf56ddec1 Fix formatting and interfaces in nearly every file 2018-03-19 20:50:40 -05:00
Nabeel Shahzad
f05e37767f Update skinning with more flexible theme module 2018-03-11 18:00:42 -05:00
Nabeel Shahzad
ea09a18956 Fixed formatting of almost every file 2018-02-20 22:33:09 -06:00
Nabeel Shahzad
9bc6501e8d Rename widgets from Recent* to Latest* 2018-01-10 16:05:02 -06:00
Nabeel Shahzad
2ccaaddfcd add latest news item as widget to dashboard #52 2018-01-10 16:02:33 -06:00
Nabeel Shahzad
26d3a7f4d6 Convert live acars map into a widget 2018-01-09 12:48:24 -06:00
Nabeel Shahzad
bb59dc1ef9 Convert recent pilots/pireps to widgets #127 2018-01-08 19:53:55 -06:00