Skip to content

Commit 80203a0

Browse files
committed
Issue #2256 has been fixed.
1 parent 0850bf9 commit 80203a0

File tree

13 files changed

+153
-98
lines changed

13 files changed

+153
-98
lines changed

packages/Webkul/Admin/src/Http/Controllers/Contact/Persons/PersonController.php

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Webkul\Admin\Http\Controllers\Contact\Persons;
44

5+
use Exception;
56
use Illuminate\Http\JsonResponse;
67
use Illuminate\Http\RedirectResponse;
78
use Illuminate\Http\Resources\Json\JsonResource;
@@ -138,17 +139,27 @@ public function destroy(int $id): JsonResponse
138139
{
139140
$person = $this->personRepository->findOrFail($id);
140141

142+
if (
143+
$person->leads
144+
&& $person->leads->count() > 0
145+
) {
146+
return response()->json([
147+
'message' => trans('admin::app.contacts.persons.index.delete-failed'),
148+
], 400);
149+
}
150+
141151
try {
142-
Event::dispatch('contacts.person.delete.before', $id);
152+
Event::dispatch('contacts.person.delete.before', $person);
143153

144-
$person->delete($id);
154+
$person->delete();
145155

146-
Event::dispatch('contacts.person.delete.after', $id);
156+
Event::dispatch('contacts.person.delete.after', $person);
147157

148158
return response()->json([
149159
'message' => trans('admin::app.contacts.persons.index.delete-success'),
150160
], 200);
151-
} catch (\Exception $exception) {
161+
162+
} catch (Exception $exception) {
152163
return response()->json([
153164
'message' => trans('admin::app.contacts.persons.index.delete-failed'),
154165
], 400);
@@ -158,20 +169,43 @@ public function destroy(int $id): JsonResponse
158169
/**
159170
* Mass Delete the specified resources.
160171
*/
161-
public function massDestroy(MassDestroyRequest $massDestroyRequest): JsonResponse
172+
public function massDestroy(MassDestroyRequest $request): JsonResponse
162173
{
163-
$persons = $this->personRepository->findWhereIn('id', $massDestroyRequest->input('indices'));
174+
try {
175+
$persons = $this->personRepository->findWhereIn('id', $request->input('indices', []));
164176

165-
foreach ($persons as $person) {
166-
Event::dispatch('contact.person.delete.before', $person);
177+
$notDeleted = [];
167178

168-
$this->personRepository->delete($person->id);
179+
foreach ($persons as $person) {
180+
if (
181+
$person->leads
182+
&& $person->leads->count() > 0
183+
) {
184+
$notDeleted[] = $person->name ?? "ID: {$person->id}";
169185

170-
Event::dispatch('contact.person.delete.after', $person);
171-
}
186+
continue;
187+
}
188+
189+
Event::dispatch('contact.person.delete.before', $person);
172190

173-
return response()->json([
174-
'message' => trans('admin::app.contacts.persons.index.delete-success'),
175-
]);
191+
$this->personRepository->delete($person->id);
192+
193+
Event::dispatch('contact.person.delete.after', $person);
194+
}
195+
196+
$message = trans('admin::app.contacts.persons.index.delete-success');
197+
198+
if (! empty($notDeleted)) {
199+
$message .= ' '.trans('admin::app.contacts.persons.index.delete-partial-warning', [
200+
'persons' => implode(', ', $notDeleted),
201+
]);
202+
}
203+
204+
return response()->json(['message' => $message]);
205+
} catch (Exception $exception) {
206+
return response()->json([
207+
'message' => trans('admin::app.contacts.persons.index.delete-failed'),
208+
], 400);
209+
}
176210
}
177211
}

packages/Webkul/Admin/src/Http/Controllers/Settings/WebFormController.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,6 @@ public function store(): RedirectResponse
8484

8585
$data = request()->all();
8686

87-
$data['create_lead'] = isset($data['create_lead']) ? 1 : 0;
88-
8987
$webForm = $this->webFormRepository->create($data);
9088

9189
Event::dispatch('settings.web_forms.create.after', $webForm);
@@ -126,8 +124,6 @@ public function update(int $id): RedirectResponse
126124

127125
$data = request()->all();
128126

129-
$data['create_lead'] = isset($data['create_lead']) ? 1 : 0;
130-
131127
$webForm = $this->webFormRepository->update($data, $id);
132128

133129
Event::dispatch('settings.web_forms.update.after', $webForm);

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -539,12 +539,13 @@
539539
'contacts' => [
540540
'persons' => [
541541
'index' => [
542-
'title' => 'الأشخاص',
543-
'create-btn' => 'إنشاء شخص',
544-
'create-success' => 'تم إنشاء الشخص بنجاح.',
545-
'update-success' => 'تم تحديث الشخص بنجاح.',
546-
'delete-success' => 'تم حذف الشخص بنجاح.',
547-
'delete-failed' => 'لا يمكن حذف الشخص.',
542+
'title' => 'الأشخاص',
543+
'create-btn' => 'إنشاء شخص',
544+
'create-success' => 'تم إنشاء الشخص بنجاح.',
545+
'update-success' => 'تم تحديث الشخص بنجاح.',
546+
'delete-success' => 'تم حذف الشخص بنجاح.',
547+
'delete-failed' => 'لا يمكن حذف الشخص.',
548+
'delete-partial-warning' => 'ومع ذلك، لا يمكن حذف الأشخاص التاليين لأن لديهم عملاء محتملين: :persons.',
548549

549550
'datagrid' => [
550551
'contact-numbers' => 'أرقام الاتصال',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -541,12 +541,13 @@
541541
'contacts' => [
542542
'persons' => [
543543
'index' => [
544-
'title' => 'Persons',
545-
'create-btn' => 'Create Person',
546-
'create-success' => 'Person created successfully.',
547-
'update-success' => 'Person updated successfully.',
548-
'delete-success' => 'Person deleted successfully.',
549-
'delete-failed' => 'Person can not be deleted.',
544+
'title' => 'Persons',
545+
'create-btn' => 'Create Person',
546+
'create-success' => 'Person created successfully.',
547+
'update-success' => 'Person updated successfully.',
548+
'delete-success' => 'Person deleted successfully.',
549+
'delete-failed' => 'Person can not be deleted.',
550+
'delete-partial-warning' => 'However, the following could not be deleted because they have leads: :persons.',
550551

551552
'datagrid' => [
552553
'contact-numbers' => 'Contact Numbers',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -543,12 +543,13 @@
543543
'contacts' => [
544544
'persons' => [
545545
'index' => [
546-
'title' => 'Personas',
547-
'create-btn' => 'Crear Persona',
548-
'create-success' => 'Persona creada con éxito.',
549-
'update-success' => 'Persona actualizada con éxito.',
550-
'delete-success' => 'Persona eliminada con éxito.',
551-
'delete-failed' => 'No se puede eliminar la persona.',
546+
'title' => 'Personas',
547+
'create-btn' => 'Crear Persona',
548+
'create-success' => 'Persona creada con éxito.',
549+
'update-success' => 'Persona actualizada con éxito.',
550+
'delete-success' => 'Persona eliminada con éxito.',
551+
'delete-failed' => 'No se puede eliminar la persona.',
552+
'delete-partial-warning' => 'Sin embargo, no se pudieron eliminar los siguientes porque tienen clientes potenciales: :persons.',
552553

553554
'datagrid' => [
554555
'contact-numbers' => 'Números de Contacto',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -544,12 +544,13 @@
544544
'contacts' => [
545545
'persons' => [
546546
'index' => [
547-
'title' => 'اشخاص',
548-
'create-btn' => 'ایجاد شخص',
549-
'create-success' => 'شخص با موفقیت ایجاد شد.',
550-
'update-success' => 'شخص با موفقیت به‌روزرسانی شد.',
551-
'delete-success' => 'شخص با موفقیت حذف شد.',
552-
'delete-failed' => 'حذف شخص ممکن نیست.',
547+
'title' => 'اشخاص',
548+
'create-btn' => 'ایجاد شخص',
549+
'create-success' => 'شخص با موفقیت ایجاد شد.',
550+
'update-success' => 'شخص با موفقیت به‌روزرسانی شد.',
551+
'delete-success' => 'شخص با موفقیت حذف شد.',
552+
'delete-failed' => 'حذف شخص ممکن نیست.',
553+
'delete-partial-warning' => 'با این حال، موارد زیر به دلیل داشتن سرنخ قابل حذف نیستند: :persons.',
553554

554555
'datagrid' => [
555556
'contact-numbers' => 'شماره‌های تماس',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -537,12 +537,13 @@
537537
'contacts' => [
538538
'persons' => [
539539
'index' => [
540-
'title' => 'Pessoas',
541-
'create-btn' => 'Adicionar Pessoa',
542-
'create-success' => 'Pessoa adicionada com sucesso.',
543-
'update-success' => 'Pessoa atualizada com sucesso.',
544-
'delete-success' => 'Pessoa excluída com sucesso.',
545-
'delete-failed' => 'Não foi possível excluir a pessoa.',
540+
'title' => 'Pessoas',
541+
'create-btn' => 'Adicionar Pessoa',
542+
'create-success' => 'Pessoa adicionada com sucesso.',
543+
'update-success' => 'Pessoa atualizada com sucesso.',
544+
'delete-success' => 'Pessoa excluída com sucesso.',
545+
'delete-failed' => 'Não foi possível excluir a pessoa.',
546+
'delete-partial-warning' => 'No entanto, os seguintes não puderam ser excluídos porque possuem leads: :persons.',
546547

547548
'datagrid' => [
548549
'contact-numbers' => 'Números de Contato',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -543,12 +543,13 @@
543543
'contacts' => [
544544
'persons' => [
545545
'index' => [
546-
'title' => 'Kişiler',
547-
'create-btn' => 'Kişi Oluştur',
548-
'create-success' => 'Kişi başarıyla oluşturuldu.',
549-
'update-success' => 'Kişi başarıyla güncellendi.',
550-
'delete-success' => 'Kişi başarıyla silindi.',
551-
'delete-failed' => 'Kişi silinemedi.',
546+
'title' => 'Kişiler',
547+
'create-btn' => 'Kişi Oluştur',
548+
'create-success' => 'Kişi başarıyla oluşturuldu.',
549+
'update-success' => 'Kişi başarıyla güncellendi.',
550+
'delete-success' => 'Kişi başarıyla silindi.',
551+
'delete-failed' => 'Kişi silinemedi.',
552+
'delete-partial-warning' => 'Ancak aşağıdakiler silinemedi çünkü bunların fırsatları (leads) var: :persons.',
552553

553554
'datagrid' => [
554555
'contact-numbers' => 'İletişim Numaraları',

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -540,12 +540,13 @@
540540
'contacts' => [
541541
'persons' => [
542542
'index' => [
543-
'title' => 'Người',
544-
'create-btn' => 'Tạo Người',
545-
'create-success' => 'Người đã được tạo thành công.',
546-
'update-success' => 'Người đã được cập nhật thành công.',
547-
'delete-success' => 'Người đã được xóa thành công.',
548-
'delete-failed' => 'Không thể xóa người này.',
543+
'title' => 'Người',
544+
'create-btn' => 'Tạo Người',
545+
'create-success' => 'Người đã được tạo thành công.',
546+
'update-success' => 'Người đã được cập nhật thành công.',
547+
'delete-success' => 'Người đã được xóa thành công.',
548+
'delete-failed' => 'Không thể xóa người này.',
549+
'delete-partial-warning' => 'Tuy nhiên, các mục sau không thể bị xóa vì có các cơ hội tiềm năng: :persons.',
549550

550551
'datagrid' => [
551552
'contact-numbers' => 'Số Liên hệ',

packages/Webkul/Admin/src/Resources/views/settings/web-forms/create.blade.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ class="!w-1/4 rounded-r-none"
9595
id="submit_success_content"
9696
class="rounded-l-none"
9797
rules="required"
98+
:value="old('submit_success_content')"
9899
:label="trans('admin::app.settings.webforms.create.submit-success-action')"
99100
::placeholder="placeholder"
100101
/>
@@ -120,7 +121,7 @@ class="rounded-l-none"
120121
name="create_lead"
121122
value="1"
122123
:label="trans('admin::app.settings.webforms.create.create-lead')"
123-
v-model="createLead"
124+
:checked="false"
124125
/>
125126
126127
</x-admin::form.control-group>
@@ -546,7 +547,7 @@ class="!h-10 !w-12 rounded-l-none p-1 dark:border-gray-800 dark:bg-gray-900"
546547
data() {
547548
return {
548549
submitSuccessAction: {
549-
value: 'message',
550+
value: '{{ old('submit_success_action', 'message') }}',
550551
551552
options: [
552553
{ value: 'message', label: '@lang('admin::app.settings.webforms.create.display-custom-message')' },

0 commit comments

Comments
 (0)