From 50ceeb193bdf192dfbca76459493b267516f464f Mon Sep 17 00:00:00 2001 From: Arno Kaimbacher Date: Fri, 12 Aug 2022 06:52:06 +0000 Subject: [PATCH 1/2] - Form Request array syntax: Convert pipe (|) delimited validation rules from strings into an array of validation rules while using Laravel Rule objects where available - Streamline order methods: Streamline query builder orderBy calls with asc and desc arguments. - delete some old Request-Clases --- .../Frontend/SitelinkController.php | 2 +- .../Controllers/Publish/DoiController.php | 2 +- .../Controllers/Publish/EditorController.php | 2 +- .../Controllers/Publish/SubmitController.php | 2 +- .../Settings/Access/UserController.php | 2 +- .../Requests/Collection/CollectionRequest.php | 9 +++- app/Http/Requests/DocumentRequest.php | 9 +++- app/Http/Requests/LicenseRequest.php | 43 +++++++++++++++---- app/Http/Requests/Pages/UpdatePageRequest.php | 5 ++- app/Http/Requests/PeminjamanRequest.php | 30 ------------- app/Http/Requests/PeriodeRequest.php | 29 ------------- .../Requests/Person/CreatePersonRequest.php | 42 +++++++++++++++--- .../Requests/Person/EditPersonRequest.php | 42 +++++++++++++++--- app/Http/Requests/ProjectRequest.php | 16 +++++-- app/Http/Requests/ShelfRequest.php | 30 ------------- app/Models/Dataset.php | 2 +- database/factories/ModelFactory.php | 0 routes/api.php | 4 +- 18 files changed, 143 insertions(+), 128 deletions(-) delete mode 100755 app/Http/Requests/PeminjamanRequest.php delete mode 100755 app/Http/Requests/PeriodeRequest.php delete mode 100755 app/Http/Requests/ShelfRequest.php create mode 100644 database/factories/ModelFactory.php diff --git a/app/Http/Controllers/Frontend/SitelinkController.php b/app/Http/Controllers/Frontend/SitelinkController.php index 81506fb..10ed718 100644 --- a/app/Http/Controllers/Frontend/SitelinkController.php +++ b/app/Http/Controllers/Frontend/SitelinkController.php @@ -53,7 +53,7 @@ class SitelinkController extends Controller ->whereYear('server_date_published', '>=', $from) ->whereYear('server_date_published', '<', $until); - $documents = $select->orderBy('publish_id', 'asc') + $documents = $select->orderBy('publish_id') ->get(); //$this->years = Dataset::select(DB::raw('YEAR(server_date_modified) as server_date_modified')) diff --git a/app/Http/Controllers/Publish/DoiController.php b/app/Http/Controllers/Publish/DoiController.php index a24f350..f323f17 100644 --- a/app/Http/Controllers/Publish/DoiController.php +++ b/app/Http/Controllers/Publish/DoiController.php @@ -64,7 +64,7 @@ class DoiController extends Controller { $datasets = Dataset::query() ->has('identifier') - ->orderBy('server_date_modified', 'desc') + ->orderByDesc('server_date_modified') ->get(); return View::make('workflow.doi.index', [ 'datasets' => $datasets, diff --git a/app/Http/Controllers/Publish/EditorController.php b/app/Http/Controllers/Publish/EditorController.php index 22a1976..9991c77 100644 --- a/app/Http/Controllers/Publish/EditorController.php +++ b/app/Http/Controllers/Publish/EditorController.php @@ -87,7 +87,7 @@ class EditorController extends Controller $query->whereIn('server_state', ['editor_accepted', 'rejected_reviewer', 'reviewed', 'published']) ->where('editor_id', $user_id)->doesntHave('identifier', 'and'); }) - ->orderBy('server_date_modified', 'desc') + ->orderByDesc('server_date_modified') ->get(); // return View::make('workflow.editor.index', compact('datasets')); return View::make('workflow.editor.index', [ diff --git a/app/Http/Controllers/Publish/SubmitController.php b/app/Http/Controllers/Publish/SubmitController.php index 040feef..3f5e014 100644 --- a/app/Http/Controllers/Publish/SubmitController.php +++ b/app/Http/Controllers/Publish/SubmitController.php @@ -47,7 +47,7 @@ class SubmitController extends Controller 'released', 'editor_accepted', 'approved', 'reviewed', 'rejected_editor', 'rejected_reviewer']) ->where('account_id', $user_id) ->with('user:id,login') - ->orderBy('server_date_modified', 'desc') + ->orderByDesc('server_date_modified') ->get(); return View::make('workflow.submitter.index', [ 'datasets' => $myDatasets, diff --git a/app/Http/Controllers/Settings/Access/UserController.php b/app/Http/Controllers/Settings/Access/UserController.php index 5d16b53..c568688 100644 --- a/app/Http/Controllers/Settings/Access/UserController.php +++ b/app/Http/Controllers/Settings/Access/UserController.php @@ -30,7 +30,7 @@ class UserController extends Controller //} $users = User::with('roles') - ->orderBy('id', 'DESC') + ->orderByDesc('id') ->paginate(5); return view('settings.access.user.user', compact('users')) ->with('i', ($request->input('page', 1) - 1) * 5); diff --git a/app/Http/Requests/Collection/CollectionRequest.php b/app/Http/Requests/Collection/CollectionRequest.php index db233d2..0794d61 100644 --- a/app/Http/Requests/Collection/CollectionRequest.php +++ b/app/Http/Requests/Collection/CollectionRequest.php @@ -27,8 +27,13 @@ class CollectionRequest extends Request public function rules() { return [ - 'name' => 'required|max:255', - 'role_id' => 'required', + 'name' => [ + 'required', + 'max:255', + ], + 'role_id' => [ + 'required', + ], ]; } } diff --git a/app/Http/Requests/DocumentRequest.php b/app/Http/Requests/DocumentRequest.php index 0ad0e59..7c2c6f6 100644 --- a/app/Http/Requests/DocumentRequest.php +++ b/app/Http/Requests/DocumentRequest.php @@ -24,8 +24,13 @@ class DocumentRequest extends Request public function rules() { return [ - 'type' => 'required|min:3', - 'server_state' => 'required', + 'type' => [ + 'required', + 'min:3', + ], + 'server_state' => [ + 'required', + ], // 'author' => 'required|min:4', // 'stock' => 'required|integer', // 'year' => 'required|integer|min:4' diff --git a/app/Http/Requests/LicenseRequest.php b/app/Http/Requests/LicenseRequest.php index 6b8a675..823e357 100644 --- a/app/Http/Requests/LicenseRequest.php +++ b/app/Http/Requests/LicenseRequest.php @@ -24,15 +24,40 @@ class LicenseRequest extends Request public function rules() { return [ - 'desc_text' => 'max:4000', - 'language' => 'max:3', - 'link_licence' => 'required|url:max:255', - 'link_logo' => 'url|max:255', - 'mime_type' => 'max:30', - 'name_long' => 'required|min:5|max:255', - 'sort_order' => 'required|integer', - 'active' => 'required|boolean', - 'pod_allowed' => 'required|boolean' + 'desc_text' => [ + 'max:4000', + ], + 'language' => [ + 'max:3', + ], + 'link_licence' => [ + 'required', + 'url:max:255', + ], + 'link_logo' => [ + 'url', + 'max:255', + ], + 'mime_type' => [ + 'max:30', + ], + 'name_long' => [ + 'required', + 'min:5', + 'max:255', + ], + 'sort_order' => [ + 'required', + 'integer', + ], + 'active' => [ + 'required', + 'boolean', + ], + 'pod_allowed' => [ + 'required', + 'boolean', + ], ]; } } diff --git a/app/Http/Requests/Pages/UpdatePageRequest.php b/app/Http/Requests/Pages/UpdatePageRequest.php index 81e5e58..128e16e 100644 --- a/app/Http/Requests/Pages/UpdatePageRequest.php +++ b/app/Http/Requests/Pages/UpdatePageRequest.php @@ -28,7 +28,10 @@ class UpdatePageRequest extends Request public function rules() { return [ - 'en_title' => 'required|max:191' + 'en_title' => [ + 'required', + 'max:191', + ], // 'description_en' => 'required' ]; } diff --git a/app/Http/Requests/PeminjamanRequest.php b/app/Http/Requests/PeminjamanRequest.php deleted file mode 100755 index a108f7c..0000000 --- a/app/Http/Requests/PeminjamanRequest.php +++ /dev/null @@ -1,30 +0,0 @@ - 'required|integer' - ]; - } -} diff --git a/app/Http/Requests/Person/CreatePersonRequest.php b/app/Http/Requests/Person/CreatePersonRequest.php index f4a71f3..8fe2821 100644 --- a/app/Http/Requests/Person/CreatePersonRequest.php +++ b/app/Http/Requests/Person/CreatePersonRequest.php @@ -24,17 +24,45 @@ class CreatePersonRequest extends Request public function rules() { return [ - 'academic_title' => 'nullable|min:2|max:255', - 'last_name' => 'required|min:3|max:255|unique_with:persons,first_name,date_of_birth', - 'first_name' => 'required|min:3|max:255', - 'email' => 'required|email|max:50|unique:persons,email', + 'academic_title' => [ + 'nullable', + 'min:2', + 'max:255', + ], + 'last_name' => [ + 'required', + 'min:3', + 'max:255', + 'unique_with:persons,first_name,date_of_birth', + ], + 'first_name' => [ + 'required', + 'min:3', + 'max:255', + ], + 'email' => [ + 'required', + 'email', + 'max:50', + 'unique:persons,email', + ], // 'email' => [ // 'required', 'email', 'max:100', // Rule::unique('persons')->ignore($user->id), // ], - 'identifier_orcid' => 'nullable|min:19|max:50', - 'status' => 'required|boolean', - 'date_of_birth' => 'nullable|date' + 'identifier_orcid' => [ + 'nullable', + 'min:19', + 'max:50', + ], + 'status' => [ + 'required', + 'boolean', + ], + 'date_of_birth' => [ + 'nullable', + 'date', + ], ]; } } diff --git a/app/Http/Requests/Person/EditPersonRequest.php b/app/Http/Requests/Person/EditPersonRequest.php index d003693..44eb0bf 100644 --- a/app/Http/Requests/Person/EditPersonRequest.php +++ b/app/Http/Requests/Person/EditPersonRequest.php @@ -26,17 +26,45 @@ class EditPersonRequest extends Request public function rules() { return [ - 'academic_title' => 'nullable|min:2|max:255', - 'last_name' => 'required|min:3|max:255|unique_with:persons,first_name,date_of_birth', - 'first_name' => 'required|min:3|max:255', - 'email' => 'required|email|max:50|unique:persons,email', + 'academic_title' => [ + 'nullable', + 'min:2', + 'max:255', + ], + 'last_name' => [ + 'required', + 'min:3', + 'max:255', + 'unique_with:persons,first_name,date_of_birth', + ], + 'first_name' => [ + 'required', + 'min:3', + 'max:255', + ], + 'email' => [ + 'required', + 'email', + 'max:50', + 'unique:persons,email', + ], // 'email' => [ // 'required', 'email', 'max:100', // Rule::unique('persons')->ignore($user->id), // ], - 'identifier_orcid' => 'nullable|min:19|max:50', - 'status' => 'required|boolean', - 'date_of_birth' => 'nullable|date' + 'identifier_orcid' => [ + 'nullable', + 'min:19', + 'max:50', + ], + 'status' => [ + 'required', + 'boolean', + ], + 'date_of_birth' => [ + 'nullable', + 'date', + ], ]; } } diff --git a/app/Http/Requests/ProjectRequest.php b/app/Http/Requests/ProjectRequest.php index bf48563..0fd103c 100644 --- a/app/Http/Requests/ProjectRequest.php +++ b/app/Http/Requests/ProjectRequest.php @@ -24,9 +24,19 @@ class ProjectRequest extends Request { return [ - 'name' => 'required|min:3|max:255', - 'label' => 'required|min:3|max:20', - 'description' => 'required' + 'name' => [ + 'required', + 'min:3', + 'max:255', + ], + 'label' => [ + 'required', + 'min:3', + 'max:20', + ], + 'description' => [ + 'required', + ], ]; } } diff --git a/app/Http/Requests/ShelfRequest.php b/app/Http/Requests/ShelfRequest.php deleted file mode 100755 index 59e2d1c..0000000 --- a/app/Http/Requests/ShelfRequest.php +++ /dev/null @@ -1,30 +0,0 @@ - 'required' - ]; - } -} diff --git a/app/Models/Dataset.php b/app/Models/Dataset.php index 6faa56e..7926acf 100644 --- a/app/Models/Dataset.php +++ b/app/Models/Dataset.php @@ -301,7 +301,7 @@ class Dataset extends Model $result = Dataset::select('server_date_published') ->where('server_date_published', '<>', null) ->where('server_state', 'published') - ->orderBy('server_date_published', 'asc') + ->orderBy('server_date_published') ->first(); //->server_date_published; return $result; diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php new file mode 100644 index 0000000..e69de29 diff --git a/routes/api.php b/routes/api.php index 674fdcb..00e7254 100644 --- a/routes/api.php +++ b/routes/api.php @@ -70,7 +70,7 @@ $appRoutes = function () { ->whereYear('server_date_published', '>=', $from) ->whereYear('server_date_published', '<', $until); - $documents = $select->orderBy('publish_id', 'asc') + $documents = $select->orderBy('publish_id') ->get(); return response() ->json($documents) @@ -118,7 +118,7 @@ $appRoutes = function () { $query = $query->orderBy($sortCol, $sortDir); } } else { - $query = $query->orderBy('id', 'asc'); + $query = $query->orderBy('id'); } //handle filter From 7d1406ee5cfa18f45505362e246f4fb7193df4ea Mon Sep 17 00:00:00 2001 From: Arno Kaimbacher Date: Fri, 12 Aug 2022 07:53:27 +0000 Subject: [PATCH 2/2] - array/string Helpers: Laravel Convert old array and string helpers into their modern class-based methods. - Use Laravel Carbon: Laravel provides an Illuminate\Support\Carbon class which wraps the underlying Carbon class. By using this class, you gain access to some additional testing methods and create separation between your code and underlying dependencies. --- app/Http/Controllers/Oai/RequestController.php | 2 +- app/Http/Controllers/Publish/EditorController.php | 2 +- app/Http/Controllers/Publish/ReviewController.php | 2 +- app/Library/Util/SearchResultMatch.php | 2 +- app/Library/Xml/DatasetExtension.php | 2 +- app/Library/Xml/Strategy.php | 4 ++-- app/Models/Dataset.php | 2 +- app/Rules/RdrFilesize.php | 3 ++- database/seeders/CollectionsTableSeeder.php | 2 +- database/seeders/LanguagesTableSeeder.php | 2 +- database/seeders/MessagesTableSeeder.php | 2 +- database/seeders/MimetypeTableSeeder.php | 2 +- database/seeders/ProjectsTableSeeder.php | 2 +- database/seeders/RolesTableSeeder.php | 2 +- resources/views/settings/document/_form.blade.php | 2 +- resources/views/workflow/review/index.blade.php | 2 +- 16 files changed, 18 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/Oai/RequestController.php b/app/Http/Controllers/Oai/RequestController.php index 759a980..329ee0a 100644 --- a/app/Http/Controllers/Oai/RequestController.php +++ b/app/Http/Controllers/Oai/RequestController.php @@ -13,7 +13,7 @@ use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use \Exception; -// use Carbon\Carbon; +// use Illuminate\Support\Carbon; use \Illuminate\Support\Carbon; class RequestController extends Controller diff --git a/app/Http/Controllers/Publish/EditorController.php b/app/Http/Controllers/Publish/EditorController.php index 9991c77..937599f 100644 --- a/app/Http/Controllers/Publish/EditorController.php +++ b/app/Http/Controllers/Publish/EditorController.php @@ -18,7 +18,7 @@ use App\Models\User; use App\Rules\RdrFilesize; use App\Rules\RdrFiletypes; // use Illuminate\View\View; -use Carbon\Carbon; +use Illuminate\Support\Carbon; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; diff --git a/app/Http/Controllers/Publish/ReviewController.php b/app/Http/Controllers/Publish/ReviewController.php index 53f0276..102d40f 100644 --- a/app/Http/Controllers/Publish/ReviewController.php +++ b/app/Http/Controllers/Publish/ReviewController.php @@ -82,7 +82,7 @@ class ReviewController extends Controller $fieldval = $fieldValue->{$property_name}; $value = $value . $fieldName . ": " . $fieldval . "; "; } - } elseif ($fieldValue instanceof \Carbon\Carbon) { + } elseif ($fieldValue instanceof \Illuminate\Support\Carbon) { $value = $value . " Year " . $fieldValue->year; $value = $value . " Month " . $fieldValue->month; $value = $value . " Day " . $fieldValue->day; diff --git a/app/Library/Util/SearchResultMatch.php b/app/Library/Util/SearchResultMatch.php index 581da6e..813cf7e 100644 --- a/app/Library/Util/SearchResultMatch.php +++ b/app/Library/Util/SearchResultMatch.php @@ -1,7 +1,7 @@ _mapModelAttributes($value, $dom, $childNode); - } elseif ($value instanceof \Carbon\Carbon) { + } elseif ($value instanceof \Illuminate\Support\Carbon) { $this->_mapDateAttributes($value, $dom, $childNode); } elseif (is_array($value)) { $this->_mapArrayAttributes($value, $dom, $childNode); @@ -181,7 +181,7 @@ class Strategy return $dom->createElement($fieldName); } - protected function _mapDateAttributes(\Carbon\Carbon $model, DOMDocument $dom, \DOMNode $rootNode) + protected function _mapDateAttributes(\Illuminate\Support\Carbon $model, DOMDocument $dom, \DOMNode $rootNode) { $rootNode->setAttribute("Year", $model->year); $rootNode->setAttribute("Month", $model->month); diff --git a/app/Models/Dataset.php b/app/Models/Dataset.php index 7926acf..4272ed7 100644 --- a/app/Models/Dataset.php +++ b/app/Models/Dataset.php @@ -15,7 +15,7 @@ use App\Models\Title; use App\Models\User; use App\Models\XmlCache; use App\Models\DatasetIdentifier; -use Carbon\Carbon; +use Illuminate\Support\Carbon; // use App\Models\GeolocationBox; use Illuminate\Database\Eloquent\Model; diff --git a/app/Rules/RdrFilesize.php b/app/Rules/RdrFilesize.php index 4d0ad75..4d710fa 100644 --- a/app/Rules/RdrFilesize.php +++ b/app/Rules/RdrFilesize.php @@ -2,6 +2,7 @@ namespace App\Rules; +use Illuminate\Support\Arr; use Illuminate\Contracts\Validation\Rule; use Illuminate\Support\Facades\Config; @@ -102,7 +103,7 @@ class RdrFilesize implements Rule private function getSize($attribute, $value) { if (is_numeric($value) && $hasNumeric) { - return array_get($this->data, $attribute); + return Arr::get($this->data, $attribute); } elseif (is_array($value)) { return count($value); } elseif ($value instanceof File) { diff --git a/database/seeders/CollectionsTableSeeder.php b/database/seeders/CollectionsTableSeeder.php index 1c2332a..65bb26b 100644 --- a/database/seeders/CollectionsTableSeeder.php +++ b/database/seeders/CollectionsTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -// use Carbon\Carbon; +// use Illuminate\Support\Carbon; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; diff --git a/database/seeders/LanguagesTableSeeder.php b/database/seeders/LanguagesTableSeeder.php index 686bb81..ba3fca1 100644 --- a/database/seeders/LanguagesTableSeeder.php +++ b/database/seeders/LanguagesTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -// use Carbon\Carbon; +// use Illuminate\Support\Carbon; // use Database\DisableForeignKeys; // use Database\TruncateTable; use Illuminate\Database\Seeder; diff --git a/database/seeders/MessagesTableSeeder.php b/database/seeders/MessagesTableSeeder.php index 881f81f..81e16af 100644 --- a/database/seeders/MessagesTableSeeder.php +++ b/database/seeders/MessagesTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Carbon\Carbon; +use Illuminate\Support\Carbon; // use Database\DisableForeignKeys; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; diff --git a/database/seeders/MimetypeTableSeeder.php b/database/seeders/MimetypeTableSeeder.php index cbe1f1c..7c9b0fc 100644 --- a/database/seeders/MimetypeTableSeeder.php +++ b/database/seeders/MimetypeTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Carbon\Carbon; +use Illuminate\Support\Carbon; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; diff --git a/database/seeders/ProjectsTableSeeder.php b/database/seeders/ProjectsTableSeeder.php index 0b29150..4566169 100644 --- a/database/seeders/ProjectsTableSeeder.php +++ b/database/seeders/ProjectsTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Carbon\Carbon; +use Illuminate\Support\Carbon; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; diff --git a/database/seeders/RolesTableSeeder.php b/database/seeders/RolesTableSeeder.php index 512fed6..991ff41 100644 --- a/database/seeders/RolesTableSeeder.php +++ b/database/seeders/RolesTableSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Carbon\Carbon; +use Illuminate\Support\Carbon; // use Database\DisableForeignKeys; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; diff --git a/resources/views/settings/document/_form.blade.php b/resources/views/settings/document/_form.blade.php index 69b01d9..d632bb5 100644 --- a/resources/views/settings/document/_form.blade.php +++ b/resources/views/settings/document/_form.blade.php @@ -93,7 +93,7 @@ {{--
{!! Form::label('licenses[]', 'Licenses..') !!} - {!! Form::select('licenses[]', $options, array_pluck($document->licenses, 'id'), ['multiple' ]) !!} + {!! Form::select('licenses[]', $options, Arr::pluck($document->licenses, 'id'), ['multiple' ]) !!}
--}}
diff --git a/resources/views/workflow/review/index.blade.php b/resources/views/workflow/review/index.blade.php index ff10199..bb8bcfd 100644 --- a/resources/views/workflow/review/index.blade.php +++ b/resources/views/workflow/review/index.blade.php @@ -48,7 +48,7 @@ {{-- @php $dateDiff = $dataset['server_date_modified']->addDays(14); - $remainingDays = Carbon\Carbon::now()->diffInDays($dateDiff, false); + $remainingDays = Illuminate\Support\Carbon::now()->diffInDays($dateDiff, false); @endphp --}} {{ $dataset->remaining_time . ' days' }}