* Update AcarsRepository.php
Use `where` instead of `whereDate` , as you know whereDate only checks the date, it skips the time part completely, thus not providing correct live pireps collection.
* Switch from created_at to updated_at
Also remove the UTC conversion 'cause `updated_at` field is not being populated with UTC values.
* Update PirepStatusChanged.php
Use profile route for author url instead of pirep
* Update PirepSubmitted.php
Use profile route for author url instead of pirep
* Update PirepPrefiled.php
Use profile route for author instead of pirep
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* SimBrief OFP Edit
Changes aim to have ability of editing generated SimBrief Flight Plans and re-downloading.
* Move url to config
* Blade update and $uri change
* Update simbrief_form.blade.php
Used `$flight->id` along with `$user->ident` to have a more unique static id value. No details given for that fields uniqueness requirements, this will be ok I think though.
Also we are passing user's simbrief userid with api to find the flight plan, both combined, no chance to get another users plan and/or any other plan of same user.
* Update SimBriefController.php
Move `static_id` to controller
* Update simbrief_form.blade.php
Read `static_id` from controller
* StyleFix
* Update phpvms.php
* Update SimBriefService.php
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Update helpers.php
Looks like php8 is not liking numeric strings as we like them.
Fixes#1229
* StyleFix
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Discord notifications for events #433
* Style fixes
* Check for blank webhook urls and disable
* Cleanup items after review
* Changes and fixes
* Style fixes
* Don't load env for testing
* Fix status text
* Refactor saving fields/fares so events get the latest data
* Cleanup
* Style fixes
* Block Aircraft with SimBrief
Changes aim to have the ability to block an aircraft's usage if it is used to generate a SimBrief OFP.
Unused/Expired briefings will be deleted by cron like before but will now be checked by HourlyCron, so admins can define more precise restrictions for them (and the blockage period of their aircraft)
Owner of the SimBrief OFP will be able to start a flight with acars using that particular aircraft, but pilots will get an Aircraft Not Available error (similar to Aircraft State check)
To prevent SimBrief OFP packs being marked as expired/unused, during pirep prefile, pirep_id will be saved to SimBrief model along with flight_id.
And when a flight is finished (pirep file), flight_id will be removed from SimBrief model as before. Only pirep_id will remain and aircraft will be available for another OFP generation.
* Update PirepController
In case a pirep is being saved/submitted with manual entry (but the va is using simbrief effectively) same logic should be applied during save/submit button selection.
Save will act like a pirep prefile , Submit will be pirep file.
* Manual Pirep Checks
Manual pireps, prefiled from a generated simbrief should be checked too. Also pirep.show blade's submit button should provide the same simbrief checks.
* Update PirepService.php
* Change settings and move sb cron to hourly
* StyleFix (SimBriefService)
* Another StyleFix (SimBriefService)
* Update SimBriefController
Removed null check of pirep_id for aircraft list generation to prevent live flights' aircraft being listed for another ofp generation.
( Active acars flights will have both flight_id and pirep_id at simbrief table)
* Update PirepService.php
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Update PirepController
Frontend : Use `$subfleet->type` instead of `name` for grouping aircraft list.
* Update PirepController (Admin)
Use `$subfleet->type` instead of `name` here too , for grouping aircraft list according to their subfleets.
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Fix removeExpiredEntires()
* Fix SimBriefTest
No need to add `'pirep_id' => ''` , just let it be `null` (like the core code does) and no need to convert Carbon to DateTimeString.
* Update Flight Controller
Show only used flight types in the search form instead of all IATA Flight Types.
* PrePR StyleFix
* StyleFix
* Use Model instead of DB
Also used the same $where array
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Fix Admin / UserController
Use Role Repository and `selectBoxList` method instead of the model itself.
* Fix Flight Fields
Added empty/blank option for clearing out the days when needed
* StyleFix
* Handle Route and Level fields too during import.
* Also removed the check for `visible => true` from `firstorNew` 'cause va admin may be importing to update not visible flights too.
(by default all new flights are visible, so no affect on new flights)
Closes#1201
* Fix Advanced Fuel Calculations
Current code works fine with a fresh submitted pirep but when a re-calculation is needed, fuel amount will not be correct if the aircraft was flown later on.
Commit provides fix for such re-calculation scenarios.
* StyleFix for the Comment Line !
* Check Aircraft Availability before Prefile
Check if the aircraft is available for flight (State : Parked / On Ground). If not throw new exception AircraftNotAvailable
* Add Exception
AircraftNotAvailable exception, used by PirepService during prefile checks.
* PirepCancelled Event (Cron Expired Pirep Deletion)
While deleting frozen in progress pireps we should at least send a PirepCancelled event for those who are listening.
(or we may have a new PirepDeleted event to be issued in such cases, I think PirepCancelled is enough though)
* StyleFix
* Another StyleFix
* Missing Log
Of course it will not be possible to write log entries without the Log itself.
1. Inbound and Outbound flights were displaying all flights (active and inactive) , fixed to fetch only active flights.
2. Flash message and redirect to Dashboard was not working, instead we were getting 404 Not Found error.
* Add defaults for 100LL and MOGAS prices
Add missing defaults for 100LL and MOGAS Fuel prices.
* Calculate Fuel Cost according to Fuel Type
Calculate pirep fuel costs according to aircraft (subfleet) fuel type, use JetA as fail safe default.
* Fix for Failing AwardTest
At least attempting to fix
* Fix fuel types logic
* Style
* Invert the logic
Co-authored-by: Nabeel Shahzad <nabeel@nabeel.sh>
* 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
Using whereTime may present a problem for flights conducted during utc midnight and some active/live flights may be deleted with whereTime.
Scenario;
now = today-01:00 utc
setting = 2 hours
date = yesterday-23:00 utc
Any live pireps will/may be deleted with whereTime 'cause their last updated TIME will be maximum 00:59 which is smaller than 23:00.
* Fix for Hourly Cron
We should be using whereTime instead of whereDate
https://laravel.com/docs/8.x/queries#additional-where-clauses
`The whereDate method may be used to compare a column's value against a date`
* Fix for RemoveExpiredBids
I used where to do check 'cause people may set 48 hours to remove a bid, thus neither whereDate nor whereTime will give a correct results.
* Fix for DeletePireps
I used where to do check 'cause people may set 48 hours to delete cancelled or rejected pireps, thus neither whereDate nor whereTime will give a correct results.
* Alphanumeric Callsign For Flights
PR adds ability to define alphanumeric callsigns to flights, display them and use them during SimBrief OFP generation (if pilot ident as callsign option is not enabled)
Translations for en/es/it/pt-br added.
* Change db table name
* Change db column name, fix rules
* Change db column name
* Another db column name change
* Just another one more
* Last one from anumeric_callsign to callsign
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* fix map-info-box display
* Check user on PIREP show/edit/update/submit
* add missing use
* refactoring according to comments; use UpdatePirepRequest for authorization and make user available to view
Co-authored-by: Andreas Palm <ap@ewsp.de>
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
* Remove "Remove bid on accept" setting and remove bids after PIREP was filed
fixes#1039
* Add migration to remove setting from database
* fix migration naming and remove obsolete code
Co-authored-by: Andreas Palm <ap@ewsp.de>
* 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
* when importing flights, set subfleet name only if subfleet has been created, do not update existing subfleets
* add tests for flights import regarding subfleets
Co-authored-by: Andreas Palm <ap@ewsp.de>
* Move SimBrief aircraft selection to Controller
Instead of passing subfleets to blade (and doing two foreach loops and ifs to populate the dropdown), we are building a proper aircraft list here.
Did not removed $subfleets from data being passed to blade on purpose, it may be removed later on.
* Style Fix
* Update aircraft selection blade to use $aircrafts
* Order generated Aircrafts collection
First ICAO then Registration
* Add privatized name setting for simbrief
To prevent possible privacy issues according to latest regulations.
* Add privatized name to SimBrief form
It is controlled with a setting, if not enabled we will not pass any names to SimBrief via API (this will result users SimBrief membership name being used at the OFP as before)
* DownloadController Improvements
Added multiple airline support to both Aircraft and Subfleet downloads, if the user has more than one active airline downloads will display the airline name before the object name. Also sorted the returned results to have a better look at the blade.
* Trying to pass broken UnitTest
Please do fix the UnitTest, this pr has nothing to do with units but still being tested with it and failing.
* Fix For GH Costs.
PR aims to fix the problem where Airport GH cost is not defined but recored to db as 0.00 or 0 (default value for airports table)
In such cases settings/default apt gh cost will be used.
* Updated logic for JetA1 cost check
* Remove default costs being used during import
* Add boolean field "disable activity checks" to role, check for this field inside PilotLeave-Check, add tests
* fix checkbox on form
* CS fixes
* CS fixes again :-)
Co-authored-by: Andreas Palm <ap@ewsp.de>
* override \Igaster\LaravelTheme\themeViewFinder as a workaround until PR#133 in igaster/laravel-theme is merged
* fixup code style
* further code style fix
Co-authored-by: Andreas Palm <ap@ewsp.de>
* Fix for Fuel and Ground Handling Costs
PR aims to fix issue #1048 and implements the feature request #1049
If no fuel cost is defined for departure airport, settings / airport fuel price will be used.
If no ground handling cost is defined for airports, settings / airport ground handling cost will be used.
Ground handling prices of both departure and arrival airport will be used for calculations.
* Resolve conflict with latest dev
PR will still fail checks due to double ground handling fares and will work on it to have two records at transactions for dep/arr
* Remove Double GH Costs / Fix The Bug Only
Removed double GH costs for now, pr aims only fixing the current issue (general settings not being read for fuel and ground handling costs)
* Add departure and arrival airports to ground handling
* Style fix
* Fix tests
Co-authored-by: Nabeel S <nabeelio@users.noreply.github.com>
Co-authored-by: Nabeel Shahzad <nabeel@nabeel.sh>