File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/ErpCustomItemsController.php
<?php
namespace App\Http\Controllers;
use App\Erp;
use App\ErpCustomItem;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ErpCustomItemsController extends ERPBaseController
{
public function index()
{
$erpCustomItems = ErpCustomItem::with('erp')->get();
return view('erp.custom_items.list', compact('erpCustomItems'));
}
public function indexAdd()
{
$erps = Erp::where('active', true)->get();
$modules = $this->origins;
return view('erp.custom_items.create', compact('erps', 'modules'));
}
public function indexEdit($id)
{
$object = ErpCustomItem::findOrFail($id);
$erps = Erp::where('active', true)->get();
$modules = $this->origins;
return view('erp.custom_items.edit', compact('object', 'erps', 'modules'));
}
public function create(Request $request)
{
try {
$request['labels'] = $request->labels ? implode(', ', $request->labels) : null;
$request['modules'] = implode(',', $request->modules);
if ($model = ErpCustomItem::create($request->all())) {
$this->registerLog(
Auth::user()->id,
'Crear item personalizado ERP',
json_encode($request->all()),
"Create",
$this->getModule($request)
);
return response(array("r" => true, "type" => "success", "title" => "", "m" => __('messages.created_successfully'), "data" => $model->id));
} else {
return response(array("r" => false, "type" => "error", "title" => "Oops...", "m" => __('messages.error_creating'), "data" => null));
}
} catch (\Exception $e) {
return response(
array(
"r" => false,
"type" => "error",
"title" => "Oops...",
"m" => __($e->getMessage()),
"data" => null
)
);
}
}
public function activate(Request $request)
{
try {
$id = $request['id'];
$state = $request['state'];
$obj = ErpCustomItem::find($id);
$obj->active = $state;
$obj->update();
$this->registerLog(
Auth::user()->id,
'Activar item personalizado ERP',
json_encode($obj),
"Update",
$this->getModule($request)
);
return array('r' => true, 'd' => null, 'm' => __('messages.updated_successfully'));
} catch (\Throwable $th) {
return array('r' => false, 'd' => null, 'm' => __('messages.error_updating'));
}
}
public function update(Request $request, $id)
{
try {
$request['labels'] = $request->labels ? implode(', ', $request->labels) : null;
$request['modules'] = implode(',', $request->modules);
if (ErpCustomItem::where('id', $id)->update($request->all())) {
$this->registerLog(
Auth::user()->id,
'Editar item personalizado ERP',
json_encode($request->all()),
"Update",
$this->getModule($request)
);
return response(array(
"r" => true,
"type" => "success",
"title" => "",
"m" => __('messages.updated_successfully'),
"data" => $id
));
} else {
return response(array(
"r" => false,
"type" =>
"error",
"title" => "Oops...",
"m" => __('messages.error_updating'),
"data" => null
));
}
} catch (\Exception $e) {
return response(
array(
"r" => false,
"type" => "error",
"title" => "Oops...",
"m" => __($e->getMessage()),
"data" => null
)
);
}
}
public function delete(Request $request, $id)
{
try {
$experience = ErpCustomItem::find($id);
if (ErpCustomItem::where('id', $id)->delete()) {
$this->registerLog(
Auth::user()->id,
'Eliminar item personalizado ERP',
json_encode($experience),
"Delete",
$this->getModule($request)
);
return response(array("r" => true, "type" => "success", "title" => "", "m" => __('messages.deleted_successfully'), "data" => null));
} else {
return response(array("r" => false, "type" => "error", "title" => "Oops...", "m" => __('messages.error_removing'), "data" => null));
}
} catch (\Illuminate\Database\QueryException $e) {
return response(array("r" => false, "type" => "error", "title" => "Oops...", "m" => __('messages.delete_relation_data'), "data" => null));
}
}
}