Add settings to panel

This commit is contained in:
Dane Everitt 2016-01-20 22:08:09 -05:00
parent 591cc8648d
commit b63fc02cef
12 changed files with 317 additions and 14 deletions

View file

@ -25,6 +25,7 @@
namespace Pterodactyl\Http\Controllers\Admin;
use Alert;
use Settings;
use Mail;
use Log;
use Pterodactyl\Models\User;
@ -124,8 +125,9 @@ class AccountsController extends Controller
}
if($request->input('email_user')) {
Mail::send('emails.new_password', ['user' => User::findOrFail($request->input('user')), 'password' => $request->input('password')], function($message) use ($request) {
$message->to($request->input('email'))->subject('Pterodactyl - Admin Reset Password');
Mail::queue('emails.new_password', ['user' => User::findOrFail($request->input('user')), 'password' => $request->input('password')], function($message) use ($request) {
$message->to($request->input('email'))->subject(Settings::get('company') . ' - Admin Reset Password');
$message->from(Settings::get('email_from', env('MAIL_FROM')), Settings::get('email_sender_name', env('MAIL_FROM_NAME', 'Pterodactyl Panel')));
});
}

View file

@ -23,7 +23,9 @@
*/
namespace Pterodactyl\Http\Controllers\Admin;
use Debugbar;
use Alert;
use Settings;
use Validator;
use Pterodactyl\Http\Controllers\Controller;
use Illuminate\Http\Request;
@ -44,4 +46,32 @@ class BaseController extends Controller
return view('admin.index');
}
public function getSettings(Request $request)
{
return view('admin.settings');
}
public function postSettings(Request $request)
{
$validator = Validator::make($request->all(), [
'company' => 'required|between:1,256',
'default_language' => 'required|alpha_dash|min:2|max:5',
'email_from' => 'required|email',
'email_sender_name' => 'required|between:1,256'
]);
if ($validator->fails()) {
return redirect()->route('admin.settings')->withErrors($validator->errors())->withInput();
}
Settings::set('company', $request->input('company'));
Settings::set('default_language', $request->input('default_language'));
Settings::set('email_from', $request->input('email_from'));
Settings::set('email_sender_name', $request->input('email_sender_name'));
Alert::success('Settings have been successfully updated.')->flash();
return redirect()->route('admin.settings');
}
}

View file

@ -41,6 +41,23 @@ class AdminRoutes {
'uses' => 'Admin\BaseController@getIndex'
]);
$router->group([
'prefix' => 'admin/settings',
'middleware' => [
'auth',
'admin',
'csrf'
]
], function () use ($router) {
$router->get('/', [
'as' => 'admin.settings',
'uses' => 'Admin\BaseController@getSettings'
]);
$router->post('/', [
'uses' => 'Admin\BaseController@postSettings'
]);
});
$router->group([
'prefix' => 'admin/accounts',
'middleware' => [

View file

@ -24,6 +24,7 @@
namespace Pterodactyl\Repositories;
use DB;
use Settings;
use Validator;
use Mail;
@ -179,7 +180,8 @@ class SubuserRepository
'url' => route('server.index', $server->uuidShort),
], function ($message) use ($email) {
$message->to($email);
$message->subject('Pterodactyl - Added to Server');
$message->from(Settings::get('email_from', env('MAIL_FROM')), Settings::get('email_sender_name', env('MAIL_FROM_NAME', 'Pterodactyl Panel')));
$message->subject(Settings::get('company') . ' - Added to Server');
});
DB::commit();
return $subuser->id;

View file

@ -25,6 +25,7 @@
namespace Pterodactyl\Repositories;
use DB;
use Settings;
use Hash;
use Validator;
use Mail;
@ -87,7 +88,8 @@ class UserRepository
'login' => route('auth.login')
], function ($message) use ($email) {
$message->to($email);
$message->subject('Pterodactyl - New Account');
$message->from(Settings::get('email_from', env('MAIL_FROM')), Settings::get('email_sender_name', env('MAIL_FROM_NAME', 'Pterodactyl Panel')));
$message->subject(Settings::get('company') . ' - New Account');
});
DB::commit();
return $user->id;