Appzcoder\LaravelAdmin\Controllers\ProcessController::postGenerator PHP Method

postGenerator() public method

Process generator.
public postGenerator ( Illuminate\Http\Request $request ) : Response
$request Illuminate\Http\Request
return Response
    public function postGenerator(Request $request)
    {
        $commandArg = [];
        $commandArg['name'] = $request->crud_name;
        if ($request->has('fields')) {
            $fieldsArray = [];
            $validationsArray = [];
            $x = 0;
            foreach ($request->fields as $field) {
                if ($request->fields_required[$x] == 1) {
                    $validationsArray[] = $field;
                }
                $fieldsArray[] = $field . '#' . $request->fields_type[$x];
                $x++;
            }
            $commandArg['--fields'] = implode(";", $fieldsArray);
        }
        if (!empty($validationsArray)) {
            $commandArg['--validations'] = implode("#required;", $validationsArray) . "#required";
        }
        if ($request->has('route')) {
            $commandArg['--route'] = $request->route;
        }
        if ($request->has('view_path')) {
            $commandArg['--view-path'] = $request->view_path;
        }
        if ($request->has('controller_namespace')) {
            $commandArg['--controller-namespace'] = $request->controller_namespace;
        }
        if ($request->has('model_namespace')) {
            $commandArg['--model-namespace'] = $request->model_namespace;
        }
        if ($request->has('route_group')) {
            $commandArg['--route-group'] = $request->route_group;
        }
        try {
            Artisan::call('crud:generate', $commandArg);
            $menus = json_decode(File::get(base_path('resources/laravel-admin/menus.json')));
            $name = $commandArg['name'];
            $routeName = $commandArg['--route-group'] ? $commandArg['--route-group'] . '/' . snake_case($name, '-') : snake_case($name, '-');
            $menus->menus = array_map(function ($menu) use($name, $routeName) {
                if ($menu->section == 'Modules') {
                    array_push($menu->items, (object) ['title' => $name, 'url' => '/' . $routeName]);
                }
                return $menu;
            }, $menus->menus);
            File::put(base_path('resources/laravel-admin/menus.json'), json_encode($menus));
            Artisan::call('migrate');
        } catch (\Exception $e) {
            return Response::make($e->getMessage(), 500);
        }
        Session::flash('flash_message', 'Your CRUD has been generated. See on the menu.');
        return redirect('admin/generator');
    }