Skip to content

Commit 67e57e4

Browse files
committed
Merge branch '2.x-release/v2.2.1' into 2.x
2 parents ff32982 + c717279 commit 67e57e4

Some content is hidden

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

67 files changed

+1976
-466
lines changed

Config/vaahcms.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
$settings = [
99
'app_name' => 'VaahCMS',
1010
'app_slug' => 'vaahcms',
11-
'version' => '2.2.0',
11+
'version' => '2.2.1',
1212
'php_version_required' => '8.1',
1313
'get_config_version' => false,
1414
'website' => 'https://vaah.dev/cms',

Database/Seeders/json/settings.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
{"category": "global", "key": "copyright_link", "value": "app_url" },
1111
{"category": "global", "key": "copyright_year", "value": "use_current_year" },
1212
{"category": "global", "type":"json", "key": "registration_roles", "value": ["Registered"] },
13-
{"category": "global", "type":"json", "key": "upload_allowed_files", "value": ["jpg","jpeg","png","gif","pdf","doc","docs"] },
13+
{"category": "global", "type":"json", "key": "upload_allowed_files", "value": ["image/jpeg", "image/png","image/gif"] },
14+
{"category": "global", "key": "upload_allowed_file_size", "value": 5 },
1415
{"category": "global", "key": "password_protection", "value": 0 },
1516
{"category": "global", "key": "site_password", "value": null },
1617
{"category": "global", "key": "date_format", "value": "Y-m-d" },
@@ -29,6 +30,8 @@
2930
{"category": "global", "key": "script_before_body_close", "value": null, "type": "script", "label": "Before body tag close (</body>)" },
3031
{"category": "global", "key": "redirect_after_backend_logout", "value": "backend" },
3132
{"category": "global", "key": "redirect_after_backend_logout_url", "value": "" },
33+
{"category": "global", "key": "homepage_redirection", "value": "backend" },
34+
{"category": "global", "key": "homepage_redirection_url", "value": "" },
3235
{"category": "global", "key": "redirect_after_frontend_login", "value": "" },
3336
{"category": "global", "key": "maximum_number_of_forgot_password_attempts_per_session", "value": "3" },
3437
{"category": "global", "key": "maximum_number_of_login_attempts_per_session", "value": "3" },

Http/Controllers/Backend/MediaController.php

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public function getAssets(Request $request): JsonResponse
5959

6060
$data['bulk_actions'] = vh_general_bulk_actions();
6161
$data['allowed_file_types'] = vh_file_pond_allowed_file_type();
62+
$upload_allowed_file_size = config('settings.global.upload_allowed_file_size',5);
63+
$data['max_file_size'] = $upload_allowed_file_size* (1024 * 1024);
6264
$data['download_url'] = route('vh.frontend.media.download').'/';
6365
$data['date'] = $year_and_month;
6466

Http/Controllers/Backend/Settings/GeneralController.php

+7-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Routing\Controller;
88
use Illuminate\Support\Facades\Auth;
99
use Illuminate\Support\Str;
10+
use WebReinvent\VaahCms\Libraries\VaahSetup;
1011
use WebReinvent\VaahCms\Models\Language;
1112
use WebReinvent\VaahCms\Models\Role;
1213
use WebReinvent\VaahCms\Models\Setting;
@@ -36,7 +37,7 @@ public function getAssets(Request $request): JsonResponse
3637

3738
$vh_file_types_data = [];
3839
foreach (vh_file_types() as $key => $value){
39-
$vh_file_types_data[$key] = $value['slug'];
40+
$vh_file_types_data[$key] = $value['name'];
4041
}
4142

4243
$response['success'] = true;
@@ -76,6 +77,8 @@ public function getList(Request $request): JsonResponse
7677
$data['links'] = Setting::getGlobalLinks($request);
7778
$data['scripts'] = Setting::getGlobalScripts($request);
7879
$data['meta_tags'] = Setting::getGlobalMetaTags($request);
80+
$data['is_smtp_configured'] = config('mail.mailers.smtp.username') &&
81+
config('mail.mailers.smtp.password');
7982

8083
$response['success'] = true;
8184
$response['data'] = $data;
@@ -93,7 +96,7 @@ public function getList(Request $request): JsonResponse
9396

9497
return response()->json($response);
9598
}
96-
//----------------------------------------------------------
99+
// ----------------------------------------------------------
97100
public function storeSiteSettings(Request $request): JsonResponse
98101
{
99102
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
@@ -124,6 +127,8 @@ public function storeSiteSettings(Request $request): JsonResponse
124127
}
125128
}
126129

130+
131+
127132
$response['success'] = true;
128133
$response['data'][] = '';
129134
$response['messages'][] = 'Settings successful saved';

Http/Controllers/Backend/Settings/NotificationsController.php

+73-27
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ public function getAssets(Request $request): JsonResponse
3030
try {
3131
$data['notification_variables'] = vh_action('getNotificationVariables', null, 'array');
3232
$data['notification_actions'] = vh_action('getNotificationActions', null, 'array');
33-
$data['notifications'] = Notification::getList($request);
3433
$data['from'] = env('MAIL_FROM_NAME');
3534
$data['from_email'] = env('MAIL_FROM_ADDRESS');
3635
$data['help_urls'] = [
@@ -55,8 +54,30 @@ public function getAssets(Request $request): JsonResponse
5554

5655
return response()->json($response);
5756
}
58-
//----------------------------------------------------------
59-
public function getList(Request $request): JsonResponse
57+
58+
public function getList(Request $request)
59+
{
60+
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
61+
$response['success'] = false;
62+
$response['errors'][] = trans("vaahcms::messages.permission_denied");
63+
64+
return response()->json($response);
65+
}
66+
try{
67+
return Notification::getList($request);
68+
}catch (\Exception $e){
69+
$response = [];
70+
$response['success'] = false;
71+
if(env('APP_DEBUG')){
72+
$response['errors'][] = $e->getMessage();
73+
$response['hint'] = $e->getTrace();
74+
} else{
75+
$response['errors'][] = 'Something went wrong.';
76+
}
77+
return $response;
78+
}
79+
}
80+
public function getItemData(Request $request): JsonResponse
6081
{
6182
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
6283
$response['success'] = false;
@@ -88,8 +109,31 @@ public function getList(Request $request): JsonResponse
88109

89110
return response()->json($response);
90111
}
91-
//----------------------------------------------------------
92-
public function createItem(Request $request): JsonResponse
112+
113+
public function createItem(Request $request)
114+
{
115+
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
116+
$response['success'] = false;
117+
$response['errors'][] = trans("vaahcms::messages.permission_denied");
118+
119+
return response()->json($response);
120+
}
121+
try{
122+
return Notification::createItem($request);
123+
}catch (\Exception $e){
124+
$response = [];
125+
$response['success'] = false;
126+
if(env('APP_DEBUG')){
127+
$response['errors'][] = $e->getMessage();
128+
$response['hint'] = $e->getTrace();
129+
} else{
130+
$response['errors'][] = 'Something went wrong.';
131+
}
132+
return $response;
133+
}
134+
}
135+
136+
public function itemAction(Request $request): JsonResponse
93137
{
94138
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
95139
$response['success'] = false;
@@ -99,36 +143,38 @@ public function createItem(Request $request): JsonResponse
99143
}
100144

101145
try {
102-
$rules = array(
103-
'name' => 'required',
104-
);
105-
106-
$validator = \Validator::make( $request->all(), $rules);
107-
if ( $validator->fails() ) {
146+
$response = Notification::itemAction($request);
147+
} catch (\Exception $e) {
148+
$response = [];
149+
$response['success'] = false;
108150

109-
$errors = errorsToArray($validator->errors());
110-
$response['success'] = false;
111-
$response['errors'] = $errors;
112-
return response()->json($response);
151+
if(env('APP_DEBUG')){
152+
$response['errors'][] = $e->getMessage();
153+
$response['hint'][] = $e->getTrace();
154+
} else {
155+
$response['errors'][] = 'Something went wrong.';
113156
}
157+
}
114158

115-
$data = [];
116-
117-
$item = new Notification();
118-
$item->fill($request->all());
119-
$item->slug = Str::slug($request->name);
120-
$item->save();
159+
return response()->json($response);
160+
}
161+
//----------------------------------------------------------
162+
public function listAction(Request $request): JsonResponse
163+
{
164+
if (!Auth::user()->hasPermission('has-access-of-setting-section')) {
165+
$response['success'] = false;
166+
$response['errors'][] = trans("vaahcms::messages.permission_denied");
121167

168+
return response()->json($response);
169+
}
122170

123-
$response['success'] = true;
124-
$response['messages'][] = 'Saved';
125-
$response['data']['item'] = $item;
126-
$response['data']['list'] = Notification::getList($request);
171+
try {
172+
$response = Notification::listAction($request);
127173
} catch (\Exception $e) {
128174
$response = [];
129175
$response['success'] = false;
130176

131-
if (env('APP_DEBUG')) {
177+
if(env('APP_DEBUG')){
132178
$response['errors'][] = $e->getMessage();
133179
$response['hint'][] = $e->getTrace();
134180
} else {
@@ -206,7 +252,7 @@ public function send(Request $request): JsonResponse
206252
$data = [];
207253
$response = [];
208254

209-
$response = Notification::send(Notification::find($request->notification_id),
255+
$response = Notification::dispatch(Notification::find($request->notification_id),
210256
User::query()->find($request->user_id), $request->all());
211257
} catch (\Exception $e) {
212258
$response = [];

Http/Controllers/Backend/Settings/UpdateController.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public function upgrade(): JsonResponse
9595
}
9696

9797
try {
98-
$response = $this->runCommand("composer", "update");
98+
return $this->runCommand("composer", "update");
9999
} catch(\Exception $e) {
100100
$response['success'] = false;
101101

@@ -184,6 +184,7 @@ public function runMigrations(): JsonResponse
184184

185185
$response['success'] = true;
186186
} catch (\Exception $e) {
187+
$response['success'] = false;
187188
if (env('APP_DEBUG')) {
188189
$response['errors'][] = $e->getMessage();
189190
$response['hint'][] = $e->getTrace();
@@ -213,6 +214,7 @@ public function clearCache(): JsonResponse
213214
Notified::query()->where('vh_notification_id',$notification->id)->forceDelete();
214215

215216
$response['success'] = true;
217+
$response['data'] = 'Cache cleared.';
216218
} catch (\Exception $e) {
217219

218220
$response['success'] = false;

Http/Controllers/ExtendController.php

+1-4
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ public function __construct()
3838
public static function topLeftMenu()
3939
{
4040

41-
42-
43-
4441
$response['success'] = true;
4542
$response['data'] = [];
4643

@@ -281,7 +278,7 @@ public static function sidebarMenu()
281278
]
282279
];
283280
}
284-
281+
285282

286283
$response['success'] = true;
287284
$response['data'] = $list;

Http/Controllers/JsonController.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public function getPublicAssets(Request $request)
119119
}
120120

121121

122-
$data['urls']['public'] = url("/");
122+
$data['urls']['public'] = route('vh.backend.homepage-redirection');
123123
$data['urls']['theme'] = vh_get_backend_theme_url();
124124
$data['urls']['image'] = vh_get_backend_theme_image_url();
125125
$data['urls']['upload'] = route('vh.backend.media.upload');
@@ -239,7 +239,6 @@ public function getExtendedViews()
239239
$locations = [
240240
'sidebar_menu'=>'sidebarMenu',
241241
'top_left_menu'=>'topLeftMenu',
242-
'top_right_menu'=>'topRightMenu',
243242
'top_right_user_menu'=>'topRightUserMenu',
244243
];
245244

Http/Controllers/PublicController.php

+30
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Illuminate\Routing\Controller;
99
use Illuminate\Support\Arr;
1010
use Illuminate\Support\Facades\Auth;
11+
use Illuminate\Support\Facades\Session;
1112
use Illuminate\Support\Str;
1213
use WebReinvent\VaahCms\Libraries\VaahHelper;
1314
use WebReinvent\VaahCms\Models\Registration;
@@ -164,6 +165,8 @@ public function postLogin(Request $request)
164165

165166
$response = [];
166167

168+
Session::put('user_timezone',$request->timezone);
169+
167170
$response['success'] = true;
168171
$response['messages'][] = $message;
169172
$response['data']['redirect_url'] = $redirect_url;
@@ -324,6 +327,33 @@ public function logout()
324327

325328
return redirect($redirect_value_url);
326329
}
330+
331+
//----------------------------------------------------------
332+
public function homepageRedirection()
333+
{
334+
335+
$redirect_value = config('settings.global.homepage_redirection');
336+
337+
if(!isset($redirect_value))
338+
{
339+
return redirect()->route('vh.backend');
340+
}
341+
342+
$redirect_value_url = '/';
343+
344+
if($redirect_value != 'frontend'){
345+
$redirect_value_custom = config('settings.global.homepage_redirection_url');
346+
347+
$redirect_value_url = $redirect_value;
348+
349+
if(isset($redirect_value_custom) && !empty($redirect_value_custom))
350+
{
351+
$redirect_value_url = $redirect_value_custom;
352+
}
353+
}
354+
355+
return redirect($redirect_value_url);
356+
}
327357
//----------------------------------------------------------
328358
public function disableMfa(Request $request,$token)
329359
{

Models/BatchBase.php

+28
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use Carbon\Carbon;
44
use DateTimeInterface;
5+
use Illuminate\Database\Eloquent\Casts\Attribute;
56
use Illuminate\Database\Eloquent\Model;
67
use Illuminate\Database\Eloquent\SoftDeletes;
78
use Illuminate\Support\Str;
@@ -40,6 +41,33 @@ protected function serializeDate(DateTimeInterface $date)
4041

4142
return $date->format($date_time_format);
4243
}
44+
//-------------------------------------------------
45+
protected function finishedAt(): Attribute
46+
{
47+
return Attribute::make(
48+
get: function (string $value = null) {
49+
return VaahModel::getUserTimezoneDate($value,true);
50+
},
51+
);
52+
}
53+
//-------------------------------------------------
54+
protected function cancelledAt(): Attribute
55+
{
56+
return Attribute::make(
57+
get: function (string $value = null) {
58+
return VaahModel::getUserTimezoneDate($value,true);
59+
},
60+
);
61+
}
62+
//-------------------------------------------------
63+
protected function createdAt(): Attribute
64+
{
65+
return Attribute::make(
66+
get: function (string $value = null) {
67+
return VaahModel::getUserTimezoneDate($value);
68+
},
69+
);
70+
}
4371

4472
//-------------------------------------------------
4573

0 commit comments

Comments
 (0)