Skip to content

Commit 9f46d98

Browse files
authored
Merge pull request #142 from viralsolani/develop
Test Cases & Major Refactoring
2 parents 741aea6 + 1b867e3 commit 9f46d98

File tree

100 files changed

+3690
-644
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+3690
-644
lines changed

.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ DB_DATABASE=homestead
1212
DB_USERNAME=homestead
1313
DB_PASSWORD=secret
1414

15+
# Access
16+
ENABLE_REGISTRATION=true
17+
REQUIRES_APPROVAL=false
18+
1519
BROADCAST_DRIVER=log
1620
CACHE_DRIVER=file
1721
SESSION_DRIVER=file

app/Helpers/helpers.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,25 @@ function generateUuid()
1717
return uuid::uuid4();
1818
}
1919

20+
if (!function_exists('homeRoute')) {
21+
22+
/**
23+
* Return the route to the "home" page depending on authentication/authorization status.
24+
*
25+
* @return string
26+
*/
27+
function homeRoute()
28+
{
29+
if (access()->allow('view-backend')) {
30+
return 'admin.dashboard';
31+
} elseif (auth()->check()) {
32+
return 'frontend.user.dashboard';
33+
}
34+
35+
return 'frontend.index';
36+
}
37+
}
38+
2039
/*
2140
* Global helpers file with misc functions.
2241
*/

app/Http/Controllers/Backend/BlogCategories/BlogCategoriesController.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,49 +57,49 @@ public function store(StoreBlogCategoriesRequest $request)
5757
$this->blogcategory->create($request->all());
5858

5959
return redirect()
60-
->route('admin.blogcategories.index')
60+
->route('admin.blogCategories.index')
6161
->with('flash_success', trans('alerts.backend.blogcategories.created'));
6262
}
6363

6464
/**
65-
* @param \App\Models\BlogCategories\BlogCategory $blogcategory
65+
* @param \App\Models\BlogCategories\BlogCategory $blogCategory
6666
* @param \App\Http\Requests\Backend\BlogCategories\EditBlogCategoriesRequest $request
6767
*
6868
* @return mixed
6969
*/
70-
public function edit(BlogCategory $blogcategory, EditBlogCategoriesRequest $request)
70+
public function edit(BlogCategory $blogCategory, EditBlogCategoriesRequest $request)
7171
{
7272
return view('backend.blogcategories.edit')
73-
->with('blogcategory', $blogcategory);
73+
->with('blogcategory', $blogCategory);
7474
}
7575

7676
/**
77-
* @param \App\Models\BlogCategories\BlogCategory $blogcategory
77+
* @param \App\Models\BlogCategories\BlogCategory $blogCategory
7878
* @param \App\Http\Requests\Backend\BlogCategories\UpdateBlogCategoriesRequest $request
7979
*
8080
* @return mixed
8181
*/
82-
public function update(BlogCategory $blogcategory, UpdateBlogCategoriesRequest $request)
82+
public function update(BlogCategory $blogCategory, UpdateBlogCategoriesRequest $request)
8383
{
84-
$this->blogcategory->update($blogcategory, $request->all());
84+
$this->blogcategory->update($blogCategory, $request->all());
8585

8686
return redirect()
87-
->route('admin.blogcategories.index')
87+
->route('admin.blogCategories.index')
8888
->with('flash_success', trans('alerts.backend.blogcategories.updated'));
8989
}
9090

9191
/**
92-
* @param \App\Models\BlogCategories\BlogCategory $blogcategory
92+
* @param \App\Models\BlogCategories\BlogCategory $blogCategory
9393
* @param \App\Http\Requests\Backend\BlogCategories\DeleteBlogCategoriesRequest $request
9494
*
9595
* @return mixed
9696
*/
97-
public function destroy(BlogCategory $blogcategory, DeleteBlogCategoriesRequest $request)
97+
public function destroy(BlogCategory $blogCategory, DeleteBlogCategoriesRequest $request)
9898
{
99-
$this->blogcategory->delete($blogcategory);
99+
$this->blogcategory->delete($blogCategory);
100100

101101
return redirect()
102-
->route('admin.blogcategories.index')
102+
->route('admin.blogCategories.index')
103103
->with('flash_success', trans('alerts.backend.blogcategories.deleted'));
104104
}
105105
}

app/Http/Controllers/Backend/BlogTags/BlogTagsController.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,49 +60,49 @@ public function store(StoreBlogTagsRequest $request)
6060
$this->blogtag->create($request->except('token'));
6161

6262
return redirect()
63-
->route('admin.blogtags.index')
63+
->route('admin.blogTags.index')
6464
->with('flash_success', trans('alerts.backend.blogtags.created'));
6565
}
6666

6767
/**
68-
* @param \App\Models\BlogTags\BlogTag $blogtag
68+
* @param \App\Models\BlogTags\BlogTag $blogTag
6969
* @param \App\Http\Requests\Backend\BlogTags\EditBlogTagsRequest $request
7070
*
7171
* @return mixed
7272
*/
73-
public function edit(BlogTag $blogtag, EditBlogTagsRequest $request)
73+
public function edit(BlogTag $blogTag, EditBlogTagsRequest $request)
7474
{
7575
return view('backend.blogtags.edit')
76-
->with('blogtag', $blogtag);
76+
->with('blogtag', $blogTag);
7777
}
7878

7979
/**
80-
* @param \App\Models\BlogTags\BlogTag $blogtag
80+
* @param \App\Models\BlogTags\BlogTag $blogTag
8181
* @param \App\Http\Requests\Backend\BlogTags\UpdateBlogTagsRequest $request
8282
*
8383
* @return mixed
8484
*/
85-
public function update(BlogTag $blogtag, UpdateBlogTagsRequest $request)
85+
public function update(BlogTag $blogTag, UpdateBlogTagsRequest $request)
8686
{
87-
$this->blogtag->update($blogtag, $request->except(['_method', '_token']));
87+
$this->blogtag->update($blogTag, $request->except(['_method', '_token']));
8888

8989
return redirect()
90-
->route('admin.blogtags.index')
90+
->route('admin.blogTags.index')
9191
->with('flash_success', trans('alerts.backend.blogtags.updated'));
9292
}
9393

9494
/**
95-
* @param \App\Models\BlogTags\BlogTag $blogtag
95+
* @param \App\Models\BlogTags\BlogTag $blogTag
9696
* @param \App\Http\Requests\Backend\BlogTags\DeleteBlogTagsRequest $request
9797
*
9898
* @return mixed
9999
*/
100-
public function destroy(BlogTag $blogtag, DeleteBlogTagsRequest $request)
100+
public function destroy(BlogTag $blogTag, DeleteBlogTagsRequest $request)
101101
{
102-
$this->blogtag->delete($blogtag);
102+
$this->blogtag->delete($blogTag);
103103

104104
return redirect()
105-
->route('admin.blogtags.index')
105+
->route('admin.blogTags.index')
106106
->with('flash_success', trans('alerts.backend.blogtags.deleted'));
107107
}
108108
}

app/Http/Controllers/Backend/Pages/PagesTableController.php

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use App\Http\Controllers\Controller;
66
use App\Http\Requests\Backend\Pages\ManagePageRequest;
77
use App\Repositories\Backend\Pages\PagesRepository;
8-
use Carbon\Carbon;
98
use Yajra\DataTables\Facades\DataTables;
109

1110
/**
@@ -32,17 +31,17 @@ public function __invoke(ManagePageRequest $request)
3231
{
3332
return Datatables::of($this->pages->getForDataTable())
3433
->escapeColumns(['title'])
35-
->addColumn('status', function ($pages) {
36-
return $pages->status_label;
34+
->addColumn('status', function ($page) {
35+
return $page->status_label;
3736
})
38-
->addColumn('created_at', function ($pages) {
39-
return Carbon::parse($pages->created_at)->toDateString();
37+
->addColumn('created_at', function ($page) {
38+
return $page->created_at->toDateString();
4039
})
41-
->addColumn('updated_at', function ($pages) {
42-
return Carbon::parse($pages->updated_at)->toDateString();
40+
->addColumn('created_by', function ($page) {
41+
return $page->created_by;
4342
})
44-
->addColumn('actions', function ($pages) {
45-
return $pages->action_buttons;
43+
->addColumn('actions', function ($page) {
44+
return $page->action_buttons;
4645
})
4746
->make(true);
4847
}

app/Http/Controllers/Backend/Settings/SettingsController.php

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use App\Http\Requests\Backend\Settings\UpdateSettingsRequest;
88
use App\Models\Settings\Setting;
99
use App\Repositories\Backend\Settings\SettingsRepository;
10-
use Illuminate\Http\Request;
1110

1211
/**
1312
* Class SettingsController.
@@ -50,22 +49,4 @@ public function update(Setting $setting, UpdateSettingsRequest $request)
5049
->route('admin.settings.edit', $setting->id)
5150
->with('flash_success', trans('alerts.backend.settings.updated'));
5251
}
53-
54-
/**
55-
* @param Setting $setting
56-
* @param Request $request
57-
* Remove logo or favicon icon
58-
*
59-
* @return mixed
60-
*/
61-
public function removeIcon(Request $request)
62-
{
63-
$this->settings->removeicon($request->data);
64-
65-
return json_encode(
66-
[
67-
'status' => true,
68-
]
69-
);
70-
}
7152
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Backend\Settings;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Models\Settings\Setting;
7+
use App\Repositories\Backend\Settings\SettingsRepository;
8+
use Illuminate\Http\Request;
9+
10+
/**
11+
* Class SettingsLogoController.
12+
*/
13+
class SettingsLogoController extends Controller
14+
{
15+
protected $settings;
16+
17+
/**
18+
* @param \App\Repositories\Backend\Settings\SettingsRepository $settings
19+
*/
20+
public function __construct(SettingsRepository $settings)
21+
{
22+
$this->settings = $settings;
23+
}
24+
25+
/**
26+
* Remove logo or favicon icon.
27+
*
28+
* @param \App\Models\Settings\Setting $setting
29+
* @param \Illuminate\Http\Request $request
30+
*
31+
* @return mixed
32+
*/
33+
public function destroy(Setting $setting, Request $request)
34+
{
35+
$this->settings->removeLogo($setting, $request->data);
36+
37+
return json_encode([
38+
'status' => true,
39+
]);
40+
}
41+
}

app/Http/Controllers/Frontend/Auth/RegisterController.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function showRegistrationForm()
5050
*/
5151
public function register(RegisterRequest $request)
5252
{
53-
if (config('access.users.confirm_email')) {
53+
/*if (config('access.users.confirm_email')) {
5454
$user = $this->user->create($request->all());
5555
event(new UserRegistered($user));
5656
@@ -59,6 +59,22 @@ public function register(RegisterRequest $request)
5959
access()->login($this->user->create($request->all()));
6060
event(new UserRegistered(access()->user()));
6161
62+
return redirect($this->redirectPath());
63+
}*/
64+
65+
if (config('access.users.confirm_email') || config('access.users.requires_approval')) {
66+
$user = $this->user->create($request->only('first_name', 'last_name', 'email', 'password', 'is_term_accept'));
67+
event(new UserRegistered($user));
68+
69+
return redirect($this->redirectPath())->withFlashSuccess(
70+
config('access.users.requires_approval') ?
71+
trans('exceptions.frontend.auth.confirmation.created_pending') :
72+
trans('exceptions.frontend.auth.confirmation.created_confirm')
73+
);
74+
} else {
75+
access()->login($this->user->create($request->only('first_name', 'last_name', 'email', 'password', 'is_term_accept')));
76+
event(new UserRegistered(access()->user()));
77+
6278
return redirect($this->redirectPath());
6379
}
6480
}

app/Http/Controllers/Frontend/Auth/ResetPasswordController.php

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,20 @@ public function redirectPath()
5050
*/
5151
public function showResetForm($token = null)
5252
{
53-
return view('frontend.auth.passwords.reset')
54-
->withToken($token)
55-
->withEmail($this->user->getEmailForPasswordToken($token));
53+
if (!$token) {
54+
return redirect()->route('frontend.auth.password.email');
55+
}
56+
57+
$user = $this->user->findByPasswordResetToken($token);
58+
59+
if ($user && app()->make('auth.password.broker')->tokenExists($user, $token)) {
60+
return view('frontend.auth.passwords.reset')
61+
->withToken($token)
62+
->withEmail($user->email);
63+
}
64+
65+
return redirect()->route('frontend.auth.password.email')
66+
->withFlashDanger(trans('exceptions.frontend.auth.password.reset_problem'));
5667
}
5768

5869
/**
@@ -80,4 +91,16 @@ protected function validationErrorMessages()
8091
'password.regex' => 'Password must contain at least 1 uppercase letter and 1 number.',
8192
];
8293
}
94+
95+
/**
96+
* Get the response for a successful password reset.
97+
*
98+
* @param string $response
99+
*
100+
* @return \Illuminate\Http\RedirectResponse
101+
*/
102+
protected function sendResetResponse($response)
103+
{
104+
return redirect()->route(homeRoute())->withFlashSuccess(trans($response));
105+
}
83106
}

app/Http/Requests/Backend/Access/Role/StoreRoleRequest.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,22 @@ public function authorize()
2626
*/
2727
public function rules()
2828
{
29+
$permissions = '';
30+
31+
if ($this->associated_permissions != 'all') {
32+
$permissions = 'required';
33+
}
34+
2935
return [
3036
'name' => 'required|max:191',
31-
'permissions' => 'required',
37+
'permissions' => $permissions,
38+
];
39+
}
40+
41+
public function messages()
42+
{
43+
return [
44+
'permissions.required' => 'You must select at least one permission for this role.',
3245
];
3346
}
3447
}

0 commit comments

Comments
 (0)