diff --git a/app/Http/Controllers/Common/Reports.php b/app/Http/Controllers/Common/Reports.php index 3287754fb..e35b4ca27 100644 --- a/app/Http/Controllers/Common/Reports.php +++ b/app/Http/Controllers/Common/Reports.php @@ -22,7 +22,7 @@ class Reports extends Controller { $totals = $icons = $categories = []; - $reports = Report::all(); + $reports = Report::orderBy('name')->get(); foreach ($reports as $report) { if (!Utility::canRead($report->class)) { @@ -103,6 +103,24 @@ class Reports extends Controller return response()->json($response); } + /** + * Duplicate the specified resource. + * + * @param Report $report + * + * @return Response + */ + public function duplicate(Report $report) + { + $clone = $report->duplicate(); + + $message = trans('messages.success.duplicated', ['type' => trans_choice('general.reports', 1)]); + + flash($message)->success(); + + return redirect()->route('reports.edit', $clone->id); + } + /** * Show the form for editing the specified resource. * diff --git a/app/Models/Common/Report.php b/app/Models/Common/Report.php index ff3a7dead..ff11eda23 100644 --- a/app/Models/Common/Report.php +++ b/app/Models/Common/Report.php @@ -3,9 +3,12 @@ namespace App\Models\Common; use App\Abstracts\Model; +use Bkwld\Cloner\Cloneable; class Report extends Model { + use Cloneable; + protected $table = 'reports'; /** diff --git a/resources/views/common/items/index.blade.php b/resources/views/common/items/index.blade.php index 6f645f1f2..d95e556af 100644 --- a/resources/views/common/items/index.blade.php +++ b/resources/views/common/items/index.blade.php @@ -82,8 +82,8 @@