forked from projects/thebadspace
Appeal Process upgrade
Changed the appeal process so that each request is tracked in the database to make reviewing and time limits easier to manage. An email is still sent but it's just a notifcation to let the admin know an appeal has been filed.
This commit is contained in:
parent
9be54fa13c
commit
bce9a430aa
7 changed files with 96 additions and 37 deletions
49
app/Http/Controllers/AppealController.php
Normal file
49
app/Http/Controllers/AppealController.php
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Mail\LocationAppeal;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use Ramsey\Uuid\Uuid;
|
||||||
|
use App\Models\Appeal;
|
||||||
|
|
||||||
|
class AppealController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Send appeal request
|
||||||
|
*/
|
||||||
|
public function sendAppeal(Request $request)
|
||||||
|
{
|
||||||
|
//$order = Order::findOrFail($request->order_id);
|
||||||
|
$token = csrf_token();
|
||||||
|
|
||||||
|
if ($request->h1 != '' || $request->question != 2) {
|
||||||
|
return back()->withErrors([
|
||||||
|
'error' => 'Invalid Request',
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
$check = Appeal::where("location", $request->location)->first();
|
||||||
|
|
||||||
|
if ($check) {
|
||||||
|
return back()->withErrors([
|
||||||
|
'error' => 'Appeal already in process for Location',
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
$new = Appeal::create([
|
||||||
|
'uuid' => Uuid::uuid4(),
|
||||||
|
'location' => $request->location,
|
||||||
|
'location_admin' => $request->location_admin,
|
||||||
|
'sponsor' => $request->sponsor,
|
||||||
|
'description' => $request->appeal_description,
|
||||||
|
'approved' => false,
|
||||||
|
'reviewed' => false,
|
||||||
|
]);
|
||||||
|
Mail::to(env('TBS_ADMIN_EMAIL'))->send(new LocationAppeal($request->location, $request->sponsor));
|
||||||
|
}
|
||||||
|
|
||||||
|
//return redirect('/appeals');
|
||||||
|
return back()->with('message', "Appeal Filed");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,30 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use App\Mail\LocationAppeal;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Facades\Mail;
|
|
||||||
|
|
||||||
class AppealMailController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Send appeal request
|
|
||||||
*/
|
|
||||||
public function sendAppeal(Request $request)
|
|
||||||
{
|
|
||||||
//$order = Order::findOrFail($request->order_id);
|
|
||||||
$token = csrf_token();
|
|
||||||
|
|
||||||
if ($request->h1 != '' || $request->question != 2) {
|
|
||||||
return back()->withErrors([
|
|
||||||
'error' => 'Invalid Request',
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
Mail::to(env('TBS_ADMIN_EMAIL'))->send(new LocationAppeal($request->location, $request->sponsor));
|
|
||||||
|
|
||||||
//return redirect('/appeals');
|
|
||||||
return back()->with('message', "Appeal Filed");
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
34
app/Models/Appeal.php
Normal file
34
app/Models/Appeal.php
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class Appeal extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The table associated with the model.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $table = "appeal";
|
||||||
|
|
||||||
|
protected $primaryKey = 'id';
|
||||||
|
public $incrementing = true;
|
||||||
|
protected $fillable = [
|
||||||
|
"uuid",
|
||||||
|
"location",
|
||||||
|
"location_admin",
|
||||||
|
"sponsor",
|
||||||
|
"description",
|
||||||
|
"approved",
|
||||||
|
"reviewed",
|
||||||
|
"created_at",
|
||||||
|
"updated_at"
|
||||||
|
];
|
||||||
|
}
|
|
@ -97,6 +97,11 @@ main > section > article {
|
||||||
min-height: 400px;
|
min-height: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
textarea[name="appeal_description"] {
|
||||||
|
width: 300px;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
/* NAV */
|
/* NAV */
|
||||||
|
|
||||||
#main-nav {
|
#main-nav {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
<div>
|
<div>
|
||||||
A quick test to see if it works.<br />
|
Appeal filed for: {{$location}}<br />
|
||||||
Appeal for: {{$location}}<br />
|
|
||||||
Appeal Sponsor: {{$sponsor}}<br />
|
|
||||||
</div>
|
</div>
|
|
@ -45,12 +45,15 @@
|
||||||
<form action="/appeal" method="post" enctype="multipart/form-data">
|
<form action="/appeal" method="post" enctype="multipart/form-data">
|
||||||
@csrf
|
@csrf
|
||||||
<label>Appeal Location</label><br />
|
<label>Appeal Location</label><br />
|
||||||
<input type="text" name="location" value="" />
|
<input type="text" name="location" value="" /><br />
|
||||||
<br />
|
<label>Appeal Location Admin</label><br />
|
||||||
|
<input type="text" name="location_admin" value="" /><br />
|
||||||
<label>Appeal Sponsor</label><br />
|
<label>Appeal Sponsor</label><br />
|
||||||
<input type="text" name="sponsor" value="" /><br />
|
<input type="text" name="sponsor" value="" /><br />
|
||||||
<label>What is 1+1?</label><br />
|
<label>What is 1+1?</label><br />
|
||||||
<input type="text" name="question" value="" /><br />
|
<input type="text" name="question" value="" /><br />
|
||||||
|
<label>Appeal Summary</label><br />
|
||||||
|
<textarea name="appeal_description">Appeal Summary</textarea>
|
||||||
<input type="hidden" name="h1" value="" /><br />
|
<input type="hidden" name="h1" value="" /><br />
|
||||||
<input type="submit" value="File Appeal" name="submit_button">
|
<input type="submit" value="File Appeal" name="submit_button">
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -6,7 +6,7 @@ use App\Http\Controllers\AuthController;
|
||||||
use App\Http\Controllers\DenController;
|
use App\Http\Controllers\DenController;
|
||||||
use App\Http\Controllers\LocationController;
|
use App\Http\Controllers\LocationController;
|
||||||
use App\Http\Controllers\ExportController;
|
use App\Http\Controllers\ExportController;
|
||||||
use App\Http\Controllers\AppealMailController;
|
use App\Http\Controllers\AppealController;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
@ -26,7 +26,7 @@ Route::get("/about", [FrontIndexController::class, 'about']);
|
||||||
Route::get("/location/{uuid}", [FrontIndexController::class, 'location']);
|
Route::get("/location/{uuid}", [FrontIndexController::class, 'location']);
|
||||||
Route::get("/appeals", [FrontIndexController::class, 'appeals']);
|
Route::get("/appeals", [FrontIndexController::class, 'appeals']);
|
||||||
Route::post("/search", [FrontIndexController::class, 'indexSearch']);
|
Route::post("/search", [FrontIndexController::class, 'indexSearch']);
|
||||||
Route::post("/appeal", [AppealMailController::class, 'sendAppeal']);
|
Route::post("/appeal", [AppealController::class, 'sendAppeal']);
|
||||||
|
|
||||||
//exports
|
//exports
|
||||||
Route::get("/exports", [ExportController::class, 'exportIndex']);
|
Route::get("/exports", [ExportController::class, 'exportIndex']);
|
||||||
|
|
Loading…
Reference in a new issue