diff --git a/packages/Webkul/Admin/src/Http/Controllers/Settings/SourceController.php b/packages/Webkul/Admin/src/Http/Controllers/Settings/SourceController.php index 8fc62124b..861016c35 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Settings/SourceController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Settings/SourceController.php @@ -2,6 +2,7 @@ namespace Webkul\Admin\Http\Controllers\Settings; +use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Event; use Illuminate\View\View; @@ -91,17 +92,23 @@ public function destroy(int $id): JsonResponse { $source = $this->sourceRepository->findOrFail($id); + if ($source->leads()->count() > 0) { + return new JsonResponse([ + 'message' => trans('admin::app.settings.sources.index.delete-failed-associated-leads'), + ], 400); + } + try { Event::dispatch('settings.source.delete.before', $id); - $source->delete($id); + $source->delete(); Event::dispatch('settings.source.delete.after', $id); return new JsonResponse([ 'message' => trans('admin::app.settings.sources.index.delete-success'), ], 200); - } catch (\Exception $exception) { + } catch (Exception $exception) { return new JsonResponse([ 'message' => trans('admin::app.settings.sources.index.delete-failed'), ], 400); diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php index b22e50575..a58c13bef 100644 --- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php @@ -859,12 +859,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'إنشاء مصدر', - 'create-success' => 'تم إنشاء المصدر بنجاح.', - 'delete-failed' => 'لا يمكن حذف المصدر.', - 'delete-success' => 'تم حذف المصدر بنجاح.', - 'title' => 'المصادر', - 'update-success' => 'تم تحديث المصدر بنجاح.', + 'title' => 'المصادر', + 'create-btn' => 'إنشاء مصدر', + 'create-success' => 'تم إنشاء المصدر بنجاح.', + 'delete-failed' => 'لا يمكن حذف المصدر.', + 'delete-success' => 'تم حذف المصدر بنجاح.', + 'update-success' => 'تم تحديث المصدر بنجاح.', + 'delete-failed-associated-leads' => 'لا يمكن حذف المصدر لأنه مرتبط بعملاء محتملين موجودين. يرجى فصل أو تحديث هؤلاء العملاء قبل الحذف.', 'datagrid' => [ 'delete' => 'حذف', diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 5d70080f8..ad42b7397 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -861,12 +861,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'Create Source', - 'create-success' => 'Source created successfully.', - 'delete-failed' => 'Source can not be deleted.', - 'delete-success' => 'Source deleted successfully.', - 'title' => 'Sources', - 'update-success' => 'Source updated successfully.', + 'title' => 'Sources', + 'create-btn' => 'Create Source', + 'create-success' => 'Source created successfully.', + 'delete-failed' => 'Source can not be deleted.', + 'delete-success' => 'Source deleted successfully.', + 'update-success' => 'Source updated successfully.', + 'delete-failed-associated-leads' => 'Source cannot be deleted because it is associated with existing leads. Please detach or update those leads before deletion.', 'datagrid' => [ 'delete' => 'Delete', diff --git a/packages/Webkul/Admin/src/Resources/lang/es/app.php b/packages/Webkul/Admin/src/Resources/lang/es/app.php index 050c1c788..ab0682107 100644 --- a/packages/Webkul/Admin/src/Resources/lang/es/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/es/app.php @@ -863,12 +863,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'Crear Fuente', - 'create-success' => 'Fuente creada con éxito.', - 'delete-failed' => 'No se puede eliminar la fuente.', - 'delete-success' => 'Fuente eliminada con éxito.', - 'title' => 'Fuentes', - 'update-success' => 'Fuente actualizada con éxito.', + 'title' => 'Fuentes', + 'create-btn' => 'Crear Fuente', + 'create-success' => 'Fuente creada con éxito.', + 'delete-failed' => 'No se puede eliminar la fuente.', + 'delete-success' => 'Fuente eliminada con éxito.', + 'update-success' => 'Fuente actualizada con éxito.', + 'delete-failed-associated-leads' => 'No se puede eliminar la fuente porque está asociada a clientes potenciales existentes. Por favor, desvincúlelos o actualícelos antes de eliminar.', 'datagrid' => [ 'delete' => 'Eliminar', diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php index 254e1ed15..46042d0cc 100644 --- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php @@ -864,12 +864,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'ایجاد منبع', - 'create-success' => 'منبع با موفقیت ایجاد شد.', - 'delete-failed' => 'منبع قابل حذف نیست.', - 'delete-success' => 'منبع با موفقیت حذف شد.', - 'title' => 'منابع', - 'update-success' => 'منبع با موفقیت به‌روزرسانی شد.', + 'title' => 'منابع', + 'create-btn' => 'ایجاد منبع', + 'create-success' => 'منبع با موفقیت ایجاد شد.', + 'delete-failed' => 'امکان حذف منبع وجود ندارد.', + 'delete-success' => 'منبع با موفقیت حذف شد.', + 'update-success' => 'منبع با موفقیت به‌روزرسانی شد.', + 'delete-failed-associated-leads' => 'نمی‌توان منبع را حذف کرد زیرا با سرنخ‌های موجود مرتبط است. لطفاً ابتدا آن‌ها را جدا کرده یا به‌روزرسانی کنید.', 'datagrid' => [ 'delete' => 'حذف', diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php index b1edbec73..54a76db20 100644 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -857,12 +857,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'Adicionar Origem', - 'create-success' => 'Origem adicionada com sucesso.', - 'delete-failed' => 'Não é possível excluir a origem.', - 'delete-success' => 'Origem excluída com sucesso.', - 'title' => 'Origens', - 'update-success' => 'Origem atualizada com sucesso.', + 'title' => 'Fontes', + 'create-btn' => 'Criar Fonte', + 'create-success' => 'Fonte criada com sucesso.', + 'delete-failed' => 'Não foi possível excluir a fonte.', + 'delete-success' => 'Fonte excluída com sucesso.', + 'update-success' => 'Fonte atualizada com sucesso.', + 'delete-failed-associated-leads' => 'Não é possível excluir a fonte porque está associada a leads existentes. Por favor, desvincule ou atualize esses leads antes da exclusão.', 'datagrid' => [ 'delete' => 'Excluir', diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php index 14334e978..8d3e9f70b 100644 --- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php @@ -863,12 +863,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'Kaynak Oluştur', - 'create-success' => 'Kaynak başarıyla oluşturuldu.', - 'delete-failed' => 'Kaynak silinemedi.', - 'delete-success' => 'Kaynak başarıyla silindi.', - 'title' => 'Kaynaklar', - 'update-success' => 'Kaynak başarıyla güncellendi.', + 'title' => 'Kaynaklar', + 'create-btn' => 'Kaynak Oluştur', + 'create-success' => 'Kaynak başarıyla oluşturuldu.', + 'delete-failed' => 'Kaynak silinemedi.', + 'delete-success' => 'Kaynak başarıyla silindi.', + 'update-success' => 'Kaynak başarıyla güncellendi.', + 'delete-failed-associated-leads' => 'Kaynak silinemiyor çünkü mevcut adaylarla ilişkili. Lütfen bu adayları silmeden önce bağlantılarını kaldırın veya güncelleyin.', 'datagrid' => [ 'delete' => 'Sil', diff --git a/packages/Webkul/Admin/src/Resources/lang/vi/app.php b/packages/Webkul/Admin/src/Resources/lang/vi/app.php index 77a9faea5..3ceb51306 100644 --- a/packages/Webkul/Admin/src/Resources/lang/vi/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/vi/app.php @@ -859,12 +859,13 @@ 'sources' => [ 'index' => [ - 'create-btn' => 'Tạo Nguồn', - 'create-success' => 'Nguồn đã được tạo thành công.', - 'delete-failed' => 'Không thể xóa nguồn.', - 'delete-success' => 'Nguồn đã được xóa thành công.', - 'title' => 'Các Nguồn', - 'update-success' => 'Nguồn đã được cập nhật thành công.', + 'title' => 'Nguồn', + 'create-btn' => 'Tạo Nguồn', + 'create-success' => 'Tạo nguồn thành công.', + 'delete-failed' => 'Không thể xóa nguồn.', + 'delete-success' => 'Xóa nguồn thành công.', + 'update-success' => 'Cập nhật nguồn thành công.', + 'delete-failed-associated-leads' => 'Không thể xóa nguồn vì nó đang được liên kết với các khách hàng tiềm năng. Vui lòng hủy liên kết hoặc cập nhật các khách hàng đó trước khi xóa.', 'datagrid' => [ 'delete' => 'Xóa', diff --git a/packages/Webkul/Lead/src/Models/Source.php b/packages/Webkul/Lead/src/Models/Source.php index 350fd3f04..d41390d08 100644 --- a/packages/Webkul/Lead/src/Models/Source.php +++ b/packages/Webkul/Lead/src/Models/Source.php @@ -23,6 +23,6 @@ class Source extends Model implements SourceContract */ public function leads() { - return $this->hasMany(LeadProxy::modelClass()); + return $this->hasMany(LeadProxy::modelClass(), 'lead_source_id', 'id'); } }