Commit Graph

120 Commits

Author SHA1 Message Date
Dane Everitt fb182ffb4a Apply fixes from StyleCI 2016-12-30 22:00:06 +00:00
Dane Everitt 0afa568095
Address two bugs in subuser system.
1.) Prevents adding the owner of a server as a subuser which could
potentially break things.
2.) Prevents adding duplicate subusers for a server.
2016-12-30 16:28:43 -05:00
Dane Everitt 7848f63e05
Fix error thrown on `0` values for variables, closes #223 2016-12-30 16:00:51 -05:00
Dane Everitt 43786b1d2a
Block addition of more than 2000 ports at once, closes #219 2016-12-30 15:50:37 -05:00
Dane Everitt 9a494d8245
Adjust server name requirements, closes #205 2016-12-30 15:46:10 -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 1eb1f96e71
Add support for updating the daemon's configuration file automatically. 2016-12-01 18:33:32 -05:00
Emmet Young a03add7e4f Allow API to set a custom ID for server creation. (#187)
* Allow API to set a custom ID for server creation.

Useful when dealing with billing systems such as WHMCS

* Correct API code changes based on feedback.
2016-11-30 11:01:22 -05:00
Dane Everitt f6275058d0
Support for hostnames in database connection field. 2016-11-26 20:27:36 -05:00
Dane Everitt 1ad715f1a3
Improve database management for servers, fixes #181 2016-11-26 17:34:14 -05:00
Dane Everitt 723b608e0c
Implement node deletion properly, fixes #173 2016-11-26 16:29:13 -05:00
Dane Everitt cd3f5ed6fe
Correct password setting for MySQL user 2016-11-04 20:47:40 -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 55c9f0f2f2
Delete databases when we delete a server. 2016-10-23 19:21:57 -04:00
Dane Everitt 08b236ac1d
better port checking, don't send rebuild unless things are changed. 2016-10-23 19:07: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 dda5d9aa01
Fix no error display if adding a server with an invalid email 2016-10-23 18:48:14 -04:00
Dane Everitt ad906e0680
FQDN support for allocations, and JS bug fix. 2016-10-21 17:33:26 -04:00
Dane Everitt 0f4648b13a
Fixes adding api keys a little more 2016-10-20 18:29:34 -04:00
Dane Everitt 53ec2c55ec
Add front-end support for adding and deleting API keys. 2016-10-20 18:20:58 -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 c989dd0cc2
Send notification when server is created for user 2016-10-14 15:58:52 -04:00
Dane Everitt a115c71433
Change SFTP username to be name_uuidShort 2016-10-14 15:34:01 -04:00
Dane Everitt 06422b2055
fix up API route return 2016-10-07 14:26:50 -04:00
Dane Everitt fbfaec6b20
create server with user ID or email 2016-10-06 22:43:50 -04:00
Dane Everitt 9d10c2a757
Support custom user id though API, closes #115 2016-10-06 22:36:59 -04:00
Dane Everitt c347a6756c
Save set image to database 2016-10-06 22:32:54 -04:00
Dane Everitt a2fc511e7e
Add permissions for filemanager stuff to subusers 2016-10-06 20:29:21 -04:00
Dane Everitt 8330e26b39
Update routes to reflect daemon changes 2016-10-04 21:38:32 -04:00
Dane Everitt 81dc74a175
File adding support, editor enhancements, JS improved. 2016-10-03 20:22:28 -04:00
Dane Everitt dbd2900f0f
Merge branch 'develop' into feature/filemanager 2016-10-03 13:19:02 -04:00
Dominic Fitch-Jones b67813b260 Make sure that you can't delete your own account. (#110) 2016-10-02 21:27:25 -04:00
Dane Everitt fb4d122a2a
More updates to file manager
Not doing individual commits for this, tons of changes for tons of
different aspects across multiple files.
2016-10-01 23:09:55 -04:00
Dane Everitt 6098f31f9a
Better dropdown menu setup, more options
Still rough
2016-10-01 15:40:38 -04:00
Dane Everitt 30f58382bc
Add support for automatic node assignment 2016-09-27 21:01:46 -04:00
Dane Everitt d9f1a7faf7 allow setting variable options to "0", closes #87 2016-09-17 20:25:13 -04:00
Dane Everitt 812b869be8 add ability to change servers docker image 2016-09-17 20:14:36 -04:00
Dane Everitt bcd4b35890 Startup not required, fix display executable bug 2016-09-16 18:39:36 -04:00
Dane Everitt c9420cdd7e Don't require executable or startup for services 2016-09-16 17:59:26 -04:00
Dane Everitt abaf29483b Only send updated data to daemon; makes better use of on-the-fly container updates
Now we only send information that would trigger a container rebuild if
it actually changes from current settings.
2016-09-14 18:36:33 -04:00
Dane Everitt fcae6b5f15 remove required default value, update descriptions in seeder 2016-09-14 18:36:33 -04:00
Dane Everitt bea790d149 Don't require a default value 2016-09-14 18:36:33 -04:00
Dane Everitt 05f0f48caf Add seeders for services, cleanup environment setters 2016-09-07 17:48:20 -04:00
Dane Everitt 9fb0cb420e Add subuser support to tasks
Also allow task creation…
2016-09-05 17:39:58 -04:00
Dane Everitt 9b4a0ed143 Add task toggle and delete 2016-09-05 17:13:22 -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 1ca07e665e Add support for viewing SFTP password in panel
requested in #74
closes #74
2016-09-02 19:26:48 -04:00