Init(Core): Change repo
This commit is contained in:
125
app/Http/Controllers/Admin/ArtController.php
Normal file
125
app/Http/Controllers/Admin/ArtController.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Art;
|
||||
use App\Models\Book;
|
||||
use App\Models\Branch;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Division;
|
||||
use App\Models\Gate;
|
||||
use App\Models\Law;
|
||||
use App\Models\Part;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ArtController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Art::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('title', 'like', "%{$q}%")->orWhere('text', 'like', "%{$q}%");
|
||||
});
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$arts = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.art.index', compact('arts'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$parts = Part::all();
|
||||
$gates = Gate::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
$branches = Branch::all();
|
||||
|
||||
return view('admin.art.create', compact('chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','branches','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'text' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'part_id' => 'nullable',
|
||||
'gate_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'required',
|
||||
'division_id' => 'nullable',
|
||||
'branch_id' => 'nullable',
|
||||
'is_free' => 'nullable'
|
||||
]);
|
||||
|
||||
$validated['is_free'] = $request->input('is_free') ? true : false;
|
||||
|
||||
art::query()->create($validated);
|
||||
|
||||
return redirect(route('art.index'));
|
||||
}
|
||||
|
||||
public function edit(art $art)
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$parts = Part::all();
|
||||
$gates = Gate::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
$branches = Branch::all();
|
||||
|
||||
|
||||
return view('admin.art.update', compact('art', 'chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','branches','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Art $art)
|
||||
{
|
||||
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'text' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'part_id' => 'nullable',
|
||||
'gate_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'required',
|
||||
'division_id' => 'nullable',
|
||||
'branch_id' => 'nullable',
|
||||
'is_free' => 'nullable'
|
||||
]);
|
||||
|
||||
$validated['is_free'] = $request->input('is_free') ? true : false;
|
||||
|
||||
$art->update($validated);
|
||||
|
||||
return redirect(route('art.edit',$art->id));
|
||||
}
|
||||
|
||||
public function destroy(Art $art)
|
||||
{
|
||||
$art->delete();
|
||||
|
||||
return redirect(route('art.index'));
|
||||
}
|
||||
}
|
||||
77
app/Http/Controllers/Admin/BookController.php
Normal file
77
app/Http/Controllers/Admin/BookController.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Law;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class BookController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Book::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$books = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.book.index', compact('books'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.book.create', compact('volums', 'laws'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'nullable',
|
||||
]);
|
||||
|
||||
book::query()->create($validated);
|
||||
|
||||
return redirect(route('book.index'));
|
||||
}
|
||||
|
||||
public function edit(Book $book)
|
||||
{
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.book.update', compact('book', 'volums', 'laws'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Book $book)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'nullable',
|
||||
]);
|
||||
|
||||
$book->update($validated);
|
||||
|
||||
return redirect(route('book.index'));
|
||||
}
|
||||
|
||||
public function destroy(Book $book)
|
||||
{
|
||||
$book->delete();
|
||||
|
||||
return redirect(route('book.index'));
|
||||
}
|
||||
}
|
||||
108
app/Http/Controllers/Admin/BranchController.php
Normal file
108
app/Http/Controllers/Admin/BranchController.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Branch;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Division;
|
||||
use App\Models\Gate;
|
||||
use App\Models\Law;
|
||||
use App\Models\Part;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class BranchController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Branch::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$branchs = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.branch.index', compact('branchs'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$parts = Part::all();
|
||||
$gates = Gate::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.branch.create', compact('chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'part_id' => 'nullable',
|
||||
'gate_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'required',
|
||||
'division' => 'nullable',
|
||||
]);
|
||||
|
||||
branch::query()->create($validated);
|
||||
|
||||
return redirect(route('branch.index'));
|
||||
}
|
||||
|
||||
public function edit(branch $branch)
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$parts = Part::all();
|
||||
$gates = Gate::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.branch.update', compact('branch', 'chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Branch $branch)
|
||||
{
|
||||
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'part_id' => 'nullable',
|
||||
'gate_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'required',
|
||||
'division_id' => 'nullable',
|
||||
]);
|
||||
|
||||
$branch->update($validated);
|
||||
|
||||
return redirect(route('branch.index'));
|
||||
}
|
||||
|
||||
public function destroy(Branch $branch)
|
||||
{
|
||||
$branch->delete();
|
||||
|
||||
return redirect(route('branch.index'));
|
||||
}
|
||||
}
|
||||
49
app/Http/Controllers/Admin/CategoriesController.php
Normal file
49
app/Http/Controllers/Admin/CategoriesController.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\admin\category\CreateCategoryRequest;
|
||||
use App\Http\Requests\admin\category\UpdateCategoryRequest;
|
||||
use App\Models\Category;
|
||||
|
||||
class CategoriesController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$categories = Category::query()->select('id', 'name', 'label')->get();
|
||||
|
||||
return view('admin.categories.index', compact('categories'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.categories.create');
|
||||
}
|
||||
|
||||
public function store(CreateCategoryRequest $request)
|
||||
{
|
||||
Category::query()->create($request->validated());
|
||||
|
||||
return redirect(route('categories.index'));
|
||||
}
|
||||
|
||||
public function edit(Category $category)
|
||||
{
|
||||
return view('admin.categories.update', compact('category'));
|
||||
}
|
||||
|
||||
public function update(UpdateCategoryRequest $request, Category $category)
|
||||
{
|
||||
$category->update($request->validated());
|
||||
|
||||
return redirect(route('categories.index'));
|
||||
}
|
||||
|
||||
public function destroy(Category $category)
|
||||
{
|
||||
$category->delete();
|
||||
|
||||
return back();
|
||||
}
|
||||
}
|
||||
69
app/Http/Controllers/Admin/CategoryController.php
Normal file
69
app/Http/Controllers/Admin/CategoryController.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Category;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Category::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('name', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
if ($request->filled('type')) {
|
||||
$query->where('type', $request->type);
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$categories = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.categories.index', compact('categories'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.categories.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'name' => 'required',
|
||||
'type' => 'required'
|
||||
]);
|
||||
|
||||
|
||||
Category::create($validated);
|
||||
|
||||
return redirect(route('categories.index'));
|
||||
}
|
||||
|
||||
public function edit(Category $category)
|
||||
{
|
||||
return view('admin.categories.update',compact('category'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Category $category)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'name' => 'required',
|
||||
'type' => 'required'
|
||||
]);
|
||||
|
||||
$category->update($validated);
|
||||
|
||||
return redirect(route('categories.index'));
|
||||
}
|
||||
|
||||
public function destroy(Category $category)
|
||||
{
|
||||
$category->delete();
|
||||
|
||||
return redirect(route('categories.index'));
|
||||
}
|
||||
}
|
||||
92
app/Http/Controllers/Admin/ChapterController.php
Normal file
92
app/Http/Controllers/Admin/ChapterController.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Division;
|
||||
use App\Models\Law;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ChapterController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Chapter::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$chapters = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.chapter.index', compact('chapters'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.chapter.create', compact('sections', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
Chapter::query()->create($validated);
|
||||
|
||||
return redirect(route('chapter.index'));
|
||||
}
|
||||
|
||||
public function edit(Chapter $chapter)
|
||||
{
|
||||
$sections = Section::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.chapter.update', compact('sections', 'chapter', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Chapter $chapter)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
$chapter->update($validated);
|
||||
|
||||
return redirect(route('chapter.index'));
|
||||
}
|
||||
|
||||
public function destroy(Chapter $chapter)
|
||||
{
|
||||
$chapter->delete();
|
||||
|
||||
return redirect(route('chapter.index'));
|
||||
}
|
||||
}
|
||||
83
app/Http/Controllers/Admin/DivisionController.php
Normal file
83
app/Http/Controllers/Admin/DivisionController.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Division;
|
||||
use App\Models\Law;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DivisionController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Division::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$divisions = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.division.index', compact('divisions'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.division.create', compact('books', 'volums', 'laws'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'required',
|
||||
]);
|
||||
|
||||
division::query()->create($validated);
|
||||
|
||||
return redirect(route('division.index'));
|
||||
}
|
||||
|
||||
public function edit(division $division)
|
||||
{
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.division.update', compact('division','books', 'volums', 'laws'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Division $division)
|
||||
{
|
||||
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'required',
|
||||
'law_id' => 'required',
|
||||
]);
|
||||
|
||||
$division->update($validated);
|
||||
|
||||
return redirect(route('division.index'));
|
||||
}
|
||||
|
||||
public function destroy(Division $division)
|
||||
{
|
||||
$division->delete();
|
||||
|
||||
return redirect(route('division.index'));
|
||||
}
|
||||
}
|
||||
92
app/Http/Controllers/Admin/GateController.php
Normal file
92
app/Http/Controllers/Admin/GateController.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Division;
|
||||
use App\Models\Gate;
|
||||
use App\Models\Law;
|
||||
use App\Models\Part;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class GateController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Gate::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$gates = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.gate.index', compact('gates'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$parts = Part::all();
|
||||
$chapters = Chapter::all();
|
||||
$sections = Section::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.gate.create', compact('parts', 'chapters', 'sections', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'part_id' => 'nullable',
|
||||
'division_id' => 'nullable',
|
||||
]);
|
||||
|
||||
Gate::query()->create($validated);
|
||||
|
||||
return redirect(route('gate.index'));
|
||||
}
|
||||
|
||||
public function edit(Gate $gate)
|
||||
{
|
||||
$parts = Part::all();
|
||||
$chapters = Chapter::all();
|
||||
$sections = Section::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.gate.update', compact('gate', 'parts', 'chapters', 'sections', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Gate $gate)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'part_id' => 'nullable',
|
||||
'division_id' => 'nullable',
|
||||
]);
|
||||
|
||||
$gate->update($validated);
|
||||
|
||||
return redirect(route('gate.index'));
|
||||
}
|
||||
|
||||
public function destroy(Gate $gate)
|
||||
{
|
||||
$gate->delete();
|
||||
|
||||
return redirect(route('gate.index'));
|
||||
}
|
||||
}
|
||||
13
app/Http/Controllers/Admin/HomeController.php
Normal file
13
app/Http/Controllers/Admin/HomeController.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
return view('admin.dashboard');
|
||||
}
|
||||
}
|
||||
96
app/Http/Controllers/Admin/JudicialPrecedentController.php
Normal file
96
app/Http/Controllers/Admin/JudicialPrecedentController.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Art;
|
||||
use App\Models\JudicialPrecedent;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class JudicialPrecedentController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = JudicialPrecedent::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('ruling_number', 'like', "%{$q}%")
|
||||
->orWhere('subject', 'like', "%{$q}%")
|
||||
->orWhere('full_text', 'like', "%{$q}%");
|
||||
});
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$judicialPrecedents = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.judicial-precedent.index', compact('judicialPrecedents'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$arts = Art::all();
|
||||
return view('admin.judicial-precedent.create', compact('arts'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'ruling_number' => 'required|unique:judicial_precedents,ruling_number',
|
||||
'ruling_date' => 'required|date',
|
||||
'subject' => 'required|string',
|
||||
'full_text' => 'required|string',
|
||||
'issuing_authority' => 'nullable|string',
|
||||
'art_ids' => 'nullable|array',
|
||||
'art_ids.*' => 'exists:arts,id'
|
||||
]);
|
||||
|
||||
$judicialPrecedent = JudicialPrecedent::create([
|
||||
'ruling_number' => $validated['ruling_number'],
|
||||
'ruling_date' => $validated['ruling_date'],
|
||||
'subject' => $validated['subject'],
|
||||
'full_text' => $validated['full_text'],
|
||||
'issuing_authority' => $validated['issuing_authority'] ?? 'هیأت عمومی دیوان عالی کشور'
|
||||
]);
|
||||
|
||||
if (!empty($validated['art_ids'])) {
|
||||
$judicialPrecedent->arts()->attach($validated['art_ids']);
|
||||
}
|
||||
|
||||
return redirect(route('judicial-precedent.index'));
|
||||
}
|
||||
|
||||
public function edit(JudicialPrecedent $judicialPrecedent)
|
||||
{
|
||||
$arts = Art::all();
|
||||
$selectedArtIds = $judicialPrecedent->arts->pluck('id')->toArray();
|
||||
|
||||
return view('admin.judicial-precedent.update', compact('judicialPrecedent', 'arts', 'selectedArtIds'));
|
||||
}
|
||||
|
||||
public function update(Request $request, JudicialPrecedent $judicialPrecedent)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'ruling_number' => 'required|unique:judicial_precedents,ruling_number,' . $judicialPrecedent->id,
|
||||
'ruling_date' => 'required|date',
|
||||
'subject' => 'required|string',
|
||||
'full_text' => 'required|string',
|
||||
'issuing_authority' => 'nullable|string',
|
||||
'art_ids' => 'nullable|array',
|
||||
'art_ids.*' => 'exists:arts,id'
|
||||
]);
|
||||
|
||||
$judicialPrecedent->update($validated);
|
||||
|
||||
$judicialPrecedent->arts()->sync($validated['art_ids'] ?? []);
|
||||
|
||||
return redirect(route('judicial-precedent.edit', $judicialPrecedent->id));
|
||||
}
|
||||
|
||||
public function destroy(JudicialPrecedent $judicialPrecedent)
|
||||
{
|
||||
$judicialPrecedent->delete();
|
||||
return redirect(route('judicial-precedent.index'));
|
||||
}
|
||||
}
|
||||
99
app/Http/Controllers/Admin/LawController.php
Normal file
99
app/Http/Controllers/Admin/LawController.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Category;
|
||||
use App\Models\Law;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class LawController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Law::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
if ($request->filled('locked')) {
|
||||
$query->where('is_locked', $request->locked === '1');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$laws = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.law.index', compact('laws'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$categories = Category::all();
|
||||
|
||||
return view('admin.law.create', compact('categories'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required|string|max:255',
|
||||
'is_locked' => 'nullable',
|
||||
'category_id' => 'nullable|integer|exists:categories,id',
|
||||
'price' => 'nullable|numeric',
|
||||
'image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
]);
|
||||
|
||||
$validated['is_locked'] = $request->has('is_locked', false);
|
||||
|
||||
if ($request->hasFile('image') && $request->file('image')->isValid()) {
|
||||
dd($request->has('image'));
|
||||
$imageName = uniqid('image_', true) . '.' . $request->file('image')->getClientOriginalExtension();
|
||||
|
||||
$request->file('image')->move(public_path('images'), $imageName);
|
||||
|
||||
$validated['image'] = $imageName;
|
||||
}
|
||||
|
||||
Law::create($validated);
|
||||
|
||||
return redirect()->route('law.index')->with('success', 'Law created successfully.');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function edit(Law $law)
|
||||
{
|
||||
$categories = Category::all();
|
||||
return view('admin.law.update', compact('law', 'categories'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Law $law)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required|string|max:255',
|
||||
'is_locked' => 'sometimes',
|
||||
'category_id' => 'nullable|integer',
|
||||
'price' => 'nullable|numeric',
|
||||
'image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
]);
|
||||
|
||||
$validated['is_locked'] = $request->boolean('is_locked');
|
||||
|
||||
if ($request->hasFile('image') && $request->file('image')->isValid()) {
|
||||
$imageName = uniqid('image_', true) . '.' . $request->file('image')->getClientOriginalExtension();
|
||||
$request->file('image')->move(public_path('images'), $imageName);
|
||||
$validated['image'] = $imageName;
|
||||
}
|
||||
|
||||
$law->update($validated);
|
||||
|
||||
return redirect()->route('law.index');
|
||||
}
|
||||
|
||||
public function destroy(Law $law)
|
||||
{
|
||||
$law->delete();
|
||||
|
||||
return redirect(route('law.index'));
|
||||
}
|
||||
}
|
||||
58
app/Http/Controllers/Admin/NotificationController.php
Normal file
58
app/Http/Controllers/Admin/NotificationController.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\admin\Notification\StoreRequest;
|
||||
use App\Http\Requests\admin\Notification\UpdateRequest;
|
||||
use App\Models\Notification;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class NotificationController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Notification::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('title', 'like', "%{$q}%")
|
||||
->orWhere('description', 'like', "%{$q}%");
|
||||
});
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$notifications = $query->latest()->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.notifications.index', compact('notifications'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.notifications.create');
|
||||
}
|
||||
|
||||
public function store(StoreRequest $request)
|
||||
{
|
||||
Notification::create($request->validated());
|
||||
return redirect()->route('notifications.index');
|
||||
}
|
||||
|
||||
public function edit(Notification $notification)
|
||||
{
|
||||
return view('admin.notifications.update', compact('notification'));
|
||||
}
|
||||
|
||||
public function update(UpdateRequest $request, Notification $notification)
|
||||
{
|
||||
$notification->update($request->validated());
|
||||
return redirect()->route('notifications.index');
|
||||
}
|
||||
|
||||
public function destroy(Notification $notification)
|
||||
{
|
||||
$notification->delete();
|
||||
return redirect()->route('notifications.index');
|
||||
}
|
||||
}
|
||||
97
app/Http/Controllers/Admin/PartController.php
Normal file
97
app/Http/Controllers/Admin/PartController.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Division;
|
||||
use App\Models\Law;
|
||||
use App\Models\Part;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PartController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Part::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$parts = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.part.index', compact('parts'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$sections = Section::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.part.create', compact('chapters', 'sections', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
Part::query()->create($validated);
|
||||
|
||||
return redirect(route('part.index'));
|
||||
}
|
||||
|
||||
public function edit(Part $part)
|
||||
{
|
||||
$chapters = Chapter::all();
|
||||
$sections = Section::all();
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.part.update', compact('part', 'chapters', 'sections', 'books', 'volums', 'laws','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Part $part)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'chapter_id' => 'nullable',
|
||||
'section_id' => 'nullable',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
$part->update($validated);
|
||||
|
||||
return redirect(route('part.index'));
|
||||
}
|
||||
|
||||
public function destroy(Part $part)
|
||||
{
|
||||
$part->delete();
|
||||
|
||||
return redirect(route('part.index'));
|
||||
}
|
||||
}
|
||||
89
app/Http/Controllers/Admin/SectionController.php
Normal file
89
app/Http/Controllers/Admin/SectionController.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Book;
|
||||
use App\Models\Division;
|
||||
use App\Models\Law;
|
||||
use App\Models\Section;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SectionController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Section::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$sections = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.section.index', compact('sections'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.section.create', compact('books', 'volums', 'laws','sections','divisions'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
section::query()->create($validated);
|
||||
|
||||
return redirect(route('section.index'));
|
||||
}
|
||||
|
||||
public function edit(Section $section)
|
||||
{
|
||||
$books = Book::all();
|
||||
$volums = Volum::all();
|
||||
$laws = Law::all();
|
||||
$sections = Section::all();
|
||||
$divisions = Division::all();
|
||||
|
||||
return view('admin.section.update', compact('section', 'books', 'volums', 'laws','sections','divisions'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Section $section)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'book_id' => 'nullable',
|
||||
'volum_id' => 'nullable',
|
||||
'law_id' => 'nullable',
|
||||
'division_id' => 'nullable'
|
||||
]);
|
||||
|
||||
$section->update($validated);
|
||||
|
||||
return redirect(route('section.index'));
|
||||
}
|
||||
|
||||
public function destroy(Section $section)
|
||||
{
|
||||
$section->delete();
|
||||
|
||||
return redirect(route('section.index'));
|
||||
}
|
||||
}
|
||||
64
app/Http/Controllers/Admin/SubscribePlanController.php
Normal file
64
app/Http/Controllers/Admin/SubscribePlanController.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\admin\SubscribePlan\CreateRequest;
|
||||
use App\Http\Requests\admin\SubscribePlan\UpdateRequest;
|
||||
use App\Models\SubscribePlan;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SubscribePlanController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = SubscribePlan::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where('name', 'like', "%{$q}%");
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$subscribePlans = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.subscribe-plans.index', compact('subscribePlans'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.subscribe-plans.create');
|
||||
}
|
||||
|
||||
public function store(CreateRequest $request)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
$validated['is_active'] = $request->has('is_active');
|
||||
$validated['is_free'] = $request->has('is_free');
|
||||
|
||||
SubscribePlan::create($validated);
|
||||
return redirect()->route('subscribe-plans.index');
|
||||
}
|
||||
|
||||
|
||||
public function edit(SubscribePlan $subscribePlan)
|
||||
{
|
||||
return view('admin.subscribe-plans.update', compact('subscribePlan'));
|
||||
}
|
||||
|
||||
public function update(UpdateRequest $request, SubscribePlan $subscribePlan)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
$validated['is_active'] = $request->has('is_active');
|
||||
$validated['is_free'] = $request->has('is_free');
|
||||
|
||||
$subscribePlan->update($validated);
|
||||
return redirect()->route('subscribe-plans.index');
|
||||
}
|
||||
|
||||
public function destroy(SubscribePlan $subscribePlan)
|
||||
{
|
||||
$subscribePlan->delete();
|
||||
return redirect()->route('subscribe-plans.index');
|
||||
}
|
||||
}
|
||||
28
app/Http/Controllers/Admin/SuggestionController.php
Normal file
28
app/Http/Controllers/Admin/SuggestionController.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Suggestion;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SuggestionController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Suggestion::query()->with('user');
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('text', 'like', "%{$q}%")
|
||||
->orWhereHas('user', fn ($u) => $u->where('mobile', 'like', "%{$q}%"));
|
||||
});
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$suggestions = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.suggestions.index', compact('suggestions'));
|
||||
}
|
||||
}
|
||||
74
app/Http/Controllers/Admin/UsersController.php
Normal file
74
app/Http/Controllers/Admin/UsersController.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\admin\user\CreateUserRequest;
|
||||
use App\Http\Requests\admin\user\UpdateUserRequest;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class UsersController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = User::select('id', 'name', 'email', 'mobile', 'is_admin')
|
||||
->with(['userSubscribers' => function ($q) {
|
||||
$q->where('expired_at', '>=', now());
|
||||
}]);
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('name', 'like', "%{$q}%")
|
||||
->orWhere('email', 'like', "%{$q}%")
|
||||
->orWhere('mobile', 'like', "%{$q}%");
|
||||
});
|
||||
}
|
||||
if ($request->filled('type') && in_array($request->type, ['0', '1'])) {
|
||||
$query->where('is_admin', (bool) $request->type);
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$users = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.users.index', compact('users'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.users.create');
|
||||
}
|
||||
|
||||
public function store(CreateUserRequest $request)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
$validated['password'] = Hash::make(fake()->password);
|
||||
$validated['is_admin'] = $validated['is_admin'] == 'on' ? true : false;
|
||||
User::query()->create($validated);
|
||||
|
||||
return redirect(route('users.index'));
|
||||
}
|
||||
|
||||
public function edit(User $user)
|
||||
{
|
||||
return view('admin.users.update', compact('user'));
|
||||
}
|
||||
|
||||
public function update(UpdateUserRequest $request, User $user)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
$validated['is_admin'] = $validated['is_admin'] == 'on' ? true : false;
|
||||
$user->update($validated);
|
||||
|
||||
return redirect(route('users.index'));
|
||||
}
|
||||
|
||||
public function destroy(User $user)
|
||||
{
|
||||
$user->delete();
|
||||
|
||||
return back();
|
||||
}
|
||||
}
|
||||
67
app/Http/Controllers/Admin/VersionController.php
Normal file
67
app/Http/Controllers/Admin/VersionController.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\admin\CreateVersionStore;
|
||||
use App\Http\Requests\admin\UpdateVersionStore;
|
||||
use App\Models\Version;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class VersionController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Version::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$q = $request->q;
|
||||
$query->where(function ($qry) use ($q) {
|
||||
$qry->where('code', 'like', "%{$q}%")
|
||||
->orWhere('number', 'like', "%{$q}%")
|
||||
->orWhere('type', 'like', "%{$q}%");
|
||||
});
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$versions = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.versions.index', compact('versions'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.versions.create');
|
||||
}
|
||||
|
||||
public function store(CreateVersionStore $request)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
if (isset($validated['force_update'])) {
|
||||
$validated['force_update'] = $validated['force_update'] == 'on' ? 1 : 0;
|
||||
}
|
||||
Version::create($validated);
|
||||
return redirect(route('versions.index'));
|
||||
}
|
||||
|
||||
public function edit(Version $version)
|
||||
{
|
||||
return view('admin.versions.update', compact('version'));
|
||||
}
|
||||
|
||||
public function update(UpdateVersionStore $request, Version $version)
|
||||
{
|
||||
$validated = $request->validated();
|
||||
if (isset($validated['force_update'])) {
|
||||
$validated['force_update'] = $validated['force_update'] == 'on' ? 1 : 0;
|
||||
}
|
||||
$version->update($validated);
|
||||
return redirect(route('versions.index'));
|
||||
}
|
||||
|
||||
public function destroy(Version $version)
|
||||
{
|
||||
$version->delete();
|
||||
return redirect(route('versions.index'));
|
||||
}
|
||||
}
|
||||
72
app/Http/Controllers/Admin/VolumController.php
Normal file
72
app/Http/Controllers/Admin/VolumController.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Law;
|
||||
use App\Models\Volum;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class VolumController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Volum::query();
|
||||
|
||||
if ($request->filled('q')) {
|
||||
$query->where('title', 'like', '%' . $request->q . '%');
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
$volums = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
return view('admin.volum.index', compact('volums'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.volum.create', compact('laws'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'law_id' => 'required',
|
||||
]);
|
||||
|
||||
volum::query()->create($validated);
|
||||
|
||||
return redirect(route('volum.index'));
|
||||
}
|
||||
|
||||
public function edit(Volum $volum)
|
||||
{
|
||||
$laws = Law::all();
|
||||
|
||||
return view('admin.volum.update', compact('volum', 'laws'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Volum $volum)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'title' => 'required',
|
||||
'number' => 'required',
|
||||
'law_id' => 'required',
|
||||
]);
|
||||
|
||||
$volum->update($validated);
|
||||
|
||||
return redirect(route('volum.index'));
|
||||
}
|
||||
|
||||
public function destroy(Volum $volum)
|
||||
{
|
||||
$volum->delete();
|
||||
|
||||
return redirect(route('volum.index'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user