diff --git a/src/CrudSimpleMake.php b/src/CrudSimpleMake.php index 328b47e..35b3543 100644 --- a/src/CrudSimpleMake.php +++ b/src/CrudSimpleMake.php @@ -107,7 +107,7 @@ class CrudSimpleMake extends GeneratorCommand public function generateResources() { app('Luthfi\CrudGenerator\Generators\LangFileGenerator', ['command' => $this])->generate(); - app('Luthfi\CrudGenerator\Generators\FormViewGenerator', ['command' => $this])->generate(); + app('Luthfi\CrudGenerator\Generators\FormViewGenerator', ['command' => $this])->generate('simple'); app('Luthfi\CrudGenerator\Generators\IndexViewGenerator', ['command' => $this])->generate('simple'); } } diff --git a/src/Generators/FormViewGenerator.php b/src/Generators/FormViewGenerator.php index 776e2d7..4facdc4 100644 --- a/src/Generators/FormViewGenerator.php +++ b/src/Generators/FormViewGenerator.php @@ -14,7 +14,11 @@ class FormViewGenerator extends BaseGenerator { $viewPath = $this->makeDirectory(resource_path('views/'.$this->modelNames['table_name'])); - $this->generateFile($viewPath.'/forms.blade.php', $this->getContent('view-forms')); + if ($type == 'simple') { + $this->generateFile($viewPath.'/forms.blade.php', $this->getContent('view-forms')); + } else { + $this->generateFile($viewPath.'/create.blade.php', $this->getContent('view-create')); + } $this->command->info($this->modelNames['model_name'].' form view file generated.'); } diff --git a/src/stubs/view-create.stub b/src/stubs/view-create.stub new file mode 100644 index 0000000..0f724c4 --- /dev/null +++ b/src/stubs/view-create.stub @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('title', trans('master.create')) + +@section('content') +
+
+
+

{{ trans('master.create') }}

+ {!! Form::open(['route' => 'masters.store']) !!} +
+ {!! FormField::text('name', ['required' => true, 'label' => trans('master.name')]) !!} + {!! FormField::textarea('description', ['label' => trans('master.description')]) !!} +
+ + {!! Form::close() !!} +
+
+
+@endsection diff --git a/tests/Generators/ViewsGeneratorTest.php b/tests/Generators/ViewsGeneratorTest.php index 893eedb..4f366f8 100644 --- a/tests/Generators/ViewsGeneratorTest.php +++ b/tests/Generators/ViewsGeneratorTest.php @@ -77,69 +77,37 @@ class ViewsGeneratorTest extends TestCase } /** @test */ - public function it_creates_correct_forms_view_content() + public function it_creates_correct_create_view_content() { $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); - $formViewPath = resource_path("views/{$this->table_name}/forms.blade.php"); - $this->assertFileExists($formViewPath); - $formViewContent = "@if (Request::get('action') == 'create') -@can('create', new {$this->full_model_name}) - {!! Form::open(['route' => '{$this->table_name}.store']) !!} - {!! FormField::text('name', ['required' => true, 'label' => trans('{$this->lang_name}.name')]) !!} - {!! FormField::textarea('description', ['label' => trans('{$this->lang_name}.description')]) !!} - {!! Form::submit(trans('{$this->lang_name}.create'), ['class' => 'btn btn-success']) !!} - {{ link_to_route('{$this->table_name}.index', trans('app.cancel'), [], ['class' => 'btn btn-default']) }} - {!! Form::close() !!} -@endcan -@endif -@if (Request::get('action') == 'edit' && \$editable{$this->model_name}) -@can('update', \$editable{$this->model_name}) - {!! Form::model(\$editable{$this->model_name}, ['route' => ['{$this->table_name}.update', \$editable{$this->model_name}->id],'method' => 'patch']) !!} - {!! FormField::text('name', ['required' => true, 'label' => trans('{$this->lang_name}.name')]) !!} - {!! FormField::textarea('description', ['label' => trans('{$this->lang_name}.description')]) !!} - @if (request('q')) - {{ Form::hidden('q', request('q')) }} - @endif - @if (request('page')) - {{ Form::hidden('page', request('page')) }} - @endif - {!! Form::submit(trans('{$this->lang_name}.update'), ['class' => 'btn btn-success']) !!} - {{ link_to_route('{$this->table_name}.index', trans('app.cancel'), [], ['class' => 'btn btn-default']) }} - {!! Form::close() !!} -@endcan -@endif -@if (Request::get('action') == 'delete' && \$editable{$this->model_name}) -@can('delete', \$editable{$this->model_name}) -
-

{{ trans('{$this->lang_name}.delete') }}

-
- -

{{ \$editable{$this->model_name}->name }}

- -

{{ \$editable{$this->model_name}->description }}

- {!! \$errors->first('{$this->lang_name}_id', ':message') !!} -
-
-
{{ trans('app.delete_confirm') }}
-
- {!! FormField::delete( - ['route'=>['{$this->table_name}.destroy',\$editable{$this->model_name}->id]], - trans('app.delete_confirm_button'), - ['class'=>'btn btn-danger'], - [ - '{$this->lang_name}_id' => \$editable{$this->model_name}->id, - 'page' => request('page'), - 'q' => request('q'), - ] - ) !!} - {{ link_to_route('{$this->table_name}.index', trans('app.cancel'), [], ['class' => 'btn btn-default']) }} + $createFormViewPath = resource_path("views/{$this->table_name}/create.blade.php"); + $this->assertFileExists($createFormViewPath); + $createFormViewContent = "@extends('layouts.app') + +@section('title', trans('{$this->lang_name}.create')) + +@section('content') +
+
+
+

{{ trans('{$this->lang_name}.create') }}

+ {!! Form::open(['route' => '{$this->table_name}.store']) !!} +
+ {!! FormField::text('name', ['required' => true, 'label' => trans('{$this->lang_name}.name')]) !!} + {!! FormField::textarea('description', ['label' => trans('{$this->lang_name}.description')]) !!} +
+
+ {!! Form::submit(trans('{$this->lang_name}.create'), ['class' => 'btn btn-success']) !!} + {{ link_to_route('{$this->table_name}.index', trans('app.cancel'), [], ['class' => 'btn btn-default']) }} +
+ {!! Form::close() !!}
-@endcan -@endif +
+@endsection "; - $this->assertEquals($formViewContent, file_get_contents($formViewPath)); + $this->assertEquals($createFormViewContent, file_get_contents($createFormViewPath)); } /** @test */