Skip to content

Commit 6cad9b6

Browse files
code improvements
1 parent f644fe7 commit 6cad9b6

File tree

12 files changed

+136
-43
lines changed

12 files changed

+136
-43
lines changed

packages/Webkul/Admin/src/Config/dashboard_cards.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,13 @@
7676
"data_class" => "column-grid-2",
7777
"label" => 'admin::app.dashboard.top_products',
7878
], [
79-
"sort" => 1,
79+
"sort" => 10,
80+
"selected" => true,
81+
"card_id" => "quotes",
82+
"card_type" => "line_chart",
83+
"label" => 'admin::app.dashboard.quotes',
84+
], [
85+
"sort" => 11,
8086
"card_type" => "custom_card",
8187
"card_border" => "dashed",
8288
"selected" => false,

packages/Webkul/Admin/src/DataGrids/Activity/ActivityDataGrid.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public function prepareActions()
184184
'title' => trans('ui::app.datagrid.delete'),
185185
'method' => 'DELETE',
186186
'route' => 'admin.activities.delete',
187-
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'user']),
187+
'confirm_text' => trans('ui::app.datagrid.massaction.delete'),
188188
'icon' => 'trash-icon',
189189
]);
190190
}

packages/Webkul/Admin/src/DataGrids/Lead/LeadDataGrid.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public function addColumns()
8989
'sortable' => true,
9090
'filterable_type' => 'add',
9191
'closure' => function ($row) {
92-
return round($row->lead_value, 2);
92+
return core()->formatBasePrice($row->lead_value, 2);
9393
},
9494
]);
9595

packages/Webkul/Admin/src/Http/Controllers/Setting/AttributeController.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,10 @@ public function massDestroy()
174174
{
175175
$data = request()->all();
176176

177-
$this->attributeRepository->destroy($data['rows']);
177+
$this->attributeRepository
178+
->where('is_user_defined', 1)
179+
->whereIn('id', $data['rows'])
180+
->delete();
178181

179182
return response()->json([
180183
'status' => true,

packages/Webkul/Admin/src/Http/Controllers/Setting/RoleController.php

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -133,45 +133,52 @@ public function update($id)
133133
*/
134134
public function destroy($id)
135135
{
136+
$response = [
137+
'status' => false,
138+
'responseCode' => 400,
139+
];
140+
136141
$role = $this->roleRepository->findOrFail($id);
137142

138143
if ($role->admins && $role->admins->count() >= 1) {
139-
$status = false;
140-
$responseCode = 400;
141-
$message = trans('admin::app.settings.roles.being-used');
144+
$response['message'] = trans('admin::app.settings.roles.being-used');
142145

143146
session()->flash('error', $message);
144147
} else if ($this->roleRepository->count() == 1) {
145-
$status = false;
146-
$responseCode = 400;
147-
$message = trans('admin::app.settings.roles.last-delete-error');
148+
$response['message'] = trans('admin::app.settings.roles.last-delete-error');
148149

149150
session()->flash('error', $message);
150151
} else {
151152
try {
152153
Event::dispatch('settings.role.delete.before', $id);
153154

154-
$this->roleRepository->delete($id);
155-
156-
Event::dispatch('settings.role.delete.after', $id);
155+
if (auth()->guard('user')->user()->role_id == $id) {
156+
$response['message'] = trans('admin::app.settings.roles.current-role-delete-error');
157+
} else {
158+
$this->roleRepository->delete($id);
159+
160+
Event::dispatch('settings.role.delete.after', $id);
161+
162+
$message = trans('admin::app.settings.roles.delete-success');
163+
164+
$response = [
165+
'status' => true,
166+
'responseCode' => 200,
167+
'message' => $message,
168+
];
169+
170+
session()->flash('success', $message);
171+
}
157172

158-
$status = false;
159-
$responseCode = 200;
160-
$message = trans('admin::app.settings.roles.delete-success');
161-
162-
session()->flash('success', $message);
163173
} catch(\Exception $exception) {
164-
$status = false;
165-
$responseCode = 400;
166174
$message = $exception->getMessage();
167175

176+
$response['message'] = $message;
177+
168178
session()->flash('error', $message);
169179
}
170180
}
171181

172-
return response()->json([
173-
'status' => $status,
174-
'message' => $message,
175-
], $responseCode);
182+
return response()->json($response, $response['responseCode']);
176183
}
177184
}

packages/Webkul/Admin/src/Http/Controllers/Setting/UserController.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,12 @@ public function massDestroy()
246246
{
247247
$data = request()->all();
248248

249+
$currentUserId = auth()->guard('user')->user()->id;
250+
251+
if ($index = array_search($currentUserId, $data['rows'])) {
252+
unset($data['rows'][$index]);
253+
}
254+
249255
$this->userRepository->destroy($data['rows']);
250256

251257
return response()->json([

packages/Webkul/Admin/src/Resources/lang/en/app.php

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
'activities' => 'Activities',
1010
'top_leads' => 'Top Leads',
1111
'stages' => 'Stages',
12+
'quotes' => 'Quotes',
1213
'emails' => 'Emails',
1314
'custom_card' => 'Custom Card',
1415
'customers' => 'Customers',
@@ -347,23 +348,24 @@
347348

348349
'settings' => [
349350
'roles' => [
350-
'title' => 'Roles',
351-
'role' => 'Role',
352-
'edit-title' => 'Edit Role',
353-
'description' => 'Description',
354-
'add-title' => 'Create Role',
355-
'permission_type' => 'Permission type',
356-
'custom' => 'Custom',
357-
'all' => 'All',
358-
'save-btn-title' => 'Save as Role',
359-
'update-btn-title' => 'Update Role',
360-
'create-success' => 'Role created successfully.',
361-
'update-success' => 'Role updated successfully.',
362-
'delete-success' => 'Role deleted successfully.',
363-
'delete-failed' => 'Role can not be deleted.',
364-
'user-define-error' => 'Can not delete system role.',
365-
'being-used' => 'Role can not be deleted, as this is being used in admin user.',
366-
'last-delete-error' => 'At least one role is required.'
351+
'title' => 'Roles',
352+
'role' => 'Role',
353+
'edit-title' => 'Edit Role',
354+
'description' => 'Description',
355+
'add-title' => 'Create Role',
356+
'permission_type' => 'Permission type',
357+
'custom' => 'Custom',
358+
'all' => 'All',
359+
'save-btn-title' => 'Save as Role',
360+
'update-btn-title' => 'Update Role',
361+
'create-success' => 'Role created successfully.',
362+
'update-success' => 'Role updated successfully.',
363+
'delete-success' => 'Role deleted successfully.',
364+
'delete-failed' => 'Role can not be deleted.',
365+
'user-define-error' => 'Can not delete system role.',
366+
'last-delete-error' => 'At least one role is required.',
367+
'current-role-delete-error' => 'Can not delete role assigned to the current user.',
368+
'being-used' => 'Role can not be deleted, as this is being used in admin user.',
367369
],
368370

369371
'users' => [

packages/Webkul/Admin/src/Traits/Dashboard/DataRetrival.php

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,4 +415,57 @@ private function getTopProducts($startDateFilter, $endDateFilter, $totalWeeks)
415415

416416
return $cardData;
417417
}
418+
419+
/**
420+
* Collect quotes card data.
421+
*/
422+
private function getQuotes($startDateFilter, $endDateFilter, $totalWeeks)
423+
{
424+
$labels = $quotes = [];
425+
426+
$quotesRepository = app('Webkul\Quote\Repositories\QuoteRepository');
427+
428+
if ($totalWeeks) {
429+
for ($index = $totalWeeks; $index >= 1; $index--) {
430+
list(
431+
'startDate' => $startDate,
432+
'endDate' => $endDate,
433+
'labels' => $labels,
434+
) = $this->getFormattedDateRange([
435+
"start_date" => $startDateFilter,
436+
"end_date" => $endDateFilter,
437+
"index" => $index,
438+
"labels" => $labels,
439+
"total_weeks" => $totalWeeks,
440+
]);
441+
442+
// get quotes count
443+
array_push($quotes, $quotesRepository->getQuotesCount("all", $startDate, $endDate));
444+
}
445+
} else {
446+
$labels = [__("admin::app.dashboard.week") . "1"];
447+
448+
$quotes = [$quotesRepository->getQuotesCount("Won", $startDateFilter, $endDateFilter)];
449+
}
450+
451+
if (! empty(array_filter($quotes))) {
452+
$cardData = [
453+
"data" => [
454+
"labels" => $labels,
455+
"datasets" => [
456+
[
457+
"fill" => true,
458+
"tension" => 0.6,
459+
"backgroundColor" => "#4BC0C0",
460+
"borderColor" => '#2f7373',
461+
"data" => $quotes,
462+
"label" => __("admin::app.dashboard.leads_started"),
463+
],
464+
]
465+
]
466+
];
467+
}
468+
469+
return $cardData ?? false;
470+
}
418471
}

packages/Webkul/Quote/src/Repositories/QuoteRepository.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,17 @@ public function update(array $data, $id, $attribute = "id")
109109

110110
return $quote;
111111
}
112+
113+
/**
114+
* Retreives customers count based on date
115+
*
116+
* @return number
117+
*/
118+
public function getQuotesCount($startDate, $endDate)
119+
{
120+
return $this
121+
->whereBetween('created_at', [$startDate, $endDate])
122+
->get()
123+
->count();
124+
}
112125
}

packages/Webkul/UI/publishable/assets/css/ui.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/Webkul/UI/publishable/assets/mix-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"/js/ui.js": "/js/ui.js?id=925202de58f991c86c6c",
3-
"/css/ui.css": "/css/ui.css?id=b82e866167fb8ee7c926",
3+
"/css/ui.css": "/css/ui.css?id=fa35801a61df535b796f",
44
"/images/add-icon.svg": "/images/add-icon.svg?id=9135b4e0e1c239c36981",
55
"/images/align-justify-icon.svg": "/images/align-justify-icon.svg?id=ee8d48e636b80417a884",
66
"/images/arrow-down-icon.svg": "/images/arrow-down-icon.svg?id=7b5c03f96be72c9a0bef",

packages/Webkul/UI/src/Resources/assets/sass/app.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,7 @@ h5 {
416416

417417
&.actions {
418418
width: 100px;
419+
text-align: right;
419420

420421
.action {
421422
display: inline-flex;
@@ -459,6 +460,8 @@ h5 {
459460
}
460461

461462
&.action {
463+
text-align: right;
464+
462465
a {
463466
cursor: pointer;
464467
margin-right: 5px;

0 commit comments

Comments
 (0)