Skip to content

Commit 822c1fe

Browse files
Merge pull request #769 from jitendra-webkul/master
Issue #435 fixed
2 parents 448a22c + b59ef34 commit 822c1fe

File tree

6 files changed

+67
-9
lines changed

6 files changed

+67
-9
lines changed

packages/Webkul/Admin/src/DataGrids/Mail/EmailDataGrid.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ public function prepareActions()
108108
'title' => trans('ui::app.datagrid.delete'),
109109
'method' => 'DELETE',
110110
'route' => 'admin.mail.delete',
111+
'params' => [
112+
'type' => request('route') == 'trash'
113+
? 'delete'
114+
: 'trash'
115+
],
111116
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'email']),
112117
'icon' => 'trash-icon',
113118
]);
@@ -120,10 +125,25 @@ public function prepareActions()
120125
*/
121126
public function prepareMassActions()
122127
{
128+
if (request('route') == 'trash') {
129+
$this->addMassAction([
130+
'type' => 'delete',
131+
'label' => trans('admin::app.datagrid.move-to-inbox'),
132+
'action' => route('admin.mail.mass_update', [
133+
'folders' => ['inbox'],
134+
]),
135+
'method' => 'PUT',
136+
]);
137+
}
138+
123139
$this->addMassAction([
124140
'type' => 'delete',
125141
'label' => trans('ui::app.datagrid.delete'),
126-
'action' => route('admin.mail.mass_delete'),
142+
'action' => route('admin.mail.mass_delete', [
143+
'type' => request('route') == 'trash'
144+
? 'delete'
145+
: 'trash',
146+
]),
127147
'method' => 'PUT',
128148
]);
129149
}

packages/Webkul/Admin/src/Http/Controllers/Mail/EmailController.php

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,28 @@ public function download($id)
253253
return Storage::download($attachment->path);
254254
}
255255

256+
/**
257+
* Mass Update the specified resources.
258+
*
259+
* @return \Illuminate\Http\Response
260+
*/
261+
public function massUpdate()
262+
{
263+
foreach (request('rows') as $emailId) {
264+
Event::dispatch('email.update.before', $emailId);
265+
266+
$this->emailRepository->update([
267+
'folders' => request('folders'),
268+
], $emailId);
269+
270+
Event::dispatch('email.update.after', $emailId);
271+
}
272+
273+
return response()->json([
274+
'message' => trans('admin::app.mail.mass-update-success'),
275+
]);
276+
}
277+
256278
/*
257279
* Remove the specified resource from storage.
258280
*
@@ -264,13 +286,19 @@ public function destroy($id)
264286
$email = $this->emailRepository->findOrFail($id);
265287

266288
try {
267-
Event::dispatch('email.delete.before', $id);
289+
Event::dispatch('email.' . request('type') . '.before', $id);
268290

269291
$parentId = $email->parent_id;
270292

271-
$this->emailRepository->delete($id);
293+
if (request('type') == 'trash') {
294+
$this->emailRepository->update([
295+
'folders' => ['trash'],
296+
], $id);
297+
} else {
298+
$this->emailRepository->delete($id);
299+
}
272300

273-
Event::dispatch('email.delete.after', $id);
301+
Event::dispatch('email.' . request('type') . '.after', $id);
274302

275303
if (request()->ajax()) {
276304
return response()->json([
@@ -306,11 +334,17 @@ public function destroy($id)
306334
public function massDestroy()
307335
{
308336
foreach (request('rows') as $emailId) {
309-
Event::dispatch('email.delete.before', $emailId);
337+
Event::dispatch('email.' . request('type') . '.before', $emailId);
310338

311-
$this->emailRepository->delete($emailId);
339+
if (request('type') == 'trash') {
340+
$this->emailRepository->update([
341+
'folders' => ['trash'],
342+
], $emailId);
343+
} else {
344+
$this->emailRepository->delete($emailId);
345+
}
312346

313-
Event::dispatch('email.delete.after', $emailId);
347+
Event::dispatch('email.' . request('type') . '.after', $emailId);
314348
}
315349

316350
return response()->json([

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,6 @@ public function massUpdate()
226226
{
227227
$count = 0;
228228

229-
$data = request()->all();
230-
231229
foreach (request('rows') as $userId) {
232230
if (auth()->guard('user')->user()->id == $userId) {
233231
continue;

packages/Webkul/Admin/src/Http/routes.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@
162162

163163
Route::delete('{id?}', 'EmailController@destroy')->name('admin.mail.delete');
164164

165+
Route::put('mass-update', 'EmailController@massUpdate')->name('admin.mail.mass_update');
166+
165167
Route::put('mass-destroy', 'EmailController@massDestroy')->name('admin.mail.mass_delete');
166168
});
167169

packages/Webkul/Admin/src/Resources/lang/ar/ar.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@
307307
'saved-to-draft' => 'تم حفظ البريد الإلكتروني في المسودة.',
308308
'delete-success' => 'تم حذف البريد الإلكتروني بنجاح.',
309309
'delete-failed' => 'لا يمكن حذف البريد الإلكتروني.',
310+
'mass-update-success' => 'Emails updated successfully.',
310311

311312
'forget-password' => [
312313
'subject' => 'إعادة تعيين كلمة مرور العميل',
@@ -724,6 +725,7 @@
724725
'rotten-days' => 'أيام فاسدة',
725726
'yes' => 'نعم',
726727
'no' => 'لا',
728+
'move-to-inbox' => 'Move to Inbox',
727729
'update-success' => ':تم تحديث المورد بنجاح.',
728730
'destroy-success' => ':تم حذف المورد بنجاح.',
729731
'destroy-failed' => ':لا يمكن حذف المورد.',

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@
310310
'saved-to-draft' => 'Email saved to draft.',
311311
'delete-success' => 'Email deleted successfully.',
312312
'delete-failed' => 'Email can not be deleted.',
313+
'mass-update-success' => 'Emails updated successfully.',
313314

314315
'forget-password' => [
315316
'subject' => 'Customer Reset Password',
@@ -727,6 +728,7 @@
727728
'rotten-days' => 'Rotten Days',
728729
'yes' => 'Yes',
729730
'no' => 'No',
731+
'move-to-inbox' => 'Move to Inbox',
730732
'update-success' => ':resource updated successfully.',
731733
'destroy-success' => ':resource deleted successfully.',
732734
'destroy-failed' => ':resource can not be deleted.',

0 commit comments

Comments
 (0)