Skip to content

Commit 546efd9

Browse files
authored
Vishal/fixes (#1030)
1 parent 6c688c1 commit 546efd9

File tree

6 files changed

+454
-40
lines changed

6 files changed

+454
-40
lines changed

src/Commands/Publish/PublishUserCommand.php

Lines changed: 12 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,8 @@ private function updateRoutes()
7070
$path = config('laravel_generator.path.routes', base_path('routes/web.php'));
7171

7272
$routeContents = g_filesystem()->getFile($path);
73-
74-
$routesTemplate = get_template('routes.user', 'laravel-generator');
75-
$routesTemplate = $this->fillTemplate($routesTemplate);
76-
77-
$routeContents .= "\n\n".$routesTemplate;
73+
$controllerNamespace = config('laravel_generator.namespace.controller');
74+
$routeContents .= "\n\n"."Route::resource('users', '$controllerNamespace\UserController')->middleware('auth');";
7875

7976
g_filesystem()->createFile($path, $routeContents);
8077
$this->comment("\nUser route added");
@@ -86,7 +83,7 @@ private function updateMenu()
8683
$templateType = config('laravel_generator.templates', 'adminlte-templates');
8784
$path = $viewsPath.'layouts/menu.blade.php';
8885
$menuContents = g_filesystem()->getFile($path);
89-
$sourceFile = g_filesystem()->getFile(get_template_file_path('scaffold/users/menu', $templateType));
86+
$sourceFile = g_filesystem()->getFile(get_file_path('views/templates/users/menu', $templateType));
9087
$menuContents .= "\n".$sourceFile;
9188

9289
g_filesystem()->createFile($path, $menuContents);
@@ -95,33 +92,24 @@ private function updateMenu()
9592

9693
private function publishUserController()
9794
{
98-
$templateData = get_template('user/user_controller', 'laravel-generator');
95+
$name = 'user_controller';
96+
9997
if (!config('laravel_generator.options.repository_pattern')) {
100-
$templateData = get_template('user/user_controller_without_repository', 'laravel-generator');
101-
$templateData = $this->fillTemplate($templateData);
98+
$name = 'user_controller_without_repository';
10299
}
103100

104-
$templateData = $this->fillTemplate($templateData);
105-
106101
$controllerPath = config('laravel_generator.path.controller', app_path('Http/Controllers/'));
102+
$controllerPath .= 'UserController.php';
107103

108-
$fileName = 'UserController.php';
109-
110-
if (file_exists($controllerPath.$fileName) && !$this->confirmOverwrite($fileName)) {
111-
return;
112-
}
104+
$controllerContents = view('laravel-generator::scaffold.user.'.$name)->render();
113105

114-
g_filesystem()->createFile($controllerPath.$fileName, $templateData);
106+
g_filesystem()->createFile($controllerPath, $controllerContents);
115107

116108
$this->info('UserController created');
117109
}
118110

119111
private function publishUserRepository()
120112
{
121-
$templateData = get_template('user/user_repository', 'laravel-generator');
122-
123-
$templateData = $this->fillTemplate($templateData);
124-
125113
$repositoryPath = config('laravel_generator.path.repository', app_path('Repositories/'));
126114

127115
$fileName = 'UserRepository.php';
@@ -132,17 +120,14 @@ private function publishUserRepository()
132120
return;
133121
}
134122

123+
$templateData = view('laravel-generator::scaffold.user.user_repository')->render();
135124
g_filesystem()->createFile($repositoryPath.$fileName, $templateData);
136125

137126
$this->info('UserRepository created');
138127
}
139128

140129
private function publishCreateUserRequest()
141130
{
142-
$templateData = get_template('user/create_user_request', 'laravel-generator');
143-
144-
$templateData = $this->fillTemplate($templateData);
145-
146131
$requestPath = config('laravel_generator.path.request', app_path('Http/Requests/'));
147132

148133
$fileName = 'CreateUserRequest.php';
@@ -153,40 +138,27 @@ private function publishCreateUserRequest()
153138
return;
154139
}
155140

141+
$templateData = view('laravel-generator::scaffold.user.create_user_request')->render();
156142
g_filesystem()->createFile($requestPath.$fileName, $templateData);
157143

158144
$this->info('CreateUserRequest created');
159145
}
160146

161147
private function publishUpdateUserRequest()
162148
{
163-
$templateData = get_template('user/update_user_request', 'laravel-generator');
164-
165-
$templateData = $this->fillTemplate($templateData);
166-
167149
$requestPath = config('laravel_generator.path.request', app_path('Http/Requests/'));
168150

169151
$fileName = 'UpdateUserRequest.php';
170152
if (file_exists($requestPath.$fileName) && !$this->confirmOverwrite($fileName)) {
171153
return;
172154
}
173155

156+
$templateData = view('laravel-generator::scaffold.user.update_user_request')->render();
174157
g_filesystem()->createFile($requestPath.$fileName, $templateData);
175158

176159
$this->info('UpdateUserRequest created');
177160
}
178161

179-
private function fillTemplate(string $templateData): string
180-
{
181-
$templateData = str_replace('$NAMESPACE_CONTROLLER$', config('laravel_generator.namespace.controller'), $templateData);
182-
183-
$templateData = str_replace('$NAMESPACE_REQUEST$', config('laravel_generator.namespace.request'), $templateData);
184-
185-
$templateData = str_replace('$NAMESPACE_REPOSITORY$', config('laravel_generator.namespace.repository'), $templateData);
186-
187-
return str_replace('$NAMESPACE_USER$', config('auth.providers.users.model'), $templateData);
188-
}
189-
190162
/**
191163
* Get the console command options.
192164
*
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
@php
2+
echo "<?php".PHP_EOL;
3+
@endphp
4+
5+
namespace {{ config('laravel_generator.namespace.request') }};
6+
7+
use Illuminate\Foundation\Http\FormRequest;
8+
9+
class CreateUserRequest extends FormRequest
10+
{
11+
12+
/**
13+
* Determine if the user is authorized to make this request.
14+
*
15+
* @return bool
16+
*/
17+
public function authorize()
18+
{
19+
return true;
20+
}
21+
22+
/**
23+
* Get the validation rules that apply to the request.
24+
*
25+
* @return array
26+
*/
27+
public function rules()
28+
{
29+
$rules = [
30+
'name' => 'required',
31+
'email' => 'required|email|unique:users,email',
32+
'password' => 'required|confirmed'
33+
];
34+
35+
return $rules;
36+
}
37+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
@php
2+
echo "<?php".PHP_EOL;
3+
@endphp
4+
5+
namespace {{ config('laravel_generator.namespace.request') }};
6+
7+
use Illuminate\Foundation\Http\FormRequest;
8+
9+
class UpdateUserRequest extends FormRequest
10+
{
11+
12+
/**
13+
* Determine if the user is authorized to make this request.
14+
*
15+
* @return bool
16+
*/
17+
public function authorize()
18+
{
19+
return true;
20+
}
21+
22+
/**
23+
* Get the validation rules that apply to the request.
24+
*
25+
* @return array
26+
*/
27+
public function rules()
28+
{
29+
$id = $this->route('user');
30+
$rules = [
31+
'name' => 'required',
32+
'email' => 'required|email|unique:users,email,'.$id,
33+
'password' => 'confirmed'
34+
];
35+
36+
return $rules;
37+
}
38+
}
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
@php
2+
echo "<?php".PHP_EOL;
3+
@endphp
4+
5+
namespace {{ config('laravel_generator.namespace.controller') }};
6+
7+
use {{ config('laravel_generator.namespace.request') }}\CreateUserRequest;
8+
use {{ config('laravel_generator.namespace.request') }}\UpdateUserRequest;
9+
use {{ config('laravel_generator.namespace.repository') }}\UserRepository;
10+
use {{ config('laravel_generator.namespace.controller') }}\AppBaseController;
11+
use Illuminate\Http\Request;
12+
use Flash;
13+
use Response;
14+
use Hash;
15+
16+
class UserController extends AppBaseController
17+
{
18+
/** @var $userRepository UserRepository */
19+
private $userRepository;
20+
21+
public function __construct(UserRepository $userRepo)
22+
{
23+
$this->userRepository = $userRepo;
24+
}
25+
26+
/**
27+
* Display a listing of the User.
28+
*
29+
* @param Request $request
30+
*
31+
* @return Response
32+
*/
33+
public function index(Request $request)
34+
{
35+
$users = $this->userRepository->paginate(10)
36+
37+
return view('users.index')->with('users', $users);
38+
}
39+
40+
/**
41+
* Show the form for creating a new User.
42+
*
43+
* @return Response
44+
*/
45+
public function create()
46+
{
47+
return view('users.create');
48+
}
49+
50+
/**
51+
* Store a newly created User in storage.
52+
*
53+
* @param CreateUserRequest $request
54+
*
55+
* @return Response
56+
*/
57+
public function store(CreateUserRequest $request)
58+
{
59+
$input = $request->all();
60+
$input['password'] = Hash::make($input['password']);
61+
$user = $this->userRepository->create($input);
62+
63+
Flash::success('User saved successfully.');
64+
65+
return redirect(route('users.index'));
66+
}
67+
68+
/**
69+
* Display the specified User.
70+
*
71+
* @param int $id
72+
*
73+
* @return Response
74+
*/
75+
public function show($id)
76+
{
77+
$user = $this->userRepository->find($id);
78+
79+
if (empty($user)) {
80+
Flash::error('User not found');
81+
82+
return redirect(route('users.index'));
83+
}
84+
85+
return view('users.show')->with('user', $user);
86+
}
87+
88+
/**
89+
* Show the form for editing the specified User.
90+
*
91+
* @param int $id
92+
*
93+
* @return Response
94+
*/
95+
public function edit($id)
96+
{
97+
$user = $this->userRepository->find($id);
98+
99+
if (empty($user)) {
100+
Flash::error('User not found');
101+
102+
return redirect(route('users.index'));
103+
}
104+
105+
return view('users.edit')->with('user', $user);
106+
}
107+
108+
/**
109+
* Update the specified User in storage.
110+
*
111+
* @param int $id
112+
* @param UpdateUserRequest $request
113+
*
114+
* @return Response
115+
*/
116+
public function update($id, UpdateUserRequest $request)
117+
{
118+
$user = $this->userRepository->find($id);
119+
120+
if (empty($user)) {
121+
Flash::error('User not found');
122+
123+
return redirect(route('users.index'));
124+
}
125+
$input = $request->all();
126+
if (!empty($input['password'])) {
127+
$input['password'] = Hash::make($input['password']);
128+
} else {
129+
unset($input['password']);
130+
}
131+
$user = $this->userRepository->update($input, $id);
132+
133+
Flash::success('User updated successfully.');
134+
135+
return redirect(route('users.index'));
136+
}
137+
138+
/**
139+
* Remove the specified User from storage.
140+
*
141+
* @param int $id
142+
*
143+
* @throws \Exception
144+
*
145+
* @return Response
146+
*/
147+
public function destroy($id)
148+
{
149+
$user = $this->userRepository->find($id);
150+
151+
if (empty($user)) {
152+
Flash::error('User not found');
153+
154+
return redirect(route('users.index'));
155+
}
156+
157+
$this->userRepository->delete($id);
158+
159+
Flash::success('User deleted successfully.');
160+
161+
return redirect(route('users.index'));
162+
}
163+
}

0 commit comments

Comments
 (0)