Commit Graph

1115 Commits

Author SHA1 Message Date
Nabeel S
99118daad9
Auto update #449 (#545)
* Add custom repository type for updates

* Direct to self update module

* Formatting
2020-02-10 17:47:46 -05:00
Nabeel S
6b79ad7e58
Auto-update functionality #449 (#544)
* Convert tar to zip file for updater

* Add update section to maintenance
2020-02-10 12:39:59 -05:00
Nabeel S
90e1b3317d
Distro zip file from tar file #449 (#543)
* Create zip file from tar file

* Formatting
2020-02-10 10:40:42 -05:00
Nabeel S
dd9fbdb6f1
Add link to download ACARS config from profile (#539)
* Add link to download ACARS config from profile

* Formatting
2020-02-07 13:29:43 -05:00
Nabeel S
94cfbd4748
Use optional() around the airport fields (#537)
* Use optional() around the airport fields

* Add null-coalesce around full_name
2020-02-03 12:23:58 -05:00
Nabeel S
5e4a003a92
PIREPS resource except for show (#536) 2020-02-01 14:14:37 -05:00
Nabeel S
893e28eb3a
Fix import during flight cron #532 (#535) 2020-02-01 13:54:30 -05:00
Nabeel S
8cde3c93b0
Fix PIREP edit endpoint closes #533 (#534) 2020-02-01 13:37:40 -05:00
Nabeel S
03184db2fe
Fix live and route map errors #527 (#528) 2020-01-31 13:57:21 -05:00
Nabeel S
45b8d737e4
Set PIREPs page to public (#526)
Set PIREPs page to public
2020-01-31 09:35:33 -05:00
Nabeel S
51b50972c8
Try to clear caches before updating (#522)
* Try to clear caches before updating

* Add clear-compiled to maintenance cache list

* Formatting
2020-01-30 14:59:48 -05:00
Nabeel S
3c1b433c29
Reduce number of queries for update check (#520) 2020-01-30 12:44:59 -05:00
Nabeel S
f0719d4d8d
Add a public_url() helper #513 (#519) 2020-01-30 11:06:51 -05:00
Nabeel S
02b16d5e57
Return default value on exception for setting() 2020-01-30 10:54:51 -05:00
Nabeel S
63b574181a
Check user permissions on the routes #508 (#516)
* Check user permissions on the routes #508

* Formatting
2020-01-30 09:23:31 -05:00
Nabeel S
ff913e5304
Show admin dropdown for admin-access ability (#515)
* Show admin dropdown for admin-access ability closes #509

* Formatting
2020-01-30 09:00:41 -05:00
Nabeel S
e431f75ad4
Add getRootDomain() to Utils (#514) 2020-01-28 12:42:46 -05:00
Nabeel S
df832088d5
Make the fuel used optional (#512) 2020-01-22 10:33:10 -05:00
Nabeel S
2415caab54
Search flights by subfleet #484 (#506)
* API level search of flights #484

* Add Subfleet to flights page for search
2020-01-16 17:36:03 -05:00
Nabeel S
d03a77bd4b
New subfleet not being attached to an airline on import #479 (#505)
* Fix subfleet not being attached to an airline on creation in import #479

* Call airline name with optional() around subfleet

* Minor cleanup
2020-01-16 14:23:23 -05:00
Nabeel S
c2f7c5e421
Properly create/update rows importing #486 (#503) 2020-01-16 10:40:42 -05:00
Nabeel S
831b72fb2b
Set a default model value for airports on PIREP (#500)
* Set a default model value for airports on PIREP

* Fix airport icao reference

* Default airport models
2020-01-15 13:00:58 -05:00
Nabeel S
de8046288b
Add new command to export a specific PIREP for debugging (#501) 2020-01-15 11:50:42 -05:00
Nabeel S
7d07008871
Fix GeoService errors when viewing PIREP #498 (#499) 2020-01-15 09:09:58 -05:00
Nabeel S
d4da0a6d6a
491 Installation Error (#495)
* Disable CSRF token

* Add error handling around looking up the theme and set a default

* Note about logs in issue template

* Formatting
2020-01-14 13:55:24 -05:00
Nabeel S
aafc9680bf
Properly set the distance/planned_distance on save (#497) 2020-01-14 13:45:22 -05:00
Nabeel Shahzad
9aded3a552 /flights and /flights/search direct to the same endpoint 2020-01-10 10:17:11 -05:00
Nabeel S
03284959d6
Search for ICAO not working properly (#496) 2020-01-10 09:41:32 -05:00
Nabeel Shahzad
4844692bd9 Account for units when entering fuel amounts #493 2020-01-09 07:34:05 -05:00
Nabeel S
74052e4542
Return the flight fares if there are no subfleet fares #488 (#489)
* Return the flight fares if there are no subfleet fares #488

* Formatting

* Formatting
2020-01-06 13:44:43 -05:00
Nabeel S
282cb4be95
Check for no roles being attached #480 (#483) 2019-12-26 09:42:03 +05:00
Nabeel S
4f4d0c266a
Allow nullable field and calculate distance if nulled for flight import #478 (#482) 2019-12-25 17:16:34 +05:00
Nabeel S
17637c32d4
Pilots cannot use the dashboard or flights without admin rights (#481)
* Use auth middleware instead of specific groups for logged in state

* Auth check for admin access

* Check user admin access for updates

* Formatting
2019-12-25 13:31:09 +05:00
Nabeel Shahzad
66a1192739 Cleanup Model doc 2019-12-22 09:46:41 +05:00
Nabeel S
e862537a20
Split the importer module out from the installer module (#468)
* Split the importer module out from the installer module

* Cleanup of unused imports

* Move updater into separate module #453

* Remove unused imports/formatting

* Disable the install and importer modules at the end of the setup

* Unused imports; update IJ style

* test explicit stage for php+mysql

* add more to matrix

* Add different MariaDB versions

* undo
2019-12-12 15:07:35 -05:00
Nabeel S
a58bca390b
Fix BindingResolutionError when debug toolbar isn't present (#465)
* Fix BindingResolutionError when debug toolbar isn't present

* Formatting
2019-12-11 15:12:31 -05:00
Nabeel S
e6d38f9338
Add PHP 7.4 support (#464)
* Add PHP 7.4 to build matrix

* DB fix

* YAML parser fix in test data

* Show versions

* Package updates

* Track used ICAOs

* 7.4 METAR parsing fix

* METAR parser fix

* Formatting

* Add meters to response units

* Call instance for unit conversion

* Return value

* Catch exception for unknown quantity

* Comment fix

* Formatting

* METAR parsing fixes on PHP 7.4

* Package updates

* More random airport ID

* More random airport ID

* Properly disable toolbar

* Semver written out to version file

* Use dev as default identifier
2019-12-11 12:57:18 -05:00
Nabeel S
1f65b744a0
Fix CSV imports giving Storage class not found #454 (#462)
* Fix CSV imports giving Storage class not found #454

* Update yarn files for security alert
2019-12-10 13:53:55 -05:00
Nabeel S
d9a1e6aba7
Use DateTimeZone instead of int for creating datetime
closes #461
2019-12-09 22:11:20 -05:00
Nabeel S
8cb0021b9f
Use PhpExecutableFinder() closes #457 #458 (#460) 2019-12-09 15:26:30 -05:00
Nabeel Shahzad
cc8662445c Allow nullable on flight_id 2019-12-03 15:52:00 -05:00
Nabeel Shahzad
64a04f70a3 Fix for flight_number check forcing to exist 2019-12-03 15:45:18 -05:00
Nabeel S
b06287da23
Stricter checks on ACARS API data (#451)
* Stricter checks on ACARS API data

* More checks
2019-12-02 18:27:58 -05:00
Nabeel S
83821d1e04
Remove bootstrap cache (#448)
* Cleanup the bootstrap/cache directory when packaging

* Fix removal of bootstrap cache

* Formatting
2019-12-02 10:29:16 -05:00
Nabeel S
68eff40753
Replace importer with AJAX powered; better error handling #443 (#447)
* Replace importer with AJAX powered; better error handling #443

* Formatting

* Fix command line importer
2019-12-02 09:57:35 -05:00
Nabeel S
50dc79bc8d
Refactor and add importer to Installer module #443 (#444)
* Refactor and add importer to Installer module #443

* Refactor for finances to use in import

* Import groups into roles

* Formatting

* Formatting

* Add interface in installer for import

* Notes about importing

* Check for installer folder

* Formatting

* Fix pirep->user mapping

* Unused import

* Formatting
2019-11-27 09:19:20 -05:00
Nabeel S
f95a3f336b
Fix missing newsRepo (#445) 2019-11-23 12:58:48 -05:00
Nabeel S
ea3ab21beb
391 Notification refactorings (#441)
* Refactor notifications to allow easier plugins

* Notification refactoring

* Formatting

* Move news to NewsService; cleanup of events

* More refactoring; added send email out for news item and the template

* Formatting

* Formatting
2019-11-20 10:16:01 -05:00
Nabeel S
bffa5ebde2
Refactor the upgrade pending check to see if there are settings/permissions yaml changes (#438) 2019-11-19 10:54:42 -05:00
Nabeel S
3ec64c989b
Fixes (#435)
* Add flight level field to PIREP field closes #401

* Default value for distance 0 closes #400

* Block airline deletion if assets exist #367

* Formatting

* Move some of the base exception classes

* Fix skin references to use settings table

* Set default for theme name if setting is wrong
2019-11-19 10:06:07 -05:00
Nabeel S
f5183babf6
#406 Refactor bids (#432)
* Add flight_id column to pireps table

* Refactor PIREPs and bids closes 406

* Formatting
2019-11-05 11:44:31 -05:00
Nabeel S
70d43e6e53
Wrap values in travis env (#426)
* Wrap values in travis env

* Inline CronService
2019-10-30 10:23:31 -04:00
Nabeel S
a45770732a
Show a message about setting up the cron and if there was an error running it (#425) 2019-10-30 09:55:32 -04:00
Nabeel S
ec4f10d43a
359 Select theme in settings (#423)
* Update composer package versions

* Laravel version

* Change theme in the admin settings page closes #359

* Fix comment
2019-10-30 09:05:18 -04:00
Nabeel S
eff9f6fec6
Fix blank aircraft field causing error closes #414 (#422) 2019-10-29 13:57:17 -04:00
Nabeel S
ae68550448
Move telemetry option into settings; checkbox in install refs #415 (#416) 2019-10-29 13:07:53 -04:00
Nabeel S
7a34756188
Issue fixes (#413)
* Auto lookup missing airports closes #404

* Ensure flight ICAOs are capitalized closes #404

* Update htaccess in root closes #412

* Update htaccess in root closes #412

* StyleCI fix
2019-10-23 12:01:31 -04:00
Nabeel Shahzad
97baf98d04 Formatting 2019-09-20 09:11:34 -04:00
Nabeel Shahzad
eb27c94637 Fix for bad unit conversions in API responses 2019-09-20 09:05:09 -04:00
Nabeel S
5f9e7d5754
Catch error messages in notifying (#403)
* Catch error messages in notifying

* Formatting
2019-09-17 19:11:02 -04:00
Nabeel S
6e9dcf8a31
Design and file upload issues (#399)
* Fix some styling issues/edit button on PIREP overview page

* Fix validation for file/url upload

* Formatting
2019-09-16 15:17:51 -04:00
Nabeel S
aedb1f22b6
Don't allow cancels from certain states (#396)
* Don't allow cancels from certain states

* Unused imports

* Don't reset the state doubly

* Move SetUserActive into listener; code cleanup

* Unused imports

* Add missing files into htaccess

* Move Command contract to correct folder
2019-09-16 13:08:26 -04:00
Nabeel Shahzad
41baefbf4a Fix styler 2019-09-14 11:18:09 -04:00
Nabeel Shahzad
3c21047c15 Fix playback file path 2019-09-14 11:15:42 -04:00
Nabeel Shahzad
52332c250b Fix the route() calls for L6 2019-09-13 18:20:50 -04:00
Nabeel Shahzad
0c89d36a16 Remove remnants of Timezonelist library 2019-09-13 17:54:46 -04:00
Nabeel S
4ac781a20d
Fix map checkout call (#394) 2019-09-13 15:10:47 -04:00
Nabeel S
d68d8791bd
389 API Changes (#393)
* Update PHPUnit to 8

* Fix API endpoints closes #389

* Update pagination method in Repository contract to look at the page number closes #390

* Remove unused imports

* Fix tests in FlightTests

* Typecast page

* Don't register factories

* Remove Factory loading

* Remove unused imports
2019-09-13 11:21:40 -04:00
Nabeel S
23eb9dcbda
384 Laravel 6 changes (#385)
* 384 Laravel 6 changes

* Library versions

* Update package versions

* Add keyType to models

* Remove unused dependencies

* StyleCI fixes

* Fix models for test

* Fix tests output and update test runner

* Unused imports

* Update exceptions handler

* Fix login page
2019-09-13 08:05:02 -04:00
Nabeel S
37fc761567
380 vacentral library (#381)
* Update vaCentral library for new API server format

* Formatting

* Remove missing/unused import
2019-09-05 16:55:51 -04:00
Nabeel S
7ace8bccd6
Use Notification/Notifiable (#379)
* Add migrations for notifiables

* Configure spatie-backup to run as part of cron

* Convert Mailer to Notification; add pirep notifications

* Styling
2019-08-30 15:59:17 -04:00
Nabeel S
b213f2bb4c
Add maintenance section to admin, clear caches #376 (#377)
* Add maintenance section to admin, clear caches #376

* Formatting
2019-08-30 15:59:08 -04:00
Nabeel S
0d1f38cf85
Refactor all JS API calls #360 (#375)
* Refactor all JS API calls #360

* Remove unused imports

* Lint JS

* Fix doubled api key

* Formatting

* Added extra logging to distance lookup

* Remove the .editorconfig file in distrib

* shell check fixes

* Remove the .editorconfig file in distrib
2019-08-30 08:08:00 -04:00
Nabeel Shahzad
e62e4a865d Rename mix_public() to public_mix() for consistency with public_asset() 2019-08-28 10:52:35 -04:00
Nabeel S
09f3e3cfdf
Set the baseURL for ajax requests (#373)
* Set the baseURL for ajax requests

* Use async/await on AJAX calls

* Add mix_public() cache generated asset cache busting

* Move storage container into separate class

* Fix some styling
2019-08-27 15:08:42 -04:00
Nabeel S
fd2f4f2150
Move airline transaction code into service layer (#371)
* Move airline transaction code into service layer

* Remove unused import
2019-08-26 14:55:59 -04:00
Nabeel S
651174bda8
229 url for downloads (#369)
* Allow file uploads for subfleet

* Allow URL to be used for a download

* Remove old FileUploadRequest

* Move file removal logic to service layer

* Remove unused import

* Remove unused packages
2019-08-26 14:43:50 -04:00
Nabeel S
bbec276da8
#355 Calculate distance button (#366)
* #355 Calculate distance button in add/edit Flight page

* Styling

* Move add/edit flight logic out of controller and into service layer

* Styling

* Formatting

* Run styleci against modules dir

* Styleci config

* Style fixes in /modules
2019-08-26 12:32:46 -04:00
Nabeel S
6018a6dcaa
Add Contract interface for airport lookup functionality (#365)
* Add Contract interface for airport lookup functionality

* style ci fixes
2019-08-22 14:32:49 -04:00
Nabeel Shahzad
94ba5d8680 Disable the requests throttler 2019-08-22 12:45:15 -04:00
Nabeel Shahzad
3d6a29795b Carry headers through the handler 2019-08-22 12:26:46 -04:00
Nabeel Shahzad
dd2b297cc5 Carry headers when rethrowing errors to REST 2019-08-22 12:12:44 -04:00
Nabeel Shahzad
7fdaf62ef5 Add 'status' field to error response 2019-08-21 08:19:49 -04:00
Nabeel S
182aabf426
Refactor error handling internally to follow RFC7807 (#362)
* Refactor error handling internally to follow RFC7807

* style fixes
2019-08-21 08:17:44 -04:00
Nabeel Shahzad
91a5eb535d Add abstract class for route finding mechanism 2019-08-20 08:48:45 -04:00
Nabeel Shahzad
b6189bab7e Remove the table prefix on importer 2019-08-10 21:12:18 -04:00
Nabeel S
dc51897314
Additional logging for the stats recalculation (#358)
* Additional logging for the stats recalculation

* style fix
2019-08-10 20:42:35 -04:00
Nabeel S
c1103afe8f
Add missing expiry time for PIREP API (#356) 2019-08-09 22:49:25 -04:00
Nabeel Shahzad
39fbdcb787 Add the airline back into seed data 2019-08-09 13:57:56 -04:00
Nabeel S
47be7507f0
Fix/metar reading (#354)
* Account for empty ICAO; added tests

* Fix null returns

* Fix typo in volume units display

* Add version field for bug report template

* Some more changes to the bug report template
2019-08-08 17:41:53 -04: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
becf6c95f0 StyleCI fixes 2019-08-08 13:44:18 -04:00
Nabeel Shahzad
380c9d13b6 Error handling around reset install; clear cache 2019-08-08 13:42:43 -04:00
Nabeel S
a08c9db284
Add setting to include transfer hours in calculations (#350)
* Add setting to include transfer hours in calculations

* Add some extra tests to check versions

* A couple of more version test cases
2019-08-08 12:50:43 -04:00
Nabeel S
ff6ba4c29a
Remove ext-cal from requirements list (#349)
* Remove ext-cal from requirements list

* Fix the travis phpunit config
2019-08-08 12:50:32 -04:00
Nabeel Shahzad
f6465bea58 Add error logging around metar parsing call 2019-08-07 13:25:40 -04:00
Nabeel S
5cce1b3040
Multiple ticket crash fixes (#347)
* Fix for initial seed data not being run during install closes #346

* StyleCI keepin' me honest

* Tooltips for ranks
2019-08-07 12:32:49 -04:00
Nabeel S
e12188b7d3
Issue/327 versioning (#345)
* Switch to semver format

* Rewrite new version check to use Github Releases and cron

* Styling

* Remove v from in front of version

* New version check test fix

* Uncomment test case
2019-08-06 17:48:00 -04:00
Nabeel S
092b9fc9dc
Add step fields to enable decimal points on fields #342 (#343)
* Add step fields to enable decimal points on fields #342

* Update js-yaml version due to vulnerability scan

* Don't seed dev files when env == local

* Fix

* Fix  to be static

* Add visibilty keyword
2019-08-06 15:54:21 -04:00
Nabeel S
753804b71b
Issue fixes (#341)
* Better error handling around ACARS position updates

* Add step for decimals on fuel block/used fields closes #340

* Styling

* Rename AcarsController to LiveMapController; update JS dependencies
2019-08-05 13:07:22 -04:00
Nabeel S
9f3ba05880
Issue/329 refactor seeding (#337)
* Fix Contracts class names

* Refactoring of the file seeds so it's not a mess

* StyleCI fixes
2019-08-05 08:27:53 -04:00
Nabeel S
95147e31bf
Fix issue where user stats aren't incremented on PIREP auto accept (#335)
* Fix issue where user stats aren't incremented on PIREP auto accept

* Formatting
2019-08-01 15:23:59 -04:00
Nabeel Shahzad
63485d5a0f Make hours and minutes fields required 2019-08-01 13:15:33 -04:00
Nabeel Shahzad
aa57997ff5 PIREP fields not showing up and blocking PIREP submission 2019-08-01 13:13:11 -04:00
Nabeel Shahzad
224cfaf603 Remove debugging that stops execution 2019-07-23 10:17:51 -04:00
Nabeel Shahzad
71f5d33af7 Formatting in FlightExporter 2019-07-23 09:42:31 -04:00
Nabeel Shahzad
70f470d64e Formatting 2019-07-23 09:08:05 -04:00
Nabeel Shahzad
fcc6295a77 Remove unused/dead code 2019-07-23 09:00:39 -04:00
Nabeel Shahzad
c5007f2928 Formatting 2019-07-23 08:43:40 -04:00
Nabeel Shahzad
62a10224a0 Account for fuel in the finance calculations #313 2019-07-23 08:41:20 -04:00
Nabeel Shahzad
b2cf7acfb6 Middleware to detect is update is pending; move Routes into HTTP 2019-07-18 10:51:05 -04:00
Nabeel Shahzad
c6547ac7fc Style fix 2019-07-18 09:55:10 -04:00
Nabeel Shahzad
748601064c Fix Validator import 2019-07-18 09:54:03 -04:00
Nabeel Shahzad
a9c5be1c70 Add opcache option; change detection during install for cache driver 2019-07-18 09:26:33 -04:00
Nabeel Shahzad
9475a737f0 Change exporter to use utf-8 close #282 2019-07-17 13:36:16 -04:00
Nabeel Shahzad
bb15119bf0 Append rules for Create/Update 2019-07-17 11:00:30 -04:00
Nabeel Shahzad
95ae3aacb3 Unique email check 2019-07-17 10:59:11 -04:00
Nabeel Shahzad
567ff91de0 Add pilot ID change fields to the admin screen 2019-07-17 09:48:20 -04:00
Nabeel Shahzad
ec81a6d157 Fix errors in the METAR parsing for clouds; display error for pressure units 2019-07-17 08:57:45 -04:00
Nabeel Shahzad
80560ec20c Formatting 2019-07-16 14:06:13 -04:00
Nabeel Shahzad
3e1d9080df Backend changes separating id from pilot_id 2019-07-16 13:54:14 -04:00
Nabeel Shahzad
dd946d4cdd Reorder imports 2019-07-15 15:51:35 -04:00
Nabeel Shahzad
a720f12e0b Rename Interfaces to Contracts to better match Laravel conventions 2019-07-15 15:44:31 -04:00
Nabeel Shahzad
ed91ddb5a8 Formatting again 2019-07-15 15:19:22 -04:00
Nabeel Shahzad
08a2be165c Formatting 2019-07-15 15:18:49 -04:00
Nabeel Shahzad
c04bfb78c6 Formatting 2019-07-15 15:17:51 -04:00
Nabeel Shahzad
06d8f11ca3 Cleanup SI Unit classes and interface for REST responses; fixes to a few METAR parsing issues 2019-07-15 15:14:40 -04:00
Nabeel Shahzad
54347c6706 Set default for read_only to false 2019-06-20 23:24:08 -04:00
Nabeel Shahzad
b169337fb6 Styling 2019-06-20 23:19:35 -04:00
Nabeel Shahzad
b28ace970c Add interface to additional roles/permissions 2019-06-20 16:52:37 -04:00
Nabeel Shahzad
fb9c1c3681 Check for calendar extension in installer 2019-06-19 13:02:06 -04:00
Nabeel Shahzad
a176ed2dae Apply fixes from StyleCI 2019-06-18 22:58:09 +00:00
Nabeel Shahzad
e1bdef98d6 Keep uploaded avatar images within the same aspect ratio #309 2019-05-13 07:52:07 -05:00
Nabeel Shahzad
2ca1f33e68 Formatting 2019-05-12 18:05:36 -05:00
Nabeel Shahzad
dbd7c5e90b Style fixes 2019-05-12 17:49:58 -05:00
Nabeel Shahzad
d65b74d7a0 Formatting 2019-05-12 17:37:22 -05:00
Nabeel Shahzad
88957f4071 Add php-cs-fixer to build 2019-05-12 13:26:44 -05:00
Nabeel Shahzad
75eaec2f11 phpcs standards 2019-05-12 12:08:31 -05:00
Nabeel Shahzad
7f0fb16dc3 Update to Laravel 5.8 2019-05-12 10:10:31 -05:00
Nabeel Shahzad
82f6dfbece Fix not found debug() call 2019-05-11 17:39:58 -05:00
Nabeel Shahzad
1ec866d4dc Style fixes 2019-05-11 11:38:56 -05:00
Nabeel Shahzad
7fce5421b4 Reset the criterea before a new search 2019-05-11 11:37:06 -05:00
Nabeel Shahzad
099600cf4c Fix the PHP Docker image 2019-05-10 19:46:50 -05:00
Nabeel Shahzad
4dd3fc5244 Show if there are database errors 2019-05-10 19:31:11 -05:00
Nabeel Shahzad
2b45b9fd70 Fix the searchable fields 2019-05-10 16:24:34 -05:00
Nabeel Shahzad
5b061ba636 Add greater than/less than search options #297 2019-05-10 16:03:04 -05:00
Nabeel Shahzad
3a6e3e0e24 Style fixes 2019-04-07 22:27:10 -05:00
Nabeel Shahzad
ec662243d8 Style fixes 2019-04-07 22:27:10 -05:00
Nabeel Shahzad
29a578ea6a Move the MigrationService to the main package 2019-04-07 22:27:10 -05:00
Nabeel Shahzad
8d8857e552 Turn closure into static 2019-04-07 22:27:10 -05:00