Merge remote-tracking branch 'origin/main'

# Conflicts:
#	routes/web.php
This commit is contained in:
c.girardi
2024-02-17 16:50:53 +01:00
19 changed files with 422 additions and 46 deletions

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\FileRequest;
use App\Http\Requests\StorefileRequest;
use App\Http\Requests\UpdatefileRequest;
use App\Models\file;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class FileController extends Controller
{
public function datasubmit(FileRequest $request): RedirectResponse
{
//upload file in public folder
//dd($reqest->all());
//$filename = 'new_file.'.$request->filename->extension();
//$request->filename->move(public_path('uploads'), $filename);
//dd($request->all());
//$request->validate([
// 'filename'=>'required'
//]);
$filename = 'new_file.'.$request->file("filetoinsert")->getClientOriginalExtension();
$request->file("filetoinsert")->storeAs('file_temp', $filename);
//$request->filename->storeAs('file_temp', $filename);
return redirect('/words');
}
public function delete(): RedirectResponse
{
Storage::delete('file_temp/new_file.txt');
return redirect('/words');
}
}

View File

@@ -2,11 +2,11 @@
namespace App\Http\Controllers;
use App\Http\Requests\WordRequest;
use App\Models\Word;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class WordsController extends Controller
{
public function __construct()
@@ -25,20 +25,49 @@ class WordsController extends Controller
/**
* Store a new Word in the database.
*/
public function store(Request $request): RedirectResponse
public function store(WordRequest $request): RedirectResponse
{
// Validate the request...
$word = new Word;
$word->name = $request->name;
$word->translation = $request->translation;
//$word->name = $request->input('name');
//$word->translation = $request->input('translation');
$word->save();
return redirect('/words');
}
/**
* Update an existing Word in the database.
*/
public function edit($id)
{
$data = Word::find($id);
$id = $data->id;
$name = $data->name;
$translation = $data->translation;
//return $translation;
return view("words.modify-word-form", compact('id', "name", "translation"));
}
/**
* Update an existing Word in the database.
*/
public function update(WordRequest $request, $id): RedirectResponse
{
$data = Word::find($id);
$data->name = $request->name;
$data->translation = $request->translation;
$data->save();
return redirect('/words');
}
/**
* Delete an existing Word in the database.
*/
public function delete($id): RedirectResponse
{
Word::destroy($id);
return redirect('/words');
}
}

View File

@@ -0,0 +1,42 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rules\File;
class FileRequest extends FormRequest
{
public $filetoinsert;
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'filetoinsert' => ['required', 'mimes:txt']//, File::types(['csv'])]
];
}
public function messages(): array
{
return [
'filetoinsert.required' => 'ERROR: csv file not selected!',
'filetoinsert.mimes'=> "ERRORE: select only csv format"
];
}
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StorefileRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
//
];
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdatefileRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
//
];
}
}

View File

@@ -10,10 +10,19 @@ class WordRequest extends FormRequest
{
return [
'name' => ['required'],
'translation' => ['required'],
'translation' => ['required', 'unique:words,translation'],
];
}
public function messages(): array
{
return [
'name.required' => 'Insert italian Word',
'translation.required' => 'Insert dialect Word',
];
}
public function authorize(): bool
{
return true;