Subiendo proyecto completo sin restricciones de git ignore

This commit is contained in:
Jose Sanchez
2023-08-17 11:44:02 -04:00
parent a0d4f5ba3b
commit 20f1c60600
19921 changed files with 2509159 additions and 45 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -0,0 +1,69 @@
{
"name" : "Offline Payment",
"unique_identifier" : "offline_payment",
"version" : "1.5",
"minimum_item_version" : "7.0.0",
"addon_banner" : "offline_banner.jpg",
"directory" :
[
{
"name" : [
"resources/views/manual_payment_methods",
"resources/views/manual_payment_methods/frontend",
"public/uploads/customer_package_payment_reciept",
"public/uploads/seller_package_payment_reciept"
]
}
],
"sql_file" : "",
"files" :
[
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/frontend/offline_customer_package_purchase_modal.blade.php",
"update_directory" : "resources/views/manual_payment_methods/frontend/offline_customer_package_purchase_modal.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/frontend/offline_seller_package_purchase_modal.blade.php",
"update_directory" : "resources/views/manual_payment_methods/frontend/offline_seller_package_purchase_modal.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/create.blade.php",
"update_directory" : "resources/views/manual_payment_methods/create.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/customer_package_payment_request.blade.php",
"update_directory" : "resources/views/manual_payment_methods/customer_package_payment_request.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/edit.blade.php",
"update_directory" : "resources/views/manual_payment_methods/edit.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/index.blade.php",
"update_directory" : "resources/views/manual_payment_methods/index.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/seller_package_payment_request.blade.php",
"update_directory" : "resources/views/manual_payment_methods/seller_package_payment_request.blade.php"
},
{
"root_directory" : "addons/offline_payment/views/manual_payment_methods/wallet_request.blade.php",
"update_directory" : "resources/views/manual_payment_methods/wallet_request.blade.php"
},
{
"root_directory" : "addons/offline_payment/controllers/ManualPaymentMethodController.php",
"update_directory" : "app/Http/Controllers/ManualPaymentMethodController.php"
},
{
"root_directory" : "addons/offline_payment/assets/offline_banner.jpg",
"update_directory" : "public/offline_banner.jpg"
}
]
}

View File

@@ -0,0 +1,211 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\ManualPaymentMethod;
use App\Models\Order;
class ManualPaymentMethodController extends Controller
{
public function __construct() {
// Staff Permission Check
$this->middleware(['permission:view_all_manual_payment_methods'])->only('index');
$this->middleware(['permission:add_manual_payment_method'])->only('create');
$this->middleware(['permission:edit_manual_payment_method'])->only('edit');
$this->middleware(['permission:delete_manual_payment_method'])->only('destroy');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$manual_payment_methods = ManualPaymentMethod::all();
return view('manual_payment_methods.index', compact('manual_payment_methods'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('manual_payment_methods.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$manual_payment_method = new ManualPaymentMethod;
$manual_payment_method->type = $request->type;
$manual_payment_method->photo = $request->photo;
$manual_payment_method->heading = $request->heading;
$manual_payment_method->description = $request->description;
if($request->type == 'bank_payment')
{
$banks_informations = array();
for ($i=0; $i < count($request->bank_name); $i++) {
$item = array();
$item['bank_name'] = $request->bank_name[$i];
$item['account_name'] = $request->account_name[$i];
$item['account_number'] = $request->account_number[$i];
$item['routing_number'] = $request->routing_number[$i];
array_push($banks_informations, $item);
}
$manual_payment_method->bank_info = json_encode($banks_informations);
}
$manual_payment_method->save();
flash(translate('Method has been inserted successfully'))->success();
return redirect()->route('manual_payment_methods.index');
}
/**
* 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)
{
$manual_payment_method = ManualPaymentMethod::findOrFail(decrypt($id));
return view('manual_payment_methods.edit', compact('manual_payment_method'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$manual_payment_method = ManualPaymentMethod::findOrFail($id);
$manual_payment_method->type = $request->type;
$manual_payment_method->heading = $request->heading;
$manual_payment_method->description = $request->description;
if($request->type == 'bank_payment')
{
$banks_informations = array();
for ($i=0; $i < count($request->bank_name); $i++) {
$item = array();
$item['bank_name'] = $request->bank_name[$i];
$item['account_name'] = $request->account_name[$i];
$item['account_number'] = $request->account_number[$i];
$item['routing_number'] = $request->routing_number[$i];
array_push($banks_informations, $item);
}
$manual_payment_method->bank_info = json_encode($banks_informations);
}
$manual_payment_method->photo = $request->photo;
$manual_payment_method->save();
flash( translate('Method has been updated successfully'))->success();
return redirect()->route('manual_payment_methods.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
if(ManualPaymentMethod::destroy($id)){
flash(translate('Method has been deleted successfully'))->success();
}
else{
flash(translate('Something went wrong'))->error();
}
return redirect()->route('manual_payment_methods.index');
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function show_payment_modal(Request $request)
{
$order = Order::find($request->order_id);
if($order != null){
return view('frontend.user.payment_modal', compact('order'));
}
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function submit_offline_payment(Request $request)
{
$order = Order::findOrFail($request->order_id);
if($request->name != null && $request->amount != null && $request->trx_id != null){
$data['name'] = $request->name;
$data['amount'] = $request->amount;
$data['trx_id'] = $request->trx_id;
$data['photo'] = $request->photo;
}
else {
flash(translate('Please fill all the fields'))->warning();
return back();
}
$order->manual_payment_data = json_encode($data);
$order->payment_type = $request->payment_option;
$order->payment_status = 'Submitted';
$order->manual_payment = 1;
$order->save();
flash(translate('Your payment data has been submitted successfully'))->success();
return redirect()->route('home');
}
public function offline_recharge_modal(Request $request)
{
return view('frontend.user.wallet.offline_recharge_modal');
}
public function offline_customer_package_purchase_modal(Request $request)
{
$package_id = $request->package_id;
return view('manual_payment_methods.frontend.offline_customer_package_purchase_modal', compact('package_id'));
}
public function offline_seller_package_purchase_modal(Request $request)
{
$package_id = $request->package_id;
return view('manual_payment_methods.frontend.offline_seller_package_purchase_modal', compact('package_id'));
}
}

View File

@@ -0,0 +1,4 @@
ALTER TABLE `wallets` ADD `approval` INT(1) NOT NULL DEFAULT '0' AFTER `payment_details`, ADD `offline_payment` INT(1) NOT NULL DEFAULT '0' AFTER `approval`;
ALTER TABLE `wallets` ADD `reciept` VARCHAR(150) NULL DEFAULT NULL AFTER `offline_payment`;
COMMIT;

View File

@@ -0,0 +1 @@
COMMIT;

View File

@@ -0,0 +1 @@
COMMIT;

View File

@@ -0,0 +1 @@
COMMIT;

View File

@@ -0,0 +1 @@
COMMIT;

View File

@@ -0,0 +1,74 @@
-- phpMyAdmin SQL Dump
-- version 4.9.0.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Apr 07, 2020 at 03:02 PM
-- 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_new`
--
-- --------------------------------------------------------
--
-- Table structure for table `manual_payment_methods`
--
ALTER TABLE `orders` ADD `manual_payment` INT(1) NOT NULL DEFAULT '0' AFTER `payment_type`, ADD `manual_payment_data` TEXT NULL DEFAULT NULL AFTER `manual_payment`;
CREATE TABLE `manual_payment_methods` (
`id` int(11) NOT NULL,
`type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`heading` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`description` text COLLATE utf8_unicode_ci DEFAULT NULL,
`bank_info` text COLLATE utf8_unicode_ci DEFAULT NULL,
`photo` varchar(255) 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;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `manual_payment_methods`
--
ALTER TABLE `manual_payment_methods`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `manual_payment_methods`
--
ALTER TABLE `manual_payment_methods`
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 */;
ALTER TABLE `wallets` ADD `approval` INT(1) NOT NULL DEFAULT '0' AFTER `payment_details`, ADD `offline_payment` INT(1) NOT NULL DEFAULT '0' AFTER `approval`;
ALTER TABLE `wallets` ADD `reciept` VARCHAR(150) NULL DEFAULT NULL AFTER `offline_payment`;
COMMIT;

View File

@@ -0,0 +1,125 @@
@extends('backend.layouts.app')
@section('content')
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Manual Payment Information')}}</h5>
</div>
<form action="{{ route('manual_payment_methods.store') }}" method="POST">
@csrf
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 col-from-label" for="type">{{translate('Type')}}</label>
<div class="col-sm-10">
<select class="form-control aiz-selectpicker" name="type" id="type" required>
<option value="custom_payment">{{translate('Custom Payment')}}</option>
<option value="bank_payment">{{translate('Bank Payment')}}</option>
<option value="check_payment">{{translate('Check Payment')}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-from-label" for="name">{{translate('Name')}}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="heading" value="" placeholder="Name" required>
</div>
</div>
<div class="form-group row">
<label class="col-md-2 col-form-label" for="signinSrEmail">{{translate('Checkout Thumbnail')}} (438x235)px</label>
<div class="col-md-8">
<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="photo" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-from-label">{{translate('Payment Instruction')}}</label>
<div class="col-sm-10">
<textarea class="aiz-text-editor" name="description"></textarea>
</div>
</div>
<div id="bank_payment_data">
<div id="bank_payment_informations">
<div class="form-group row">
<div class="row">
<label class="col-sm-2 col-from-label">{{translate('Bank Information')}}</label>
<div class="col-sm-8">
<div class="row">
<div class="col-sm-3"><input type="text" id="bank_name" name="bank_name[]" class="form-control" placeholder="{{ translate('Bank Name') }}"></div>
<div class="col-sm-3"><input type="text" id="account_name" name="account_name[]" class="form-control" placeholder="{{ translate('Account Name') }}"></div>
<div class="col-sm-3"><input type="text" id="account_number" name="account_number[]" class="form-control" placeholder="{{ translate('Account Number') }}"></div>
<div class="col-sm-3"><input type="text" id="routing_number" name="routing_number[]" class="form-control" placeholder="{{ translate('Routing Number') }}"></div>
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-primary" onclick="addBankInfoRow()">{{ translate('Add More') }}</button>
</div>
</div>
</div>
</div>
</div>
<div class="form-group mb-3 text-right">
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
</div>
</div>
</form>
<div class="d-none" id="bank_info_row">
<div class="form-group row">
<div class="row">
<label class="col-sm-2 col-from-label">{{translate('Bank Information')}}</label>
<div class="col-sm-8">
<div class="row">
<div class="col-sm-3"><input type="text" name="bank_name[]" class="form-control" placeholder="{{ translate('Bank Name') }}"></div>
<div class="col-sm-3"><input type="text" name="account_name[]" class="form-control" placeholder="{{ translate('Account Name') }}"></div>
<div class="col-sm-3"><input type="text" name="account_number[]" class="form-control" placeholder="{{ translate('Account Number') }}"></div>
<div class="col-sm-3"><input type="text" name="routing_number[]" class="form-control" placeholder="{{ translate('Routing Number') }}"></div>
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-danger" onclick="removeBankInfoRow(this)">{{translate('Remove')}}</button>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script type="text/javascript">
$(document).ready(function(){
$('#bank_payment_data').hide();
$('#type').on('change', function(){
if($('#type').val() == 'bank_payment'){
$('#bank_payment_data').show();
}
else {
$('#bank_payment_data').hide();
}
});
});
function addBankInfoRow(){
$('#bank_payment_informations').append($('#bank_info_row').html());
}
function removeBankInfoRow(el){
$(el).closest('.form-group').remove();
}
</script>
@endsection

View File

@@ -0,0 +1,85 @@
@extends('backend.layouts.app')
@section('content')
<div class="card">
<div class="card-header">
<h3 class="mb-0 h6">{{translate('Offline Customer Package Payment Requests')}}</h3>
</div>
<div class="card-body">
<table class="table aiz-table mb-0">
<thead>
<tr>
<th>#</th>
<th>{{translate('Name')}}</th>
<th>{{translate('Package')}}</th>
<th>{{translate('Method')}}</th>
<th>{{translate('TXN ID')}}</th>
<th>{{translate('Reciept')}}</th>
<th>{{translate('Approval')}}</th>
<th>{{translate('Date')}}</th>
</tr>
</thead>
<tbody>
@foreach($package_payment_requests as $key => $package_payment_request)
@if($package_payment_request->user != null && $package_payment_request->customer_package != null)
<tr>
<td>{{ ($key+1) }}</td>
<td>{{ $package_payment_request->user->name }}</td>
<td>{{ $package_payment_request->customer_package->getTranslation('name') }}</td>
<td>{{ $package_payment_request->payment_method }}</td>
<td>{{ $package_payment_request->payment_details }}</td>
<td>
@if ($package_payment_request->reciept != null)
<a href="{{ uploaded_asset($package_payment_request->reciept) }}" target="_blank">{{translate('Open Reciept')}}</a>
@endif
</td>
<td>
<label class="aiz-switch aiz-switch-success mb-0">
@if($package_payment_request->approval == 1)
<input type="checkbox" checked disabled>
@else
<input
@can('approve_offline_customer_package_payment') onchange="offline_payment_approval(this)" @endcan
id="payment_approval" type="checkbox"
value="{{ $package_payment_request->id }}"
@cannot('approve_offline_customer_package_payment') disabled @endcan
>
@endif
<span class="slider round"></span>
</label>
</td>
<td>{{ $package_payment_request->created_at }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $package_payment_requests->links() }}
</div>
</div>
</div>
@endsection
@section('script')
<script type="text/javascript">
function offline_payment_approval(el){
if(el.checked){
var status = 1;
}
else{
var status = 0;
}
$.post('{{ route('offline_customer_package_payment.approved') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
if(data == 1){
$( "#payment_approval" ).prop( "disabled", true );
AIZ.plugins.notify('success', '{{ translate('Offline Customer Package Payment approved successfully') }}');
}
else{
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
</script>
@endsection

View File

@@ -0,0 +1,137 @@
@extends('backend.layouts.app')
@section('content')
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<h3 class="mb-0 h6">{{translate('Manual Payment Information')}}</h3>
</div>
<form action="{{ route('manual_payment_methods.update', $manual_payment_method->id) }}" method="POST">
<input name="_method" type="hidden" value="PATCH">
@csrf
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 col-from-label" for="type">{{translate('Type')}}</label>
<div class="col-sm-10">
<select class="form-control aiz-selectpicker" name="type" id="type" required>
<option value="custom_payment" @if($manual_payment_method->type == 'custom_payment') selected @endif>{{translate('Custom Payment')}}</option>
<option value="bank_payment" @if($manual_payment_method->type == 'bank_payment') selected @endif>{{translate('Bank Payment')}}</option>
<option value="check_payment" @if($manual_payment_method->type == 'check_payment') selected @endif>{{translate('Check Payment')}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-from-label" for="name">{{translate('Heading')}}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="heading" value="{{ $manual_payment_method->heading }}" placeholder="" required>
</div>
</div>
<div class="form-group row">
<label class="col-md-2 col-form-label" for="signinSrEmail">{{translate('Checkout Thumbnail')}} (438x235)px</label>
<div class="col-md-8">
<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="photo" value="{{ $manual_payment_method->photo }}" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-from-label">{{translate('Payment Instruction')}}</label>
<div class="col-sm-10">
<textarea class="aiz-text-editor" name="description">@php echo $manual_payment_method->description @endphp</textarea>
</div>
</div>
<div id="bank_payment_data">
<div id="bank_payment_informations">
@if($manual_payment_method->bank_info != null)
@foreach (json_decode($manual_payment_method->bank_info) as $key => $bank_info)
<div class="form-group row">
<div class="row">
<label class="col-sm-2 col-from-label">{{translate('Bank Information')}}</label>
<div class="col-sm-8">
<div class="row">
<div class="col-sm-3"><input type="text" name="bank_name[]" class="form-control" placeholder="{{ translate('Bank Name') }}" value="{{ $bank_info->bank_name }}"></div>
<div class="col-sm-3"><input type="text" name="account_name[]" class="form-control" placeholder="{{ translate('Account Name') }}" value="{{ $bank_info->account_name }}"></div>
<div class="col-sm-3"><input type="text" name="account_number[]" class="form-control" placeholder="{{ translate('Account Number') }}" value="{{ $bank_info->account_number }}"></div>
<div class="col-sm-3"><input type="text" name="routing_number[]" class="form-control" placeholder="{{ translate('Routing Number') }}" value="{{ $bank_info->routing_number }}"></div>
</div>
</div>
<div class="col-sm-2">
@if ($key == 0)
<button type="button" class="btn btn-primary" onclick="addBankInfoRow()">{{ translate('Add More') }}</button>
@else
<div class="col-sm-1">
<button type="button" class="btn btn-danger" onclick="removeBankInfoRow(this)">{{ translate('Remove') }}</button>
</div>
@endif
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
<div class="form-group mb-3 text-right">
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
</div>
</form>
<!--===================================================-->
<!--End Horizontal Form-->
<div class="d-none" id="bank_info_row">
<div class="form-group row">
<div class="row">
<label class="col-sm-2 col-from-label">{{translate('Bank Information')}}</label>
<div class="col-sm-8">
<div class="row">
<div class="col-sm-3"><input type="text" name="bank_name[]" class="form-control" placeholder="{{ translate('Bank Name') }}"></div>
<div class="col-sm-3"><input type="text" name="account_name[]" class="form-control" placeholder="{{ translate('Account Name') }}"></div>
<div class="col-sm-3"><input type="text" name="account_number[]" class="form-control" placeholder="{{ translate('Account Number') }}"></div>
<div class="col-sm-3"><input type="text" name="routing_number[]" class="form-control" placeholder="{{ translate('Routing Number') }}"></div>
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-danger" onclick="removeBankInfoRow(this)">{{translate('Remove')}}</button>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script type="text/javascript">
$(document).ready(function(){
$('#type').on('change', function(){
if($('#type').val() == 'bank_payment'){
$('#bank_payment_data').show();
}
else {
$('#bank_payment_data').hide();
}
});
});
function addBankInfoRow(){
$('#bank_payment_informations').append($('#bank_info_row').html());
}
function removeBankInfoRow(el){
$(el).closest('.form-group').remove();
}
</script>
@endsection

View File

@@ -0,0 +1,81 @@
<form class="" action="{{ route('customer_package.make_offline_payment') }}" method="post" enctype="multipart/form-data">
@csrf
<input type="hidden" name="package_id" value="{{$package_id}}">
<div class="modal-body gry-bg px-3 pt-3 mx-auto c-scrollbar-light">
<div class="align-items-center gutters-5 row">
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
<div class="col-6 col-md-4">
<label class="aiz-megabox d-block mb-3">
<input value="{{ $method->heading }}" id="payment_option" type="radio" name="payment_option" onchange="toggleManualPaymentData({{ $method->id }})" data-id="{{ $method->id }}" checked>
<span class="d-block p-3 aiz-megabox-elem">
<img src="{{ uploaded_asset($method->photo) }}" class="img-fluid mb-2">
<span class="d-block text-center">
<span class="d-block fw-600 fs-15">{{ $method->heading }}</span>
</span>
</span>
</label>
</div>
@endforeach
</div>
<div id="manual_payment_data">
<div class="card rounded-0 shadow-none border mb-3 p-3 d-none">
<div id="manual_payment_description">
</div>
</div>
<div class="card rounded-0 shadow-none border mb-3 p-3">
<div class="row">
<div class="col-md-3">
<label>{{ translate('Transaction ID')}} <span class="text-danger">*</span></label>
</div>
<div class="col-md-9">
<input type="text" class="form-control mb-3 rounded-0" name="trx_id" placeholder="{{ translate('Transaction ID') }}" required>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label">{{ translate('Photo') }}</label>
<div class="col-md-9">
<div class="input-group" data-toggle="aizuploader" data-type="image">
<div class="input-group-prepend">
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
</div>
<div class="form-control file-amount">{{ translate('Choose image') }}</div>
<input type="hidden" name="photo" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
</div>
</div>
<div class="form-group text-right">
<button type="submit" class="btn btn-sm btn-primary rounded-0 w-150px transition-3d-hover">{{translate('Confirm')}}</button>
</div>
</div>
</form>
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
<div id="manual_payment_info_{{ $method->id }}" class="d-none">
<div>@php echo $method->description @endphp</div>
@if ($method->bank_info != null)
<ul>
@foreach (json_decode($method->bank_info) as $key => $info)
<li>{{ translate('Bank Name') }} - {{ $info->bank_name }}, {{ translate('Account Name') }} - {{ $info->account_name }}, {{ translate('Account Number') }} - {{ $info->account_number}}, {{ translate('Routing Number') }} - {{ $info->routing_number }}</li>
@endforeach
</ul>
@endif
</div>
@endforeach
<script type="text/javascript">
$(document).ready(function(){
toggleManualPaymentData($('input[name=payment_option]:checked').data('id'));
});
function toggleManualPaymentData(id){
$('#manual_payment_description').parent().removeClass('d-none');
$('#manual_payment_description').html($('#manual_payment_info_'+id).html());
}
</script>

View File

@@ -0,0 +1,77 @@
<form class="" action="{{ route('seller.make_offline_payment') }}" method="post" enctype="multipart/form-data">
@csrf
<input type="hidden" name="package_id" value="{{$package_id}}">
<div class="modal-body gry-bg px-3 pt-3 mx-auto">
<div class="align-items-center gutters-5 row">
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
<div class="col-6 col-md-4">
<label class="aiz-megabox d-block mb-3">
<input value="{{ $method->heading }}" id="payment_option" type="radio" name="payment_option" onchange="toggleManualPaymentData({{ $method->id }})" checked>
<span class="d-block p-3 aiz-megabox-elem">
<img src="{{ uploaded_asset($method->photo) }}" class="img-fluid mb-2">
<span class="d-block text-center">
<span class="d-block fw-600 fs-15">{{ $method->heading }}</span>
</span>
</span>
</label>
</div>
@endforeach
</div>
<div id="manual_payment_data">
<div class="card mb-3 p-3 d-none">
<div id="manual_payment_description">
</div>
</div>
<div class="card mb-3 p-3">
<div class="row">
<div class="col-md-3">
<label>{{ translate('Transaction ID')}} <span class="text-danger">*</span></label>
</div>
<div class="col-md-9">
<input type="text" class="form-control mb-3" name="trx_id" placeholder="{{ translate('Transaction ID') }}" required>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label">{{ translate('Photo') }}</label>
<div class="col-md-9">
<div class="input-group" data-toggle="aizuploader" data-type="image">
<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 image') }}</div>
<input type="hidden" name="photo" class="selected-files">
</div>
<div class="file-preview box sm">
</div>
</div>
</div>
</div>
</div>
<div class="form-group text-right">
<button type="submit" class="btn btn-sm btn-primary transition-3d-hover mr-1">{{translate('Confirm')}}</button>
</div>
</div>
</form>
@foreach(\App\Models\ManualPaymentMethod::all() as $method)
<div id="manual_payment_info_{{ $method->id }}" class="d-none">
<div>@php echo $method->description @endphp</div>
@if ($method->bank_info != null)
<ul>
@foreach (json_decode($method->bank_info) as $key => $info)
<li>{{ translate('Bank Name') }} - {{ $info->bank_name }}, {{ translate('Account Name') }} - {{ $info->account_name }}, {{ translate('Account Number') }} - {{ $info->account_number}}, {{ translate('Routing Number') }} - {{ $info->routing_number }}</li>
@endforeach
</ul>
@endif
</div>
@endforeach
<script type="text/javascript">
function toggleManualPaymentData(id){
$('#manual_payment_description').parent().removeClass('d-none');
$('#manual_payment_description').html($('#manual_payment_info_'+id).html());
}
</script>

View File

@@ -0,0 +1,58 @@
@extends('backend.layouts.app')
@section('content')
@can('add_manual_payment_method')
<div class="aiz-titlebar mt-2 mb-3">
<div class="text-md-right">
<a href="{{ route('manual_payment_methods.create') }}" class="btn btn-circle btn-info">
<span>{{translate('Add New Payment Method')}}</span>
</a>
</div>
</div>
@endcan
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Manual Payment Method')}}</h5>
</div>
<div class="card-body">
<table class="table aiz-table" cellspacing="0" width="100%">
<thead>
<tr>
<th>#</th>
<th>{{translate('Heading')}}</th>
<th>{{translate('Logo')}}</th>
<th width="10%" class="text-right">{{translate('Options')}}</th>
</tr>
</thead>
<tbody>
@foreach($manual_payment_methods as $key => $manual_payment_method)
<tr>
<td>{{ ($key+1) }}</td>
<td>{{ $manual_payment_method->heading }}</td>
<td><img class="w-50px" src="{{ uploaded_asset($manual_payment_method->photo) }}" alt="Logo"></td>
<td class="text-right">
@can('edit_manual_payment_method')
<a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('manual_payment_methods.edit', encrypt($manual_payment_method->id))}}" title="{{ translate('Edit') }}">
<i class="las la-edit"></i>
</a>
@endcan
@can('delete_manual_payment_method')
<a href="#" class="btn btn-soft-danger btn-icon btn-circle btn-sm confirm-delete" data-href="{{route('manual_payment_methods.destroy', $manual_payment_method->id)}}" title="{{ translate('Delete') }}">
<i class="las la-trash"></i>
</a>
@endcan
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@section('modal')
@include('modals.delete_modal')
@endsection

View File

@@ -0,0 +1,85 @@
@extends('backend.layouts.app')
@section('content')
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Offline Seller Package Payment Requests')}}</h5>
</div>
<div class="card-body">
<table class="table aiz-table mb-0">
<thead>
<tr>
<th>#</th>
<th>{{translate('Name')}}</th>
<th>{{translate('Package')}}</th>
<th>{{translate('Method')}}</th>
<th>{{translate('TXN ID')}}</th>
<th>{{translate('Reciept')}}</th>
<th>{{translate('Approval')}}</th>
<th>{{translate('Date')}}</th>
</tr>
</thead>
<tbody>
@foreach($package_payment_requests as $key => $package_payment_request)
@if ($package_payment_request->user != null)
<tr>
<td>{{ ($key+1) }}</td>
<td>{{ $package_payment_request->user->name}}</td>
<td>{{ $package_payment_request->seller_package->name ?? translate('Package Unavailable') }}</td>
<td>{{ $package_payment_request->payment_method }}</td>
<td>{{ $package_payment_request->payment_details }}</td>
<td>
@if ($package_payment_request->reciept != null)
<a href="{{ uploaded_asset($package_payment_request->reciept) }}" target="_blank">{{translate('Open Reciept')}}</a>
@endif
</td>
<td>
<label class="aiz-switch aiz-switch-success mb-0">
@if($package_payment_request->approval == 1)
<input type="checkbox" checked disabled>
@else
<input
@can('approve_offline_seller_package_payment') onchange="offline_payment_approval(this)" @endcan
id="payment_approval" type="checkbox"
value="{{ $package_payment_request->id }}"
@cannot('approve_offline_seller_package_payment') disabled @endcan
>
@endif
<span class="slider round"></span>
</label>
</td>
<td>{{ $package_payment_request->created_at }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $package_payment_requests->links() }}
</div>
</div>
</div>
@endsection
@section('script')
<script type="text/javascript">
function offline_payment_approval(el){
if(el.checked){
var status = 1;
}
else{
var status = 0;
}
$.post('{{ route('offline_seller_package_payment.approved') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
if(data == 1){
$( "#payment_approval" ).prop( "disabled", true );
AIZ.plugins.notify('success', '{{ translate('Offline Seller Package Payment approved successfully') }}');
}
else{
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
</script>
@endsection

View File

@@ -0,0 +1,80 @@
@extends('backend.layouts.app')
@section('content')
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Offline Wallet Recharge Requests')}}</h5>
</div>
<div class="card-body">
<table class="table aiz-table mb-0">
<thead>
<tr>
<th>#</th>
<th>{{translate('Name')}}</th>
<th>{{translate('Amount')}}</th>
<th>{{translate('Method')}}</th>
<th>{{translate('TXN ID')}}</th>
<th>{{translate('Photo')}}</th>
<th>{{translate('Approval')}}</th>
<th>{{translate('Date')}}</th>
</tr>
</thead>
<tbody>
@foreach($wallets as $key => $wallet)
@if ($wallet->user != null)
<tr>
<td>{{ ($key+1) }}</td>
<td>{{ $wallet->user->name }}</td>
<td>{{ $wallet->amount }}</td>
<td>{{ $wallet->payment_method }}</td>
<td>{{ $wallet->payment_details }}</td>
<td>
@if ($wallet->reciept != null)
<a href="{{ uploaded_asset($wallet->reciept) }}" target="_blank">{{translate('Open Reciept')}}</a>
@endif
</td>
<td>
<label class="aiz-switch aiz-switch-success mb-0">
<input
@can('approve_offline_wallet_recharge') onchange="update_approved(this)" @endcan
value="{{ $wallet->id }}" type="checkbox"
@if($wallet->approval == 1) checked @endif
@cannot('approve_offline_wallet_recharge') disabled @endcan
>
<span class="slider round"></span>
</label>
</td>
<td>{{ $wallet->created_at }}</td>
</tr>
@endif
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $wallets->links() }}
</div>
</div>
</div>
@endsection
@section('script')
<script type="text/javascript">
function update_approved(el){
if(el.checked){
var status = 1;
}
else{
var status = 0;
}
$.post('{{ route('offline_recharge_request.approved') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
if(data == 1){
AIZ.plugins.notify('success', '{{ translate('Money has been added successfully') }}');
}
else{
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
</script>
@endsection