v0.8.0 - Fixed ResourceController.php
This commit is contained in:
parent
511e0b783f
commit
fb88bfa4c8
skolehjem
app
config
database/migrations
|
@ -3,9 +3,11 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Resource;
|
||||
use App\ResourceCategory;
|
||||
use App\ResourceExtension;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Symfony\Component\Mime\MimeTypes;
|
||||
|
||||
class ResourceController extends Controller
|
||||
{
|
||||
|
@ -49,30 +51,54 @@ class ResourceController extends Controller
|
|||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
public static function store(Request $request)
|
||||
{
|
||||
$file = $request->file("resource");
|
||||
|
||||
$resourceExtension = ResourceExtension::where("extension", "=", $file->extension())->first();
|
||||
$resourceExtension = ResourceExtension::query()->where("extension", "=", $file->extension())->first();
|
||||
|
||||
//Create resourceExtension if it doesn't exist
|
||||
if($resourceExtension === null) {
|
||||
$category = substr($file->getMimeType(), 0, strpos($file->getMimeType(), "/"));
|
||||
|
||||
$resourceCategory = ResourceCategory::query()->where("name", "=", $category)->first();
|
||||
|
||||
//Create resourceCategory if it doesn't exist
|
||||
if($resourceCategory === null){
|
||||
$data = [
|
||||
"name" => $category,
|
||||
"description" => "",
|
||||
"slug" => ""
|
||||
];
|
||||
|
||||
$resourceCategory = new ResourceCategory($data);
|
||||
$resourceCategory->save();
|
||||
}
|
||||
|
||||
$data = [
|
||||
"extension" => $file->extension(),
|
||||
"description" => ""
|
||||
"description" => "",
|
||||
"resource_category_id" => $resourceCategory->id
|
||||
];
|
||||
|
||||
$resourceExtension = new ResourceExtension($data);
|
||||
$resourceExtension->save();
|
||||
} else {
|
||||
}
|
||||
|
||||
$resource = new Resource();
|
||||
|
||||
$resource->extension_id = $resourceExtension->id;
|
||||
$resource->filename = substr(md5($file->getFilename() . rand()), 0, 7);
|
||||
|
||||
$fileName = time().'_'.$file->getClientOriginalName();
|
||||
$filePath = $file->storeAs('uploads', $fileName, 'public');
|
||||
|
||||
/* /uploads/filename.ext */
|
||||
$resource->filename = '/' . $filePath;
|
||||
|
||||
|
||||
$resource->save();
|
||||
}
|
||||
|
||||
return Response::detect("resources.store");
|
||||
return $resource;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -117,6 +143,6 @@ class ResourceController extends Controller
|
|||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ use Illuminate\Database\Eloquent\Model;
|
|||
//Class of which should extend Model Library
|
||||
class ResourceCategory extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'name', 'description', 'slug'
|
||||
];
|
||||
|
||||
public function resourceExtensions() {
|
||||
return $this->hasMany("App\ResourceExtension");
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
class ResourceExtension extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'extension', 'description'
|
||||
'extension', 'description', 'resource_category_id'
|
||||
];
|
||||
|
||||
public function resources() {
|
||||
|
|
|
@ -50,8 +50,8 @@ return [
|
|||
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
'url' => env('APP_URL').'/storage',
|
||||
'root' => public_path(''),
|
||||
'url' => env('APP_URL').'/public',
|
||||
'visibility' => 'public',
|
||||
],
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateResourceCategory extends Migration
|
||||
class CreateResourceCategories extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
//Migrations acts as a version control for the database allowing you to modify the app's database schema
|
||||
|
||||
//allows use of necessary libraries
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateResourceCategories extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
/*Schema::create('resource_categories', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string("name")->unique();
|
||||
$table->text("description");
|
||||
$table->string("slug")->unique();
|
||||
$table->timestamps();
|
||||
});*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('resource_categories');
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue