added safety remove for category and group

master
A1Gard 1 week ago
parent b0cb0d1ca4
commit 36d3501ae5

@ -7,6 +7,8 @@ use App\Http\Controllers\XController;
use App\Http\Requests\CategorySaveRequest; use App\Http\Requests\CategorySaveRequest;
use App\Models\Access; use App\Models\Access;
use App\Models\Category; use App\Models\Category;
use App\Models\Item;
use App\Models\Setting;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Helper; use App\Helper;
use Spatie\Image\Enums\AlignPosition; use Spatie\Image\Enums\AlignPosition;
@ -166,6 +168,14 @@ class CategoryController extends XController
public function destroy(Category $item) public function destroy(Category $item)
{ {
if (Setting::where('type','CATEGORY')->where('raw',$item->id)->count() > 0){
$msg = __("You can't delete this item while using it in setting.");
return redirect()->back()->withErrors($msg);
}
if (Item::where('menuable_type',Category::class)->where('menuable_type',$item->id)->count() > 0){
$msg = __("You can't delete this item while using it in menu.");
return redirect()->back()->withErrors($msg);
}
return parent::delete($item); return parent::delete($item);
} }

@ -7,6 +7,8 @@ use App\Http\Controllers\XController;
use App\Http\Requests\GroupSaveRequest; use App\Http\Requests\GroupSaveRequest;
use App\Models\Access; use App\Models\Access;
use App\Models\Group; use App\Models\Group;
use App\Models\Item;
use App\Models\Setting;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Helper; use App\Helper;
use Spatie\Image\Enums\AlignPosition; use Spatie\Image\Enums\AlignPosition;
@ -162,6 +164,14 @@ class GroupController extends XController
public function destroy(Group $item) public function destroy(Group $item)
{ {
if (Setting::where('type','GROUP')->where('raw',$item->id)->count() > 0){
$msg = __("You can't delete this item while using it in setting.");
return redirect()->back()->withErrors($msg);
}
if (Item::where('menuable_type',Group::class)->where('menuable_type',$item->id)->count() > 0){
$msg = __("You can't delete this item while using it in menu.");
return redirect()->back()->withErrors($msg);
}
return parent::delete($item); return parent::delete($item);
} }

@ -162,6 +162,7 @@
"Customer mobile": "موبایل مشتری", "Customer mobile": "موبایل مشتری",
"Customers": "مشتری‌ها", "Customers": "مشتری‌ها",
"Customers list": "فهرست مشتری‌ها", "Customers list": "فهرست مشتری‌ها",
"Customize theme": "سفارشی سازی قالب",
"DEMO VERSION": "نگارش آزمایشی", "DEMO VERSION": "نگارش آزمایشی",
"Dashboard": "پیشخوان", "Dashboard": "پیشخوان",
"Date": "تاریخ", "Date": "تاریخ",
@ -232,6 +233,7 @@
"Extra description": "توضیحات اضافه", "Extra description": "توضیحات اضافه",
"Failed Invoices": "صورت حساب‌های ناموفق", "Failed Invoices": "صورت حساب‌های ناموفق",
"False": "خیر", "False": "خیر",
"Fast contact form": "دسترسی سریع تماس",
"Favorites": "علاقه‌مندی‌ها", "Favorites": "علاقه‌مندی‌ها",
"Feature image": "تصویر شاخص", "Feature image": "تصویر شاخص",
"Female": "مونث", "Female": "مونث",
@ -264,6 +266,7 @@
"Guest": "میهمان", "Guest": "میهمان",
"GuestLogs list": "فهرست لاگ میهمان ها", "GuestLogs list": "فهرست لاگ میهمان ها",
"Height": "قد", "Height": "قد",
"Hello world": "سلام دنیا",
"Home": "خانه", "Home": "خانه",
"ID": "", "ID": "",
"Icon": "نماد", "Icon": "نماد",
@ -432,6 +435,7 @@
"SVG image": "تصویر SVG", "SVG image": "تصویر SVG",
"Save": "ذخیره", "Save": "ذخیره",
"Save all settings": "ذخیره همه تنظیمات", "Save all settings": "ذخیره همه تنظیمات",
"Save and build": "ذخیره و ساخت",
"Search": "جستجو", "Search": "جستجو",
"Search & Filter": "جستجو و صافی", "Search & Filter": "جستجو و صافی",
"Search for": "جستجو برای", "Search for": "جستجو برای",
@ -454,6 +458,7 @@
"Setting of website updated": "تنظیمات به روز شدند", "Setting of website updated": "تنظیمات به روز شدند",
"Settings": "تنظیمات", "Settings": "تنظیمات",
"Sex": "جنسیت", "Sex": "جنسیت",
"Shop": "خرید",
"Shopping card": "سبد خرید", "Shopping card": "سبد خرید",
"Show": "نمایش", "Show": "نمایش",
"Show list": "نمایش فهرست", "Show list": "نمایش فهرست",
@ -560,6 +565,8 @@
"You can create \/ edit clip as draft, publish it when you want": "شما میتوانید کلیپ را ایجاد و ویرایش کنید، هر زمان که خواستید آن را منتشر کنید", "You can create \/ edit clip as draft, publish it when you want": "شما میتوانید کلیپ را ایجاد و ویرایش کنید، هر زمان که خواستید آن را منتشر کنید",
"You can leave the slug empty; it will be generated automatically.": "شما می‌توانید نامک را خالی بگذارید به صورت خودکار ساخته شود", "You can leave the slug empty; it will be generated automatically.": "شما می‌توانید نامک را خالی بگذارید به صورت خودکار ساخته شود",
"You can't change email or password in demo version": "در نگارش آزمایشی امکان تعویض رایانامه یا گذرواژه وجود ندارد", "You can't change email or password in demo version": "در نگارش آزمایشی امکان تعویض رایانامه یا گذرواژه وجود ندارد",
"You can't delete this item while using it in menu.": "شما نمی‌توانید این مورد را مادامی که در فهرست استفاده می‌کند حذف کنید.",
"You can't delete this item while using it in setting.": "شما نمی‌توانید این مورد را مادامی که در تنظیمات استفاده می‌کند حذف کنید.",
"You don't have access this action": "شما دسترسی لازم برای این بخش را ندارید", "You don't have access this action": "شما دسترسی لازم برای این بخش را ندارید",
"You don't have any comments, We are so pleased to hear your look-out": "شما هیچ دیدگاهی تاکنون ارسال نکرده‌اید، از شما تقاضا داریم تجربیات و نگرش خود را برای ما ارسال کنید، چون بسیار ارزشمند است", "You don't have any comments, We are so pleased to hear your look-out": "شما هیچ دیدگاهی تاکنون ارسال نکرده‌اید، از شما تقاضا داریم تجربیات و نگرش خود را برای ما ارسال کنید، چون بسیار ارزشمند است",
"You have some products in your shopping card.": "در سبد خرید شما محصول وجود دارد", "You have some products in your shopping card.": "در سبد خرید شما محصول وجود دارد",

Loading…
Cancel
Save