Commit graph

240 commits

Author SHA1 Message Date
spaceemotion
a85ac87ae8 Refactor to use more laravel logic and improve compatibility with older PHP versions (#206)
* Fix @param namespaces for PHPDocs in ServerPolicy

* Reduce permission check duplication in ServerPolicy

This introduces a new checkPermission method to reduce code duplication when checking for permissions.

* Simplify logic to list accessible servers for the user

We can directly use the pluck function that laravel collections provide to simplify the logic.

* Fix pagination issue when databases/servers exceed 20

Laravels strips out the currently selected tab (or any GET query for that matter) by default when using pagination. the appends() methods helps with keeping that information.

* Refactor unnecessary array_merge calls

We can just append to the array instead of constantly merging a new copy.

* Fix accessing “API Access” on some versions of PHP

The “new” word is reserved and should not be used as a method name.

http://stackoverflow.com/questions/9575590/why-am-i-getting-an-unexpected-t-new-error-in-php

* Fix revoking API keys on older versions of php (5.6)

“string” was not a valid function argument type yet, so revoking keys results in an error on older installations.

* Fix issues with API due to methods named “list”

“list” is yet another reserved keyword in PHP and messes up older installations of PHP (5.6).
This renames all methods named “list” to “lists”. The API route names are left untouched (e.g. still called “api.admin.users.list”).

* Refactor and shorten some API logic

Used laravel collection methods where applicable to directly transform the values instead of converting back and forth.
This also removes some dead variables that were never used as well as getting rid of a n+1 problem in the Service API (loading service variables afterwards, not during the model creation).

* Return model save status in repositories where applicable

* Fix typo in ServicePolicy#powerStart

* Apply StyleCI corrections
2016-12-12 14:30:57 -05:00
Dane Everitt
9ae716ee42
show container ID for server in panel
Also shows the UID of the user to ease permissions setting

closes #160
2016-12-02 19:35:08 -05:00
Dane Everitt
2ac734d595
Update node config sent over API 2016-12-02 19:12:29 -05:00
Dane Everitt
e39c750563
Remove link that shouldn't exist in the first place. 2016-12-02 18:47:22 -05:00
Dane Everitt
259b220dfc
misc file cleanup 2016-12-02 18:45:08 -05:00
Dane Everitt
3cd0a8337f
Add ability to filter user list 2016-12-02 18:41:52 -05:00
Dane Everitt
1eb1f96e71
Add support for updating the daemon's configuration file automatically. 2016-12-01 18:33:32 -05:00
Dane Everitt
72ad6d5c87
Show file upload size limit when uploading files
Also handle errors better.
2016-12-01 18:32:05 -05:00
Dane Everitt
a2d2069d8c
Merge branch 'develop' into feature/service-changes 2016-11-28 14:02:09 -05:00
Dane Everitt
b4bcc7247f
Add some things to node config block that will be useful to some 2016-11-28 13:55:02 -05:00
Dane Everitt
3549abd5ae
Fix error page when no nodes exist. 2016-11-28 13:51:18 -05:00
Dane Everitt
5c20d0a748
Fix daemon version displaying panel version; closes #184 2016-11-28 13:41:26 -05:00
Dane Everitt
2b16472cd2
Fix data multiplicator on wrong field. 2016-11-28 13:37:36 -05:00
Dane Everitt
75de060a55
Fix pack selector 2016-11-27 14:57:23 -05:00
Dane Everitt
c4a4b84bd3
Add service pack reference to server and send to daemon 2016-11-27 14:50:10 -05:00
Dane Everitt
238f08f222
Add pack selection to view 2016-11-27 14:30:44 -05:00
Dane Everitt
9eb14614c2
Merge branch 'develop' into feature/service-changes 2016-11-27 14:01:13 -05:00
Dane Everitt
c107dbfa74
Fixes database server deletion 2016-11-26 20:26:45 -05:00
Dane Everitt
b7a566a937
Fixes defaulting to Deutsch if no language is assigned yet. 2016-11-26 20:14:13 -05:00
Dane Everitt
e47bb6ef0f
Add multiplicators to certain inputs, closes #154
Allows for users to enter `10g` into a memory field and have it
converted to 10GB equivalent in MB.
2016-11-26 19:56:19 -05:00
Dane Everitt
90cd2b677e
Add version checking to daemon and panel
Also includes some buttons for users to get help from the panel.
2016-11-26 19:29:57 -05:00
Dane Everitt
261535d83d
Fix broken block ending for script 2016-11-26 18:52:19 -05:00
Dane Everitt
edaae40df9
Add some quick daemon information when viewing nodes 2016-11-26 18:23:10 -05:00
Dane Everitt
d93f88f471
Properly display node status with newer daemon versions 2016-11-26 17:49:56 -05:00
Dane Everitt
1ad715f1a3
Improve database management for servers, fixes #181 2016-11-26 17:34:14 -05:00
Dane Everitt
5a0f58ce90
Merge branch 'develop' into feature/service-changes 2016-11-19 18:30:15 -05:00
Bent Haase
57d62c4ed3 Fix time axis for node and server view
Nope, the current month is not a valid minute
2016-11-19 16:02:47 -05:00
Dane Everitt
ee78a3947b
Grammatical display changes 2016-11-18 18:34:45 -05:00
Dane Everitt
5600f3201c
Add support for deleting service packs. 2016-11-18 17:31:57 -05:00
Dane Everitt
d4729427aa
Support for uploading templates for installing packs 2016-11-16 17:22:22 -05:00
Dane Everitt
e09659a88f
support for pack editing 2016-11-16 16:09:28 -05:00
Dane Everitt
09c2dcc1b6
Support for viewing and exporting packs 2016-11-15 23:12:47 -05:00
Dane Everitt
a1bc6fa2d3
Push changes that support creations of service packs and basic listing 2016-11-15 20:20:32 -05:00
Dane Everitt
cfd5e0e854
Implement base service file modification through panel 2016-11-09 17:58:14 -05:00
Dane Everitt
0741ab6833
Revamped resource graphing, uses chart.js 2016-10-30 00:06:55 -04:00
Dane Everitt
6fd7c78f0c
Add server deletion to a queue.
This action allows servers to be deleted, but only be soft-deleted for
10 minutes. After that time period the server will be completely
removed from the database and daemon. This allows some safety if a
server is accidentally deleted.

Force deleting a server will still work. If the daemon is in-accessible
the server will fail to be deleted. When server is soft-deleted admins
can still view its information page in the admin CP, however the server
will be suspended and inaccessible on the front-end or though the
daemon.

Admins can manually delete the server ahead of the delete timer, or if
it failed to delete previously they can do an immediate retry.
2016-10-27 20:05:29 -04:00
Dane Everitt
0b044b3cc6
fixes bug that would allow deleting the default allocation for a server. 2016-10-23 18:59:13 -04:00
Dane Everitt
0a481b325c
Clean up server display a bit 2016-10-23 18:55:41 -04:00
Dane Everitt
6b89dbd451
Fix errors on node graphs
These graphs will be removed in a future release, so I’m not going to
make them look pretty right now.
2016-10-21 17:37:47 -04:00
Dane Everitt
ad906e0680
FQDN support for allocations, and JS bug fix. 2016-10-21 17:33:26 -04:00
Dane Everitt
6731f7ffbc
Modernize user pages a bit 2016-10-21 15:50:10 -04:00
Dane Everitt
bef717b202
add typeahead support for owner email when adding new server
closes #144
pic: http://s3.pterodactyl.io/UpPSJ.png
2016-10-21 15:22:47 -04:00
Dane Everitt
8660fcdc60 Merge pull request #149 from Pterodactyl/feature/better-api
Implement better API system
2016-10-20 18:41:16 -04:00
Dane Everitt
f24347d1bd
Remove old admin routes, fix display to non-admins
Complete!
2016-10-20 18:40:16 -04:00
ET-Bent
ce5374ea6b Fix node view in admin panel 2016-10-17 00:07:55 +02:00
Dane Everitt
649b18c8d1
support for server filtering
closes #125
2016-10-12 17:12:27 -04:00
Dane Everitt
0fe0f750c4
node status in list, closes #124 2016-10-07 15:15:04 -04:00
Dane Everitt
b850256657
Fix auto-deploy checkbox behavior 2016-10-07 13:47:14 -04:00
Dane Everitt
06756af994
add ?daemon=true option to API for servers 2016-10-06 23:56:32 -04:00
Dane Everitt
4bcab0519c
Update files to match js/css vendor changes 2016-10-03 13:18:48 -04:00
Dane Everitt
9d9143fd81
Fix typo, closes #102 2016-09-30 17:14:30 -04:00
Dane Everitt
bd7fd836ff
clean up node allocation 2016-09-30 17:12:36 -04:00
Dane Everitt
a9d0b4a4fe
Add support for setting IP aliases though panel 2016-09-29 21:34:20 -04:00
Dane Everitt
30f58382bc
Add support for automatic node assignment 2016-09-27 21:01:46 -04:00
Dane Everitt
a8fd7283ef
Fix error field highlighting, closes #90 2016-09-27 17:32:34 -04:00
Dane Everitt
812b869be8 add ability to change servers docker image 2016-09-17 20:14:36 -04:00
Dane Everitt
0ad8884c44 Fix display 2016-09-17 17:00:44 -04:00
Dane Everitt
14211bd22d Only show normal delete if installed successfully
Daemon cleans up failed installs.
2016-09-17 15:34:28 -04:00
Dane Everitt
fd8417b5de Fix a display bug with IP aliasing 2016-09-17 14:51:27 -04:00
Dane Everitt
a153327b5b Allow HTMl in startup parameter descriptions 2016-09-15 20:29:05 -04:00
Dane Everitt
551b73b62b Add autoupdate_images to listed config 2016-09-14 18:40:48 -04:00
Dane Everitt
7529e961de Add back API (#80)
Re-implements the API after it was removed in the Laravel 5.3 upgrade.
2016-09-05 16:21:36 -04:00
Dane Everitt
38eae88bd0 Add support for suspension 2016-09-01 21:16:38 -04:00
Dane Everitt
e8c175f385 Add IP Aliasing (#72)
* complete support for IP Alias's throughout panel

Includes a database change and probably better allocation handling
anyways

closes #37
2016-08-31 16:03:37 -04:00
Dane Everitt
7c80588fd3 Allow IP if not using SSL 2016-08-16 18:45:22 -04:00
Dane Everitt
5233d6e87b Add database password change support and fix column name 2016-08-16 00:07:10 -04:00
Dane Everitt
f6be06164f fix user controller; closes #58, closes #59 2016-02-21 01:15:37 -05:00
Dane Everitt
48b9bc0c52 add support for variable creation and deletion 2016-02-21 00:38:03 -05:00
Dane Everitt
dcf2f6fa0a fix up urls to follow a cleaner pattern 2016-02-21 00:07:03 -05:00
Dane Everitt
dcfdb89e3c add support for deleting service option 2016-02-20 16:55:05 -05:00
Dane Everitt
1e9bf1c220 Add support for adding new service option 2016-02-20 16:45:13 -05:00
Dane Everitt
177bd4ec9d add ability to delete a service 2016-02-20 16:23:04 -05:00
Dane Everitt
a50bb5da14 add ability to create new service 2016-02-20 16:02:49 -05:00
Dane Everitt
e42547a1ff add support for editing service options 2016-02-20 15:59:37 -05:00
Dane Everitt
ad5e253a07 Really basic initial implementation of service management 2016-02-15 15:21:28 -05:00
Dane Everitt
217762a2eb More complete implementation of database management in panel.
Still missing ability to change passwords for databases, but that will
come soon.
2016-02-14 21:43:20 -05:00
Dane Everitt
e14d1d3c95 small template design fixes 2016-02-14 19:42:10 -05:00
Dane Everitt
a903ae313a Add per-service-option startup & executable
Also fixes display issue on front-end where users could see and edit
hidden settings
Fixes a bug in relation to #57
2016-02-13 17:29:52 -05:00
Dane Everitt
5678d643cd Very basic view of databases and database servers on the system 2016-02-13 00:18:32 -05:00
Dane Everitt
938df4023d Allow swap to be assigned as -1 2016-02-13 00:06:23 -05:00
Dane Everitt
7013d10987 Add basic support for per-server databases
Still missing ability to define database servers
2016-02-08 18:03:05 -05:00
Dane Everitt
3ee7d31fa6 Fix up admin CP graphs 2016-02-06 13:33:36 -05:00
Dane Everitt
aa54e657e1 Change graphing library for node view
Server view coming soon
2016-02-06 01:29:24 -05:00
Dane Everitt
e98e7d5e7f clearly this was a bad day in the programming world 2016-02-05 23:58:13 -05:00
Dane Everitt
a9ced7d474 Very basic initial auto-deploy script setup 2016-02-05 23:41:16 -05:00
Dane Everitt
3df694b618 Update theme support 2016-02-05 23:27:43 -05:00
DDynamic
192498e51a Internal Themes 2016-02-04 18:19:31 -06:00
Dane Everitt
b0a9be98f9 Fixes bug with websocket uploads; closes #48 2016-01-26 22:42:24 -05:00
Dane Everitt
0b523bf468 This no longer happens :) 2016-01-26 22:18:40 -05:00
Dane Everitt
35de668622 Change version handling; bump to 0.1.1-beta 2016-01-23 21:42:56 -05:00
Dane Everitt
c81bc37865 Why this was a problem is beyond me.
For some reason blade got really upset on a development machine because
of these comments. Doing individual lines fixes it.
2016-01-23 21:30:03 -05:00
Dane Everitt
5ce6b00f54 A few final changes prior to release 2016-01-23 14:42:26 -05:00
Dane Everitt
fbd1b3f097 Improved display for server view if not installed 2016-01-22 20:39:16 -05:00
Dane Everitt
be47565c78 Update to match new installer processing. 2016-01-22 20:31:47 -05:00
Dane Everitt
b63fc02cef Add settings to panel 2016-01-20 22:08:13 -05:00
Dane Everitt
026df6a36f Relicense project under MIT
Permission obtained from @DDynamic. Contributions from other users were
removed since we did not obtain permission from them for the re-license.

From this point forward all contributors must have a signed Contributor
License Agreement on file.
2016-01-20 15:56:40 -05:00
Dane Everitt
a457bf2806 Fix a few bugs 2016-01-18 21:35:37 -05:00
Dane Everitt
776af7d0f1 Add links in server information display 2016-01-16 23:31:07 -05:00
Dane Everitt
644f26fbfe Add location creation 2016-01-16 23:10:46 -05:00
Dane Everitt
fb5533f107 add location editing 2016-01-16 22:57:28 -05:00
Dane Everitt
21a95a5d0e Add location delete support 2016-01-16 22:29:35 -05:00
Dane Everitt
8613e05a72 Fix display issue if node has no assigned servers 2016-01-16 20:19:52 -05:00
Dane Everitt
3e595ca856 Add API Management to admin CP 2016-01-16 19:56:48 -05:00
Dane Everitt
6f97799e10 Make FuelUX global in admin cp 2016-01-16 17:08:26 -05:00
Dane Everitt
a6bc36a710 add initial api management page 2016-01-16 01:20:27 -05:00
Dane Everitt
4604500349 Replace tabs with Spaces
I *really* wish Atom would stop doing this to me.
2016-01-12 23:49:56 -05:00
Dane Everitt
02f6bf428e Show initial locations list 2016-01-10 19:22:21 -05:00
Dane Everitt
1d97b0be98 Add support for modification of server startup variables and command 2016-01-10 18:57:22 -05:00
Dane Everitt
62313eeac5 Cleaner required labels on server creation 2016-01-10 17:18:33 -05:00
Dane Everitt
232c05c31d Add support for deleting nodes
Finishes node management
2016-01-10 16:59:19 -05:00
Dane Everitt
52c506b133 For whatever reason event.submit() decided to not work after preventDefault() 2016-01-10 16:56:23 -05:00
Dane Everitt
b92376ff47 Fix node and server list display for smaller screens 2016-01-10 00:45:52 -05:00
Dane Everitt
2ad300461e Fix hiding single port 2016-01-10 00:45:02 -05:00
Dane Everitt
179481c547 Add support for allocation management on nodes.
Allows deleting entire IP blocks, as well as allocating new IPs and
Ports via CIDR ranges, single IP, and single ports or a port range.
2016-01-10 00:38:16 -05:00
Dane Everitt
022143dd86 use sweetalert modals on delete server 2016-01-08 20:26:21 -05:00
Dane Everitt
54bef1e7d5 Basic allocation information
Allows deleting ports, nothing else yet
2016-01-08 20:01:18 -05:00
Dane Everitt
6e0c5d16af Allow updating settings and show configuration for node 2016-01-05 18:31:25 -05:00
Dane Everitt
eba2a9398b correct linking to account on server view 2016-01-05 14:45:56 -05:00
Dane Everitt
69f0340c48 Add very basic node information view
Adds a servers tab with 30 second interval data from the daemon for
each displayed server.
2016-01-05 00:52:20 -05:00
Dane Everitt
d381c691ba Add support for node creation 2016-01-04 23:59:45 -05:00
Dane Everitt
1a55532f95 Template adjustments 2016-01-04 16:48:22 -05:00
Dane Everitt
98d2a1e1fd Delete account is no longer a GET request 2016-01-04 16:22:57 -05:00
Dane Everitt
4fe4881f77 Add delete server support as well as fix a few other bugs
Also a few JS fixes to make things work better and not clear the
console every time the server is booted
2016-01-03 23:16:03 -05:00
Dane Everitt
9d2d726992 🎉 Finishes server creation 🎉 2016-01-03 18:10:28 -05:00
Dane Everitt
fb77e23eb4 Make server overview cleaner and easier to follow
Also adds allocation information tab, still need to make it so users
can actually change their default connection address
2016-01-03 00:28:33 -05:00
Dane Everitt
79214c2cb2 Fix disabling of removable ports 2016-01-02 23:23:53 -05:00
Dane Everitt
4953608aee Add build configuration to server management.
Allows modification of certain settings, as well as assigning
additional IP addresses and ports.
2016-01-02 23:21:22 -05:00
Dane Everitt
2c054e7edc Add initial support for viewing basic server details
Includes support for changing server name, owner, and daemon secret.
2016-01-02 18:04:18 -05:00
Dane Everitt
41652d7384 Fix account display 2016-01-02 15:10:42 -05:00
Dane Everitt
f467c3f0eb Improved user management in Admin CP
Fixes a few bugs from PR#17
2016-01-02 15:08:33 -05:00
BlameDylan
6810375d2b View and Delete Users
This commit implements an interface into the Admin Panel that allows
users to be viewed, modified, and deleted.
2016-01-02 00:38:15 -06:00
Dane Everitt
6b25a163fc Improved server creation and options 2016-01-01 22:53:43 -05:00
Dane Everitt
264431a271 Whats this? We can add new servers now?! 2015-12-15 15:08:41 -05:00
Dane Everitt
01eaeaf178 Fix sidebar highlighting when adding a new user 2015-12-13 21:36:31 -05:00
BlameDylan
3d80c5b7e6 Account Creation in AdminCP 2015-12-13 19:03:04 -06:00
Dane Everitt
d0e4592377 Initial validator implementation for server creation 2015-12-10 23:13:34 -05:00
Dane Everitt
59ff1ebbe6 Finish front-end server creation page. 2015-12-10 18:30:49 -05:00
Dane Everitt
f47f0cd549 More additions to server creation page.
Adds memory/disk/etc. fields as well as selecting the service type and
option. Still need to add in the ability to set the variables once an
option is selected.
2015-12-08 18:34:18 -05:00
Dane Everitt
47235b670a Push some basic add server functionality
Doesn’t support adding the server, but adds improved support for
handling picking server location, node, and ip+port
2015-12-07 00:47:19 -05:00
Dane Everitt
1489f7a694 Initial Commit of Files
PufferPanel v0.9 (Laravel) is now Pterodactyl 1.0
2015-12-06 13:58:49 -05:00