Improve devtools interface
This commit revamps the interface and adds more commands.
This commit is contained in:
@@ -23,30 +23,33 @@ namespace App\Http\Controllers;
|
||||
|
||||
use App\Application;
|
||||
use App\Events\ApplicationApprovedEvent;
|
||||
use App\Services\AccountSuspensionService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class DevToolsController extends Controller
|
||||
{
|
||||
// The use case for Laravel's gate and/or validation Requests is so tiny here that a full-blown policy would be overkill.
|
||||
protected function isolatedAuthorise()
|
||||
{
|
||||
public function __construct() {
|
||||
//
|
||||
}
|
||||
|
||||
private function singleAuthorise() {
|
||||
if (! Auth::user()->can('admin.developertools.use')) {
|
||||
abort(403, __('You\'re not authorized to access this page.'));
|
||||
}
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->isolatedAuthorise();
|
||||
public function index() {
|
||||
$this->singleAuthorise();
|
||||
|
||||
return view('dashboard.administration.devtools')
|
||||
->with('applications', Application::where('applicationStatus', 'STAGE_PEERAPPROVAL')->get());
|
||||
}
|
||||
|
||||
public function forceVoteCount(Request $request)
|
||||
{
|
||||
$this->isolatedAuthorise();
|
||||
public function forceApprovalEvent(Request $request) {
|
||||
$this->singleAuthorise();
|
||||
|
||||
$application = Application::find($request->application);
|
||||
|
||||
if (! is_null($application)) {
|
||||
@@ -59,4 +62,32 @@ class DevToolsController extends Controller
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
public function evaluateVotes() {
|
||||
|
||||
$this->singleAuthorise();
|
||||
|
||||
$code = Artisan::call("votes:evaluate");
|
||||
|
||||
return redirect()
|
||||
->back()
|
||||
->with('success', 'Ran vote evaluation logic, with exit code ' . $code);
|
||||
|
||||
}
|
||||
|
||||
public function purgeSuspensions(AccountSuspensionService $service) {
|
||||
|
||||
$this->singleAuthorise();
|
||||
|
||||
if ($service->purgeExpired()) {
|
||||
return redirect()
|
||||
->back()
|
||||
->with('success', 'Force purged all expired suspensions.');
|
||||
}
|
||||
|
||||
return redirect()
|
||||
->back()
|
||||
->with('error', 'There were no expired suspensions (or no suspensions at all) to purge.');
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user