Actualizacion de Diseño Logins y Parte de Registro Negocios
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 89 KiB |
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"name":"Seller Subscription System",
|
||||
"unique_identifier":"seller_subscription",
|
||||
"version":"1.9",
|
||||
"minimum_item_version":"7.0.0",
|
||||
"addon_banner":"seller_subscription.jpg",
|
||||
"directory":[
|
||||
{
|
||||
"name":[
|
||||
"resources/views/seller_packages",
|
||||
"resources/views/seller_packages/frontend"
|
||||
]
|
||||
}
|
||||
],
|
||||
"sql_file":"",
|
||||
"files":[
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/views/seller_packages/frontend/seller_packages_list.blade.php",
|
||||
"update_directory":"resources/views/seller_packages/frontend/seller_packages_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/views/seller_packages/frontend/packages_payment_list.blade.php",
|
||||
"update_directory":"resources/views/seller_packages/frontend/packages_payment_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/views/seller_packages/create.blade.php",
|
||||
"update_directory":"resources/views/seller_packages/create.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/views/seller_packages/edit.blade.php",
|
||||
"update_directory":"resources/views/seller_packages/edit.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/views/seller_packages/index.blade.php",
|
||||
"update_directory":"resources/views/seller_packages/index.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/controllers/SellerPackageController.php",
|
||||
"update_directory":"app/Http/Controllers/SellerPackageController.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/controllers/SellerPackagePaymentController.php",
|
||||
"update_directory":"app/Http/Controllers/SellerPackagePaymentController.php"
|
||||
},
|
||||
{
|
||||
"root_directory":"addons/seller_subscription/assets/seller_subscription.jpg",
|
||||
"update_directory":"public/seller_subscription.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\SellerPackage;
|
||||
use App\Models\SellerPackageTranslation;
|
||||
use App\Models\SellerPackagePayment;
|
||||
use App\Models\Shop;
|
||||
use Artisan;
|
||||
use Auth;
|
||||
use Session;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class SellerPackageController extends Controller
|
||||
{
|
||||
public function __construct() {
|
||||
// Staff Permission Check
|
||||
$this->middleware(['permission:view_all_seller_packages'])->only('index');
|
||||
$this->middleware(['permission:add_seller_package'])->only('create');
|
||||
$this->middleware(['permission:edit_seller_package'])->only('edit');
|
||||
$this->middleware(['permission:delete_seller_package'])->only('destroy');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$seller_packages = SellerPackage::all();
|
||||
return view('seller_packages.index', compact('seller_packages'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('seller_packages.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$seller_package = new SellerPackage;
|
||||
$seller_package->name = $request->name;
|
||||
$seller_package->amount = $request->amount;
|
||||
$seller_package->product_upload_limit = $request->product_upload_limit;
|
||||
$seller_package->duration = $request->duration;
|
||||
$seller_package->logo = $request->logo;
|
||||
if ($seller_package->save()) {
|
||||
|
||||
$seller_package_translation = SellerPackageTranslation::firstOrNew(['lang' => env('DEFAULT_LANGUAGE'), 'seller_package_id' => $seller_package->id]);
|
||||
$seller_package_translation->name = $request->name;
|
||||
$seller_package_translation->save();
|
||||
|
||||
flash(translate('Package has been inserted successfully'))->success();
|
||||
return redirect()->route('seller_packages.index');
|
||||
} else {
|
||||
flash(translate('Something went wrong'))->error();
|
||||
return back();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Request $request, $id)
|
||||
{
|
||||
$lang = $request->lang;
|
||||
$seller_package = SellerPackage::findOrFail($id);
|
||||
return view('seller_packages.edit', compact('seller_package', 'lang'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$seller_package = SellerPackage::findOrFail($id);
|
||||
if ($request->lang == env("DEFAULT_LANGUAGE")) {
|
||||
$seller_package->name = $request->name;
|
||||
}
|
||||
$seller_package->amount = $request->amount;
|
||||
$seller_package->product_upload_limit = $request->product_upload_limit;
|
||||
$seller_package->duration = $request->duration;
|
||||
$seller_package->logo = $request->logo;
|
||||
if ($seller_package->save()) {
|
||||
|
||||
$seller_package_translation = SellerPackageTranslation::firstOrNew(['lang' => $request->lang, 'seller_package_id' => $seller_package->id]);
|
||||
$seller_package_translation->name = $request->name;
|
||||
$seller_package_translation->save();
|
||||
flash(translate('Package has been inserted successfully'))->success();
|
||||
return redirect()->route('seller_packages.index');
|
||||
} else {
|
||||
flash(translate('Something went wrong'))->error();
|
||||
return back();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$seller_package = SellerPackage::findOrFail($id);
|
||||
foreach ($seller_package->seller_package_translations as $key => $seller_package_translation) {
|
||||
$seller_package_translation->delete();
|
||||
}
|
||||
SellerPackage::destroy($id);
|
||||
flash(translate('Package has been deleted successfully'))->success();
|
||||
return redirect()->route('seller_packages.index');
|
||||
}
|
||||
|
||||
|
||||
//FrontEnd
|
||||
//@index
|
||||
public function packages_payment_list()
|
||||
{
|
||||
$seller_packages_payment = SellerPackagePayment::with('seller_package')->where('user_id', Auth::user()->id)->paginate(15);
|
||||
return view('seller_packages.frontend.packages_payment_list', compact('seller_packages_payment'));
|
||||
}
|
||||
|
||||
public function seller_packages_list()
|
||||
{
|
||||
$seller_packages = SellerPackage::all();
|
||||
return view('seller_packages.frontend.seller_packages_list', compact('seller_packages'));
|
||||
}
|
||||
|
||||
public function purchase_package(Request $request)
|
||||
{
|
||||
$data['seller_package_id'] = $request->seller_package_id;
|
||||
$data['payment_method'] = $request->payment_option;
|
||||
|
||||
$request->session()->put('payment_type', 'seller_package_payment');
|
||||
$request->session()->put('payment_data', $data);
|
||||
|
||||
$seller_package = SellerPackage::findOrFail(Session::get('payment_data')['seller_package_id']);
|
||||
|
||||
if ($seller_package->amount == 0) {
|
||||
return $this->purchase_payment_done(Session::get('payment_data'), null);
|
||||
} elseif (Auth::user()->shop->seller_package != null && $seller_package->product_upload_limit < Auth::user()->shop->seller_package->product_upload_limit) {
|
||||
flash(translate('You have more uploaded products than this package limit. You need to remove excessive products to downgrade.'))->warning();
|
||||
return back();
|
||||
}
|
||||
|
||||
$decorator = __NAMESPACE__ . '\\Payment\\' . str_replace(' ', '', ucwords(str_replace('_', ' ', $request->payment_option))) . "Controller";
|
||||
if (class_exists($decorator)) {
|
||||
return (new $decorator)->pay($request);
|
||||
}
|
||||
}
|
||||
|
||||
public function purchase_payment_done($payment_data, $payment)
|
||||
{
|
||||
$seller = Auth::user()->shop;
|
||||
$seller->seller_package_id = Session::get('payment_data')['seller_package_id'];
|
||||
$seller_package = SellerPackage::findOrFail(Session::get('payment_data')['seller_package_id']);
|
||||
$seller->product_upload_limit = $seller_package->product_upload_limit;
|
||||
$seller->package_invalid_at = date('Y-m-d', strtotime($seller->package_invalid_at . ' +' . $seller_package->duration . 'days'));
|
||||
$seller->save();
|
||||
|
||||
$seller_package = new SellerPackagePayment;
|
||||
$seller_package->user_id = Auth::user()->id;
|
||||
$seller_package->seller_package_id = Session::get('payment_data')['seller_package_id'];
|
||||
$seller_package->payment_method = Session::get('payment_data')['payment_method'];
|
||||
$seller_package->payment_details = $payment;
|
||||
$seller_package->approval = 1;
|
||||
$seller_package->offline_payment = 2;
|
||||
$seller_package->save();
|
||||
|
||||
flash(translate('Package purchasing successful'))->success();
|
||||
return redirect()->route('seller.dashboard');
|
||||
}
|
||||
|
||||
public function unpublish_products(Request $request)
|
||||
{
|
||||
foreach (Shop::all() as $shop) {
|
||||
if ($shop->package_invalid_at != null && Carbon::now()->diffInDays(Carbon::parse($shop->package_invalid_at), false) <= 0) {
|
||||
foreach ($shop->user->products as $product) {
|
||||
$product->published = 0;
|
||||
$product->save();
|
||||
}
|
||||
$shop->seller_package_id = null;
|
||||
$shop->save();
|
||||
}
|
||||
}
|
||||
Artisan::call('cache:clear');
|
||||
}
|
||||
|
||||
public function purchase_package_offline(Request $request)
|
||||
{
|
||||
$seller_package = SellerPackage::findOrFail($request->package_id);
|
||||
|
||||
if (Auth::user()->shop->seller_package != null && $seller_package->product_upload_limit < Auth::user()->shop->seller_package->product_upload_limit) {
|
||||
flash(translate('You have more uploaded products than this package limit. You need to remove excessive products to downgrade.'))->warning();
|
||||
return redirect()->route('seller.seller_packages_list');
|
||||
}
|
||||
$seller_package = new SellerPackagePayment;
|
||||
$seller_package->user_id = Auth::user()->id;
|
||||
$seller_package->seller_package_id = $request->package_id;
|
||||
$seller_package->payment_method = $request->payment_option;
|
||||
$seller_package->payment_details = $request->trx_id;
|
||||
$seller_package->approval = 0;
|
||||
$seller_package->offline_payment = 1;
|
||||
$seller_package->reciept = $request->photo;
|
||||
$seller_package->save();
|
||||
flash(translate('Offline payment has been done. Please wait for response.'))->success();
|
||||
return redirect()->route('seller.products');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\SellerPackagePayment;
|
||||
use App\Models\SellerPackage;
|
||||
|
||||
class SellerPackagePaymentController extends Controller
|
||||
{
|
||||
public function __construct() {
|
||||
// Staff Permission Check
|
||||
$this->middleware(['permission:view_all_offline_seller_package_payments'])->only('offline_payment_request');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function offline_payment_request(){
|
||||
$package_payment_requests = SellerPackagePayment::where('offline_payment',1)->orderBy('id', 'desc')->paginate(10);
|
||||
return view('manual_payment_methods.seller_package_payment_request', compact('package_payment_requests'));
|
||||
}
|
||||
|
||||
public function offline_payment_approval(Request $request)
|
||||
{
|
||||
$package_payment = SellerPackagePayment::findOrFail($request->id);
|
||||
$package_details = SellerPackage::findOrFail($package_payment->seller_package_id);
|
||||
$package_payment->approval = $request->status;
|
||||
if($package_payment->save()){
|
||||
$seller = $package_payment->user->shop;
|
||||
$seller->seller_package_id = $package_payment->seller_package_id;
|
||||
$seller->product_upload_limit = $package_details->product_upload_limit;
|
||||
$seller->package_invalid_at = date('Y-m-d', strtotime( $seller->package_invalid_at. ' +'. $package_details->duration .'days'));
|
||||
if($seller->save()){
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
CREATE TABLE `seller_package_payments` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`seller_package_id` int(11) NOT NULL,
|
||||
`payment_method` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`payment_details` longtext COLLATE utf8_unicode_ci NOT NULL,
|
||||
`approval` int(1) NOT NULL,
|
||||
`offline_payment` int(1) NOT NULL COMMENT '1=offline payment\r\n2=online paymnet',
|
||||
`reciept` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
|
||||
ALTER TABLE `seller_package_payments`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
|
||||
ALTER TABLE `seller_package_payments`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,16 @@
|
||||
CREATE TABLE `seller_package_translations` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`seller_package_id` bigint(20) NOT NULL,
|
||||
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`lang` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
ALTER TABLE `seller_package_translations`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `seller_package_translations`
|
||||
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `seller_packages` CHANGE `product_upload` `product_upload_limit` INT(11) NOT NULL DEFAULT '0';
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1,4 @@
|
||||
ALTER TABLE `seller_package_payments` CHANGE `payment_details` `payment_details` LONGTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL;
|
||||
ALTER TABLE `seller_package_payments` CHANGE `payment_method` `payment_method` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,113 @@
|
||||
ALTER TABLE `sellers` ADD `seller_package_id` INT NULL DEFAULT NULL AFTER `user_id`;
|
||||
|
||||
ALTER TABLE `sellers` ADD `remaining_uploads` INT NOT NULL DEFAULT '0' AFTER `seller_package_id`;
|
||||
|
||||
ALTER TABLE `sellers` ADD `remaining_digital_uploads` INT NOT NULL DEFAULT '0' AFTER `remaining_uploads`;
|
||||
|
||||
ALTER TABLE `sellers` ADD `invalid_at` DATE NULL DEFAULT NULL AFTER `remaining_digital_uploads`;
|
||||
|
||||
ALTER TABLE `sellers` ADD `remaining_auction_uploads` INT(11) NULL DEFAULT '0' AFTER `invalid_at`;
|
||||
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 4.9.0.1
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: 127.0.0.1
|
||||
-- Generation Time: Jul 08, 2020 at 10:32 AM
|
||||
-- Server version: 10.3.16-MariaDB
|
||||
-- PHP Version: 7.3.7
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET AUTOCOMMIT = 0;
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `shop_demo`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `seller_packages`
|
||||
--
|
||||
|
||||
CREATE TABLE `seller_packages` (
|
||||
`id` int(11) NOT NULL,
|
||||
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`amount` double(11,2) NOT NULL DEFAULT 0.00,
|
||||
`product_upload_limit` int(11) NOT NULL DEFAULT 0,
|
||||
`logo` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`duration` int(11) NOT NULL DEFAULT 0,
|
||||
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `seller_packages`
|
||||
--
|
||||
ALTER TABLE `seller_packages`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `seller_packages`
|
||||
--
|
||||
ALTER TABLE `seller_packages`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
|
||||
|
||||
|
||||
CREATE TABLE `seller_package_translations` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`seller_package_id` bigint(20) NOT NULL,
|
||||
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`lang` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
ALTER TABLE `seller_package_translations`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `seller_package_translations`
|
||||
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
|
||||
CREATE TABLE `seller_package_payments` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`seller_package_id` int(11) NOT NULL,
|
||||
`payment_method` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`payment_details` longtext COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`approval` int(1) NOT NULL,
|
||||
`offline_payment` int(1) NOT NULL COMMENT '1=offline payment\r\n2=online paymnet',
|
||||
`reciept` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
|
||||
ALTER TABLE `seller_package_payments`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `seller_package_payments`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
@@ -0,0 +1,60 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="col-lg-10 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{translate('Create New Seller Package')}}</h5>
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" action="{{ route('seller_packages.store') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="name">{{translate('Package Name')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" placeholder="{{translate('Name')}}" id="name" name="name" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="amount">{{translate('Amount')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="0.01" placeholder="{{translate('Amount')}}" id="amount" name="amount" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="product_upload_limit">{{translate('Product Upload Limit')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="1" placeholder="{{translate('Product Upload Limit')}}" id="product_upload_limit" name="product_upload_limit" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="duration">{{translate('Duration')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="1" placeholder="{{translate('Validity in number of days')}}" id="duration" name="duration" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label" for="signinSrEmail">{{translate('Package Logo')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="false">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="logo" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-sm btn-primary">{{translate('Save')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,71 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="aiz-titlebar mt-2 mb-3">
|
||||
<h5 class="mb-0 h6">{{translate('Update Package Information')}}</h5>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-10 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-body p-0">
|
||||
<ul class="nav nav-tabs nav-fill border-light">
|
||||
@foreach (\App\Models\Language::all() as $key => $language)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-reset @if ($language->code == $lang) active @else bg-soft-dark border-light border-left-0 @endif py-3" href="{{ route('seller_packages.edit', ['id'=>$seller_package->id, 'lang'=> $language->code] ) }}">
|
||||
<img src="{{ static_asset('assets/img/flags/'.$language->code.'.png') }}" height="11" class="mr-1">
|
||||
<span>{{ $language->name }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<form class="p-4" action="{{ route('seller_packages.update', $seller_package->id) }}" method="POST">
|
||||
<input type="hidden" name="_method" value="PATCH">
|
||||
<input type="hidden" name="lang" value="{{ $lang }}">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="name">{{translate('Package Name')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" placeholder="{{translate('Name')}}" value="{{ $seller_package->getTranslation('name', $lang) }}" id="name" name="name" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="amount">{{translate('Amount')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="0.01" placeholder="{{translate('Amount')}}" value="{{ $seller_package->amount }}" id="amount" name="amount" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="product_upload_limit">{{translate('Product Upload Limit')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="1" placeholder="{{translate('Product Upload Limit')}}" value="{{ $seller_package->product_upload_limit }}" id="product_upload_limit" name="product_upload_limit" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="duration">{{translate('Duration')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="number" min="0" step="1" placeholder="{{translate('Validity in number of days')}}" value="{{ $seller_package->duration }}" id="duration" name="duration" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label" for="signinSrEmail">{{translate('Package Logo')}}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="false">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="logo" value="{{ $seller_package->logo }}" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-sm btn-primary">{{translate('Save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,52 @@
|
||||
@extends('seller.layouts.app')
|
||||
@section('panel_content')
|
||||
|
||||
<div class="aiz-titlebar mt-2 mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="h3">{{ translate('Purchase Package List') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header row gutters-5">
|
||||
<div class="col">
|
||||
<h5 class="mb-md-0 h6">{{ translate('All Purchase Package') }}</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th width="30%">{{ translate('Package')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Package Price')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Payment Type')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($seller_packages_payment as $key => $payment)
|
||||
<tr>
|
||||
<td>{{ ($key+1) + ($seller_packages_payment->currentPage() - 1) * $seller_packages_payment->perPage() }}</td>
|
||||
<td>{{ $payment->seller_package->name ?? translate('Package Unavailable') }}</td>
|
||||
<td>{{ $payment->seller_package->amount ?? translate('Package Unavailable') }}</td>
|
||||
<td>
|
||||
@if($payment->offline_payment == 1)
|
||||
{{ translate('Offline Payment') }}
|
||||
@else
|
||||
{{ translate('Online Payment') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="aiz-pagination">
|
||||
{{ $seller_packages_payment->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,254 @@
|
||||
@extends('seller.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<section class="py-8 bg-soft-primary">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8 mx-auto text-center">
|
||||
<h1 class="mb-0 fw-700">{{ translate('Premium Packages for Sellers') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="py-4 py-lg-5">
|
||||
<div class="container">
|
||||
<div class="row row-cols-xxl-4 row-cols-lg-3 row-cols-md-2 row-cols-1 gutters-10 justify-content-center">
|
||||
@foreach ($seller_packages as $key => $seller_package)
|
||||
<div class="col">
|
||||
<div class="card overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="text-center mb-4 mt-3">
|
||||
<img class="mw-100 mx-auto mb-4" src="{{ uploaded_asset($seller_package->logo) }}"
|
||||
height="100">
|
||||
<h5 class="mb-3 h5 fw-600">{{ $seller_package->getTranslation('name') }}</h5>
|
||||
</div>
|
||||
<ul class="list-group list-group-raw fs-15 mb-5">
|
||||
<li class="list-group-item py-2">
|
||||
<i class="las la-check text-success mr-2"></i>
|
||||
{{ $seller_package->product_upload_limit }} {{ translate('Product Upload Limit') }}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="mb-5 d-flex align-items-center justify-content-center">
|
||||
@if ($seller_package->amount == 0)
|
||||
<span class="fs-30 fw-600 lh-1 mb-0">{{ translate('Free') }}</span>
|
||||
@else
|
||||
<span
|
||||
class="fs-30 fw-600 lh-1 mb-0">{{ single_price($seller_package->amount) }}</span>
|
||||
@endif
|
||||
<span
|
||||
class="text-secondary border-left ml-2 pl-2">{{ $seller_package->duration }}<br>{{ translate('Days') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="text-center">
|
||||
@if ($seller_package->amount == 0)
|
||||
<button class="btn btn-primary fw-600"
|
||||
onclick="get_free_package({{ $seller_package->id }})">{{ translate('Free Package') }}</button>
|
||||
@else
|
||||
@if (addon_is_activated('offline_payment'))
|
||||
<button class="btn btn-primary fw-600"
|
||||
onclick="select_payment_type({{ $seller_package->id }})">{{ translate('Purchase Package') }}</button>
|
||||
@else
|
||||
<button class="btn btn-primary fw-600"
|
||||
onclick="show_price_modal({{ $seller_package->id }})">{{ translate('Purchase Package') }}</button>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Select Payment Type Modal -->
|
||||
<div class="modal fade" id="select_payment_type_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Select Payment Type') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="hidden" id="package_id" name="package_id" value="">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Payment Type') }}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<select class="form-control aiz-selectpicker" onchange="payment_type(this.value)"
|
||||
data-minimum-results-for-search="Infinity">
|
||||
<option value="">{{ translate('Select One') }}</option>
|
||||
<option value="online">{{ translate('Online payment') }}</option>
|
||||
<option value="offline">{{ translate('Offline payment') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group text-right">
|
||||
<button type="button" class="btn btn-sm btn-primary transition-3d-hover mr-1"
|
||||
id="select_type_cancel" data-dismiss="modal">{{ translate('Cancel') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Online payment Modal-->
|
||||
<div class="modal fade" id="price_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ translate('Purchase Your Package') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<form class="" id="package_payment_form" action="{{ route('seller_packages.purchase') }}"
|
||||
method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="seller_package_id" value="">
|
||||
<div class="modal-body" style="overflow-y: unset;">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Payment Method') }}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<div class="mb-3">
|
||||
<select class="form-control aiz-selectpicker" data-live-search="true"
|
||||
name="payment_option">
|
||||
@if (get_setting('paypal_payment') == 1)
|
||||
<option value="paypal">{{ translate('Paypal') }}</option>
|
||||
@endif
|
||||
@if (get_setting('stripe_payment') == 1)
|
||||
<option value="stripe">{{ translate('Stripe') }}</option>
|
||||
@endif
|
||||
@if (get_setting('mercadopago_payment') == 1)
|
||||
<option value="mercadopago">{{ translate('Mercadopago') }}</option>
|
||||
<option value="paypal">{{ translate('Paypal') }}</option>
|
||||
@endif
|
||||
@if (get_setting('toyyibpay_payment') == 1)
|
||||
<option value="toyyibpay">{{ translate('ToyyibPay') }}</option>
|
||||
@endif
|
||||
@if (get_setting('sslcommerz_payment') == 1)
|
||||
<option value="sslcommerz">{{ translate('sslcommerz') }}</option>
|
||||
@endif
|
||||
@if (get_setting('instamojo_payment') == 1)
|
||||
<option value="instamojo">{{ translate('Instamojo') }}</option>
|
||||
@endif
|
||||
@if (get_setting('razorpay') == 1)
|
||||
<option value="razorpay">{{ translate('RazorPay') }}</option>
|
||||
@endif
|
||||
@if (get_setting('paystack') == 1)
|
||||
<option value="paystack">{{ translate('PayStack') }}</option>
|
||||
@endif
|
||||
@if (get_setting('payhere') == 1)
|
||||
<option value="payhere">{{ translate('Payhere') }}</option>
|
||||
@endif
|
||||
@if (get_setting('ngenius') == 1)
|
||||
<option value="ngenius">{{ translate('Ngenius') }}</option>
|
||||
@endif
|
||||
@if (get_setting('iyzico') == 1)
|
||||
<option value="iyzico">{{ translate('Iyzico') }}</option>
|
||||
@endif
|
||||
@if (get_setting('nagad') == 1)
|
||||
<option value="nagad">{{ translate('Nagad') }}</option>
|
||||
@endif
|
||||
@if (get_setting('bkash') == 1)
|
||||
<option value="bkash">{{ translate('Bkash') }}</option>
|
||||
@endif
|
||||
@if (get_setting('aamarpay') == 1)
|
||||
<option value="aamarpay">{{ translate('Amarpay') }}</option>
|
||||
@endif
|
||||
@if (addon_is_activated('african_pg'))
|
||||
@if (get_setting('mpesa') == 1)
|
||||
<option value="mpesa">{{ translate('Mpesa') }}</option>
|
||||
@endif
|
||||
@if (get_setting('flutterwave') == 1)
|
||||
<option value="flutterwave">{{ translate('Flutterwave') }}</option>
|
||||
@endif
|
||||
@if (get_setting('payfast') == 1)
|
||||
<option value="payfast">{{ translate('PayFast') }}</option>
|
||||
@endif
|
||||
@endif
|
||||
@if (addon_is_activated('paytm'))
|
||||
@if (get_setting('myfatoorah') == 1)
|
||||
<option value="myfatoorah">{{ translate('MyFatoorah') }}</option>
|
||||
@endif
|
||||
@if (get_setting('khalti_payment') == 1)
|
||||
<option value="khalti">{{ translate('Khalti') }}</option>
|
||||
@endif
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group text-right">
|
||||
<button type="button" class="btn btn-sm btn-secondary transition-3d-hover mr-1"
|
||||
data-dismiss="modal">{{ translate('cancel') }}</button>
|
||||
<button type="submit"
|
||||
class="btn btn-sm btn-primary transition-3d-hover mr-1">{{ translate('Confirm') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- offline payment Modal -->
|
||||
<div class="modal fade" id="offline_seller_package_purchase_modal" tabindex="-1" role="dialog"
|
||||
aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title strong-600 heading-5">{{ translate('Offline Package Payment') }}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="offline_seller_package_purchase_modal_body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function select_payment_type(id) {
|
||||
$('input[name=package_id]').val(id);
|
||||
$('#select_payment_type_modal').modal('show');
|
||||
}
|
||||
|
||||
function payment_type(type) {
|
||||
var package_id = $('#package_id').val();
|
||||
if (type == 'online') {
|
||||
$("#select_type_cancel").click();
|
||||
show_price_modal(package_id);
|
||||
} else if (type == 'offline') {
|
||||
$("#select_type_cancel").click();
|
||||
$.post('{{ route('seller.offline_seller_package_purchase_modal') }}', {
|
||||
_token: '{{ csrf_token() }}',
|
||||
package_id: package_id
|
||||
}, function(data) {
|
||||
$('#offline_seller_package_purchase_modal_body').html(data);
|
||||
$('#offline_seller_package_purchase_modal').modal('show');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function show_price_modal(id) {
|
||||
$('input[name=seller_package_id]').val(id);
|
||||
$('#price_modal').modal('show');
|
||||
}
|
||||
|
||||
function get_free_package(id) {
|
||||
$('input[name=seller_package_id]').val(id);
|
||||
$('#package_payment_form').submit();
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,51 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="aiz-titlebar mt-2 mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="h3">{{translate('All Seller Packages')}}</h1>
|
||||
</div>
|
||||
@can('add_seller_package')
|
||||
<div class="col-md-6 text-md-right">
|
||||
<a href="{{ route('seller_packages.create') }}" class="btn btn-circle btn-info">
|
||||
<span>{{translate('Add New Package')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
@foreach ($seller_packages as $key => $seller_package)
|
||||
<div class="col-lg-4 col-md-4 col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body text-center">
|
||||
<img alt="{{ translate('Package Logo')}}" src="{{ uploaded_asset($seller_package->logo) }}" class="mw-100 mx-auto mb-4" height="150px">
|
||||
<p class="mb-3 h6 fw-600">{{ $seller_package->getTranslation('name') }}</p>
|
||||
<p class="h4">{{single_price($seller_package->amount)}}</p>
|
||||
<p class="fs-15">{{translate('Product Upload Limit') }}:
|
||||
<b class="text-bold">{{$seller_package->product_upload_limit}}</b>
|
||||
</p>
|
||||
<p class="fs-15">{{translate('Package Duration') }}:
|
||||
<b class="text-bold">{{$seller_package->duration}} {{translate('days')}}</b>
|
||||
</p>
|
||||
<div class="mar-top">
|
||||
@can('edit_seller_package')
|
||||
<a href="{{route('seller_packages.edit', ['id'=>$seller_package->id, 'lang'=>env('DEFAULT_LANGUAGE')] )}}" class="btn btn-sm btn-info">{{translate('Edit')}}</a>
|
||||
@endcan
|
||||
@can('delete_seller_package')
|
||||
<a href="#" data-href="{{route('seller_packages.destroy', $seller_package->id)}}" class="btn btn-sm btn-danger confirm-delete">{{translate('Delete')}}</a>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
@include('modals.delete_modal')
|
||||
@endsection
|
||||
Reference in New Issue
Block a user