Commit graph

381 commits

Author SHA1 Message Date
Dane Everitt
6fda3b72e4
Display total servers user can access in the Admin CP
closes #356
2017-04-13 23:49:47 -04:00
Dane Everitt
23e6e0510b
Move config::set calls into single helper function 2017-04-13 23:19:01 -04:00
Dane Everitt
93d79994f8 Apply fixes from StyleCI (#372) 2017-04-09 19:16:39 -04:00
Dane Everitt
722fd614a1
Add new dynamic view for creating API keys 2017-04-09 18:59:54 -04:00
Dane Everitt
c492446513
Implement initial server and location API routes.
Also fixes a few exception handler issues causing incorrect HTTP status
codes on authorization errors.
2017-04-09 13:15:15 -04:00
Dane Everitt
4479d3bf19
Improved logic for handling permissions on API routes.
Still only partially implemented, however this method will allow the
inclusion of data that is granted with servers (such as viewing more
about the node, node location, allocations, etc) while still limiting
someone from doing `?include=node.servers` and listing all servers when
they don’t have list-servers as a permission.
2017-04-08 12:05:29 -04:00
Dane Everitt
51204b8d9d
Add all of the potential transformers that might be needed for now. 2017-04-07 20:28:58 -04:00
Dane Everitt
87530cdc01
Initial moves to new API scheme.
Implements a better middleware for handling API authentication, as well
as cleaner route handling.
2017-04-02 00:11:52 -04:00
Dane Everitt
cbeecfe5e4
Implement front-end server searching 🍬 2017-04-01 13:14:49 -04:00
Dane Everitt
536865b22a
Remove deletion queue for servers. Just immediately delete. 2017-03-31 22:12:31 -04:00
Dane Everitt
95c739a3f3
Update subusers view 2017-03-30 15:31:02 -04:00
Dane Everitt
f0057353ad Apply fixes from StyleCI 2017-03-19 23:52:11 +00:00
Dane Everitt
0312c974f5
Update doc blocks for all app/ 2017-03-19 19:36:50 -04:00
Dane Everitt
03e0de28d9
Initial implementation of option scripts on panel side. 2017-03-18 13:09:30 -04:00
Dane Everitt
202dd52e2b
Fixes bug causing MySQL user accounts to be corrupted when resetting a password via the panel.
closes #352
2017-03-17 17:17:36 -04:00
Dane Everitt
4ad09c5435
Fixes bug introduced during admin rewrite that broke server creation 2017-03-16 21:11:15 -04:00
Dane Everitt
198a021a97
Add database host management to panel. 2017-03-16 19:35:29 -04:00
Dane Everitt
436ba814a9 Apply fixes from StyleCI (#351) 2017-03-15 20:53:49 -04:00
Dane Everitt
1c47b2ed55
Finish pack management in Admin CP 2017-03-15 20:52:37 -04:00
Dane Everitt
50558db7c3
Add initial pack creation and overview pages 2017-03-14 21:18:36 -04:00
Dane Everitt
2d90187c83
StyleCI fixes 2017-03-12 19:38:50 -04:00
Dane Everitt
fcadee7e67
Fix front and backend views with new service variable setups 2017-03-12 19:34:06 -04:00
Dane Everitt
97cad1d55e
Update seeders to not error out and allow updating values quickly. 2017-03-12 18:02:15 -04:00
Dane Everitt
1897741381
StyleCI cleanup 2017-03-12 16:34:43 -04:00
Dane Everitt
419031e0cd
Add function file editing, and move all service file items into database 2017-03-12 15:59:17 -04:00
Dane Everitt
d7682bb7c9
Complete new service, option, and variable management interface in Admin CP 2017-03-12 00:00:06 -05:00
Dane Everitt
bccbb309b2
Fix broken descriptors 2017-03-11 15:02:04 -05:00
Dane Everitt
cbbd3704fe
Add a second check here *just* to make sure someone doesn't break this. 2017-03-04 19:27:24 -05:00
Dane Everitt
cd0a45a777
Fixes caching to actually clear the cache for *all* users, rather than the logged in user by using cache tags. 2017-03-04 19:24:46 -05:00
Dane Everitt
e6d3663b3b
Model and template cleanup 2017-03-03 23:37:41 -05:00
Dane Everitt
d38f89a468
Cleanup node routes, cleanup remote token 2017-03-03 23:14:25 -05:00
Dane Everitt
fd9f1a68eb
Implement node view, cleanup other files.
Still in progress, need to do a lot of controller cleanup first and add
node deletion as well.
2017-03-03 17:30:41 -05:00
Dane Everitt
bbf9fd12ae Apply fixes from StyleCI (#325) 2017-02-24 18:23:03 -05:00
Dane Everitt
8f96b35db1
Merge branch 'develop' into feature/admin-retheme 2017-02-23 21:24:17 -05:00
Dane Everitt
f91e4c511e
Attach user to cache to prevent showing servers they can't access. 2017-02-18 21:45:11 -05:00
Dane Everitt
b926d432e8
Thats enough re-theming for the day... 2017-02-18 19:31:44 -05:00
Dane Everitt
824041f6ca
Fix service creation/updates, closes #306 2017-02-17 20:40:50 -05:00
Dane Everitt
e9762b4277
Fixes port deletion for node allocations as well as server notes on allocations.
closes #305
2017-02-17 19:59:40 -05:00
Dane Everitt
008cccb098
Fix up email sending and add more notifications to the panel.
Closes #265
2017-02-17 19:23:27 -05:00
Dane Everitt
9af06b4b59
Add in query caching on server view 2017-02-17 18:19:53 -05:00
Dane Everitt
336234843d
Remove deprecated function calls 2017-02-16 13:31:25 -05:00
Dane Everitt
788de1b23a
Fix grepping about. 2017-02-15 16:57:45 -05:00
Dane Everitt
19d352619e
More singularization and correct file names. 2017-02-12 16:03:17 -05:00
Dane Everitt
8ba479e51f
Singularize model names. 2017-02-12 16:02:23 -05:00
Dane Everitt
7c916ad38f Apply fixes from StyleCI (#294) 2017-02-12 15:10:39 -05:00
Dane Everitt
32a1dc17ed
API model updates, as well as general model updates and code fixes. 2017-02-10 20:26:38 -05:00
Dane Everitt
3b3002b77a
API Model updates. 2017-02-10 17:29:10 -05:00
Dane Everitt
ba175e6b55
Cleanup location model and controller for Admin. 2017-02-10 17:09:56 -05:00
Dane Everitt
99812b0407
More subuser Model updates. 2017-02-09 19:38:54 -05:00
Dane Everitt
c8f6c93d26
Modify subusers model setup 2017-02-09 18:44:07 -05:00
Dane Everitt
4f61637284
More model updates to more places than I anticipated.
This probably broke a lot of things.
2017-02-09 17:43:54 -05:00
Dane Everitt
0d61417814
Addresses security flaw allowing unauthenticated access to server overview. 2017-02-05 19:59:16 -05:00
Dane Everitt
02458c909d
Improves server model and cleans up model code calls. 2017-02-05 19:19:46 -05:00
Dane Everitt
b1389262e2
Use belongsTo versus hasOne when more logical. 2017-02-05 18:00:39 -05:00
Dane Everitt
323f1d943f
Completed model updates for Services 2017-02-05 17:58:17 -05:00
Dane Everitt
09d23deed6
New models for node and location admin pages. 2017-02-03 16:50:28 -05:00
Dane Everitt
96d3aa767f
Model updates for Database Management in ACP 2017-02-03 15:19:14 -05:00
Dane Everitt
3baa21a6eb
StyleCI fixes. 2017-02-02 19:43:55 -05:00
Dane Everitt
3114b7e52a
Complete implementation of new Server model. 2017-02-02 19:41:38 -05:00
Dane Everitt
644ee85f59
Fix for StyleCI 2017-02-02 18:25:46 -05:00
Dane Everitt
d4bcf0be59
Initial implementation of improved sever model and logic 2017-02-02 18:21:36 -05:00
Dane Everitt
7f51e5df62
API tweaks to return more relevant information on server listing 2017-02-02 16:24:08 -05:00
Dane Everitt
32c21baab0
Return packs associated with a service when viewing it on the API. 2017-02-02 16:01:18 -05:00
Dane Everitt
4be9e30eee
Include that 30 second limit on other 2FA checks 2017-02-01 23:05:19 -05:00
Dane Everitt
a137e6ed72
Add base implementation of extendable events classes
Modified server deletion to use internal event handlers from the
Eloquent models themselves. Also added a few preliminary event handlers
in the `Pterodactyl\Events\<USer|Server> namespace that users can hook
into in EventServiceProvider to perform their own actions as they
please (such as push notifications and such).
2017-01-24 19:15:03 -05:00
Dane Everitt
bf7b58470a
Update copyright headers 2017-01-24 17:57:08 -05:00
Dane Everitt
d21e6b8c90 Merge pull request #267 from hammerdawn/ThemeFixes
Theme Changes
2017-01-22 19:59:37 -05:00
Emmet Young
921c7b1725 Configuration JSON should be including the FQDN instead of localhost for the certificate path. 2017-01-23 11:14:55 +11:00
Emmet Young
9025f1f583 Repair user creation functionality
Repair functionality of the make user console command (pterodactyl:user)
Fix up the user repository, was using the old $password instead of the changed format $data['password']
Change User model to allow root_admin to be a fillable item.
2017-01-23 00:47:09 +11:00
Dane Everitt
355697dbb5 Apply fixes from StyleCI (#260) 2017-01-21 15:56:32 -05:00
Jakob Schrettenbrunner
c0df57c087 add isRootAdmin() method to User model to get rid of User->root_admin === 1 2017-01-18 21:13:05 +01:00
Dane Everitt
e91362eee6
Update user controller 2017-01-12 15:40:24 -05:00
Dane Everitt
6bd9663f59
Merge branch 'develop' into feature/service-changes 2017-01-12 13:15:37 -05:00
Jakob Schrettenbrunner
a661f71974 fix styleci issues 2017-01-07 18:39:41 +01:00
Jakob Schrettenbrunner
e1e159b7de add ability to generate a token to retrieve the config for a specific node 2017-01-07 18:10:11 +01:00
Jakob Schrettenbrunner
ef1fa4c4e6 add method to get config as json to node model 2017-01-07 18:06:09 +01:00
Dane Everitt
efda0dd009 Apply fixes from StyleCI 2016-12-14 21:56:25 +00:00
Dane Everitt
fc38b09e1f
Merge branch 'develop' into feature/service-changes 2016-12-14 16:53:53 -05:00
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
c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Dane Everitt
259b220dfc
misc file cleanup 2016-12-02 18:45:08 -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
Jakob
e65dc5708d Validate password on reset according to rules (#158)
* move password rules to Models\User::PASSWORD_RULES

* validate new password according to rules on password reset

* add password requirements info to auth.passwords.reset view
2016-10-30 16:02:39 -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
dfeed013ba
Server API obey's the subuser permissions as well 2016-10-20 17:04:58 -04:00
Dane Everitt
9fd8a087b8
Revert some changes that cause issues with other URLs 2016-10-20 16:48:37 -04:00
Dane Everitt
125856d92f
Support for server info and minor changes to API setup 2016-10-20 16:42:54 -04:00
Dane Everitt
745c735b32
Add initial basic API changes
New route is `/api/me`
2016-10-14 20:22:23 -04:00
Dane Everitt
af68dbed8f
Add support for base API logging of all requests
ref #31
2016-10-07 16:06:09 -04:00
Dane Everitt
fd8417b5de Fix a display bug with IP aliasing 2016-09-17 14:51:27 -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
b02df8e610 Implement base notifications support (#77)
* initial implementation of notifications
* typehint UUID returns. Fixes that notifications bug
2016-09-05 12:00:56 -04:00
Dane Everitt
afb5011fbe Update to Laravel 5.3
[BREAKING] — REMOVES REMOTE API

A new API will need to be implemented properly using the new Laravel
Passport OAuth2 system. DingoAPI was becoming too unstable and
development wasn’t really moving along enough to continue to rely on it.
2016-09-03 17:09:00 -04:00
Dane Everitt
8e657a0bf0 Remove old 'active' column and replace some references with 'suspended' in place 2016-09-01 21:21:01 -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
5233d6e87b Add database password change support and fix column name 2016-08-16 00:07:10 -04:00
Dane Everitt
1296d08dcb add basic scheduler and queue processing for tasks 2016-02-27 18:35:12 -05:00
Dane Everitt
e7436aab2b Add active session management 2016-02-26 00:35:23 -05:00
Dane Everitt
ad5e253a07 Really basic initial implementation of service management 2016-02-15 15:21:28 -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
d6bd7e7a2e Fix casts on models; closes #49 2016-01-26 22:17:51 -05:00
Dane Everitt
dd58bdfff6 fixes setting user administrative status; closes #45 2016-01-25 19:18:22 -05:00
Dane Everitt
ae843a72c6 This took an ungodly long amount of time to debug as the cause of issues frontend. 2016-01-22 21:43:50 -05:00
Dane Everitt
52229d5d2e Add SFTP management to server front-end 2016-01-21 23:58:08 -05:00
Dane Everitt
40c68a5391 Add title to copyright 2016-01-20 16:05:16 -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
b0bcb879d0 Add license details to add app files. 2016-01-19 19:10:39 -05:00
Dane Everitt
ac6edc4d64 Completed subuser system 2016-01-18 19:57:10 -05:00
Dane Everitt
644f26fbfe Add location creation 2016-01-16 23:10:46 -05:00
Dane Everitt
3e595ca856 Add API Management to admin CP 2016-01-16 19:56:48 -05:00
Dane Everitt
a6bc36a710 add initial api management page 2016-01-16 01:20:27 -05:00
Dane Everitt
77e3744b40 Change authentication method for API. 2016-01-15 19:26:50 -05:00
Dane Everitt
8c9e797210 Finish user portion of API 2016-01-14 23:13:26 -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
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
71e6d2e1b6 Fixes potential for accidental update/deletion of edited model 2016-01-08 22:22:41 -05:00
Dane Everitt
65a91baa16 Fix inner join bug 2016-01-08 20:39:16 -05:00
Dane Everitt
2160613163 Add EULA acceptance popup when starting server 2016-01-08 19:54:06 -05:00
Dane Everitt
52a2f2e2ae Fix socket.io error
We no longer support self-signed certs, so if we cant connect 99%
chance the daemon is off.
2016-01-05 01:19:59 -05:00
Dane Everitt
09d28bf145 adds support for viewing server stats from 'Your Servers' page
http://s3.pterodactyl.io/bnSTK.png
2016-01-05 01:15:23 -05:00
Dane Everitt
d381c691ba Add support for node creation 2016-01-04 23:59:45 -05:00
Dane Everitt
46117afc77 Code cleanup and fixes filemanager 2016-01-01 18:08:15 -05:00
Dane Everitt
cc90fa3e63 Add http(s) toggle for nodes, update power page
Updates power and console controls to match new daemon output and API.
2015-12-31 17:55:42 -05:00
Dane Everitt
264431a271 Whats this? We can add new servers now?! 2015-12-15 15:08:41 -05:00
Dane Everitt
22b0bbf6ce Model fixing, moving things around to improve code.
Adds unique UUID generator, moves functions into repositories for
adding servers and users, cleans up code, adding more comments.
2015-12-13 22:22:16 -05:00
Dane Everitt
b6ac96550b Fairly basic implementation of adding a server. Does not actually do anything yet.
Pushing this for commit sake.
2015-12-11 23:29:00 -05:00
Dane Everitt
d0e4592377 Initial validator implementation for server creation 2015-12-10 23:13:34 -05:00
Dane Everitt
e77cea6f99 Add models for service databases 2015-12-08 18:33:33 -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