Compare commits

..

1 Commits

Author SHA1 Message Date
rlong cee16de419 Add Gitea Action for deployment and optimization 2026-05-06 15:30:50 -04:00
815 changed files with 2282 additions and 60090 deletions
-4
View File
@@ -39,7 +39,3 @@ OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET= OIDC_CLIENT_SECRET=
OIDC_REDIRECT_URI="${APP_URL}/auth/social/oidc/callback" OIDC_REDIRECT_URI="${APP_URL}/auth/social/oidc/callback"
NORTH_CHECKOUT_ID=
NORTH_PROFILE_ID=
NORTH_PRIVATE_API_KEY=
+29
View File
@@ -0,0 +1,29 @@
name: Deploy to Remote Server
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Deploy and optimize
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.SSH_PORT || 22 }}
script: |
cd ${{ secrets.DEPLOY_PATH }}
git pull origin master
composer install --no-interaction --prefer-dist --optimize-autoloader
npm install
npm run prod
php artisan migrate --force
php artisan optimize:clear
@@ -49,7 +49,8 @@ class WinningBidsResource extends Resource
->searchable(), ->searchable(),
TextInput::make('winning_cost') TextInput::make('winning_cost')
->label('Winning Bid') ->label('Winning Bid')
->prefix('$'), ->prefix('$')
->numeric(),
]); ]);
} }
+1 -1
View File
@@ -7,7 +7,7 @@ use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends \Illuminate\Routing\Controller class Controller extends BaseController
{ {
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
} }
@@ -1,212 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\Bidders;
use App\Models\Checkout;
use App\Models\WinningBids;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
class NorthCheckoutController extends Controller
{
public function checkout(Request $request, $bidder_id)
{
$bidder = Bidders::where('idbidders', $bidder_id)->firstOrFail();
// Check if already checked out
if (Checkout::where('bidder_num', $bidder->idbidders)->exists()) {
return redirect('/mywinnings?bidder_number=' . $bidder->bidder_assigned_number)->with('error', 'Bidder has already checked out.');
}
$winnings = WinningBids::where('winning_bidder_num', $bidder->idbidders)->get();
$total_cost = $winnings->sum('winning_cost');
if ($total_cost <= 0) {
return redirect('/mywinnings?bidder_number=' . $bidder->bidder_assigned_number)->with('error', 'No winnings found for this bidder.');
}
return view('north_checkout', [
'bidder' => $bidder,
'total_cost' => $total_cost,
]);
}
public function createSession(Request $request, $bidder_id)
{
$bidder = Bidders::findOrFail($bidder_id);
$winnings = WinningBids::with('items')->where('winning_bidder_num', $bidder->idbidders)->get();
$total_cost = $winnings->sum('winning_cost');
$products = $winnings->map(function($winning) {
return [
'name' => $winning->items->item_desc ?? 'Auction Item',
'price' => (float)$winning->winning_cost,
'quantity' => 1
];
})->toArray();
$apiKey = config('services.north.private_api_key');
$checkoutId = config('services.north.checkout_id');
$profileId = config('services.north.profile_id');
if (!$apiKey || !$checkoutId || !$profileId) {
return response()->json(['error' => 'North configuration missing.'], 500);
}
$response = Http::withHeaders([
'Authorization' => 'Bearer ' . $apiKey,
'Accept' => 'application/json',
'Content-Type' => 'application/json',
])->post('https://checkout.north.com/api/sessions', [
'checkoutId' => $checkoutId,
'profileId' => $profileId,
'amount' => (float)$total_cost,
'products' => $products,
]);
if ($response->failed()) {
Log::error('North Session Creation Failed: ' . $response->status() . ' ' . $response->body());
return response()->json([
'error' => 'Failed to create checkout session: ' . ($response->json('message') ?? 'Unknown error'),
'status' => $response->status(),
'body' => $response->body()
], 500);
}
$data = $response->json();
// If json() is null but body is not empty, it might be a parsing error
if (is_null($data) && !empty($response->body())) {
Log::error('North Session Response is not JSON: ' . $response->body());
return response()->json([
'error' => 'Response from North is not valid JSON.',
'raw_body' => $response->body()
], 500);
}
$token = $data['token'] ??
$data['sessionToken'] ??
$data['id'] ??
$data['session_id'] ??
($data['session']['id'] ?? null);
if (!$token) {
Log::error('North Session Token Missing in Response: ' . json_encode($data));
return response()->json([
'error' => 'Session token not found in API response.',
'debug_response' => $data,
'raw_body' => $response->body()
], 500);
}
return response()->json(['sessionToken' => $token]);
}
public function verify(Request $request, $bidder_id)
{
$bidder = Bidders::findOrFail($bidder_id);
$sessionToken = $request->query('sessionToken');
if (!$sessionToken) {
return redirect('/mywinnings?bidder_number=' . $bidder->bidder_assigned_number)->with('error', 'Missing session token.');
}
$apiKey = config('services.north.private_api_key');
$checkoutId = config('services.north.checkout_id');
$profileId = config('services.north.profile_id');
$response = Http::withHeaders([
'Authorization' => 'Bearer ' . $apiKey,
'SessionToken' => $sessionToken,
'CheckoutId' => $checkoutId,
'ProfileId' => $profileId,
'Accept' => 'application/json',
])->get('https://checkout.north.com/api/sessions/status');
if ($response->failed()) {
Log::error('North Session Verification Failed: ' . $response->status() . ' ' . $response->body());
return redirect('/mywinnings?bidder_number=' . $bidder->bidder_assigned_number)->with('error', 'Failed to verify payment status. Status: ' . $response->status());
}
$status = $response->json();
$currentStatus = $status['status'] ?? '';
// The North API status check might return Approved, completed, success, authorized, or captured.
$successStatuses = ['approved', 'completed', 'success', 'authorized', 'captured'];
if (in_array(strtolower($currentStatus), $successStatuses)) {
// Check if already checked out to avoid duplicates
$existingCheckout = Checkout::where('bidder_num', $bidder->idbidders)->first();
if (!$existingCheckout) {
// According to docs, when status is Approved, transaction details are in 'body'
// Digital wallets might have these at the top level
$body = $status['body'] ?? [];
$winnertotal = $status['amount'] ??
($body['amount'] ??
($status['amount_total'] ??
WinningBids::where('winning_bidder_num', $bidder->idbidders)->sum('winning_cost')));
$payment_method = 3; // Credit Card
$cc_transaction = $body['auth_guid'] ??
($status['transaction_id'] ??
($status['transactionId'] ??
($status['id'] ?? 'NORTH_EC')));
$cc_amount = $winnertotal;
$check_number = null;
$checkout_id = DB::table('checkout')->insertGetID(
[
'bidder_num' => $bidder->idbidders,
'winnertotal' => $winnertotal,
'payment_method' => $payment_method,
'check_number' => $check_number,
'cc_transaction' => $cc_transaction,
'cc_amount' => $cc_amount,
'created_at' => now(),
'updated_at' => now(),
]
);
} else {
$checkout_id = $existingCheckout->checkout_id;
$payment_method = $existingCheckout->payment_method;
$cc_transaction = $existingCheckout->cc_transaction;
$check_number = $existingCheckout->check_number;
}
// Replicate the data for checkout_complete view
$checkout_list_results = DB::select("SELECT
*, items.item_assigned_num, items.item_desc
FROM winning_bids
INNER JOIN items AS items
ON winning_bids.winning_item_num=items.iditems
WHERE winning_bidder_num = $bidder->idbidders
");
$checkout_info_results = DB::select("SELECT
winning_bids.*,
bidders.*,
sum(winning_cost) AS total_cost
FROM winning_bids
INNER JOIN bidders AS bidders
ON winning_bids.winning_bidder_num=bidders.idbidders
WHERE winning_bidder_num = $bidder->idbidders
GROUP BY winning_bids.winning_bidder_num
");
return view('checkout_complete', [
'checkout_result' => $checkout_id,
'checkout_list_results' => $checkout_list_results,
'checkout_info_results' => $checkout_info_results,
'payment_method' => $payment_method,
'check_number' => $check_number,
'cc_transaction' => $cc_transaction
]);
}
return redirect('/mywinnings?bidder_number=' . $bidder->bidder_assigned_number)->with('error', 'Payment not completed. Status: ' . ($status['status'] ?? 'unknown'));
}
}
+44 -107
View File
@@ -6,7 +6,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use View; use View;
use App\helpers; use App\helpers;
use Spatie\LaravelPdf\Facades\Pdf; use PDF;
use App\Models\Bidders; use App\Models\Bidders;
use App\Models\Items; use App\Models\Items;
use App\Models\Checkout; use App\Models\Checkout;
@@ -19,7 +19,6 @@ use App\Models\CarShowCategory;
use App\Models\Types; use App\Models\Types;
use App\Models\Vehicles; use App\Models\Vehicles;
use App\Models\VehicleScores; use App\Models\VehicleScores;
use Dompdf\Dompdf;
class PagesController extends Controller class PagesController extends Controller
{ {
@@ -82,8 +81,7 @@ class PagesController extends Controller
public function checkout(Request $checkout_req) public function checkout(Request $checkout_req)
{ {
if (!$checkout_req->checkoutbiddernum) { if (!$checkout_req->checkoutbiddernum) {
$bidders = \App\Models\Bidders::orderByRaw('CAST(bidder_assigned_number AS UNSIGNED) ASC')->get(); return view('checkout_select_form');
return view('checkout_select_form', ['bidders' => $bidders]);
} elseif (!$checkout_req->checkout_payment_method) { } elseif (!$checkout_req->checkout_payment_method) {
$checkout_bidder = $checkout_req->checkoutbiddernum; $checkout_bidder = $checkout_req->checkoutbiddernum;
$checkout_list_results = DB::select("SELECT $checkout_list_results = DB::select("SELECT
@@ -163,32 +161,20 @@ class PagesController extends Controller
public function editwinners(Request $edit_win_req) public function editwinners(Request $edit_win_req)
{ {
if ($edit_win_req->id) {
$winner = WinningBids::with(['items', 'bidders'])->find($edit_win_req->id);
$bidders = Bidders::all();
$items = Items::all();
return view('editwinners', ['winner' => $winner, 'bidders' => $bidders, 'items' => $items]);
}
if (!$edit_win_req->winid) { if (!$edit_win_req->winid) {
$winners = WinningBids::with(['items', 'bidders'])->get(); return view('editwinners');
return view('winnersbyitem', ['winnersbyitem_results' => $winners]);
} }
$winning_bid_id = $edit_win_req->winid; $winning_bid_id = $edit_win_req->winid;
$winner_bidder = $edit_win_req->winnerbiddernum; $winner_bidder = $edit_win_req->winnerbiddernum;
$winner_item = $edit_win_req->winneritemnum;
$winner_cost = $edit_win_req->winnerbid; $winner_cost = $edit_win_req->winnerbid;
$winner_insert = WinningBids::where('idwinning_bids', $winning_bid_id) $winner_insert = WinningBids::where('idwinning_bids', $winning_bid_id)
->update( ->update(
[ [
'winning_bidder_num' => $winner_bidder, 'winning_bidder_num' => $winner_bidder,
'winning_item_num' => $winner_item,
'winning_cost' => $winner_cost 'winning_cost' => $winner_cost
] ]
); );
return redirect('winnersbyitem'); return redirect('editwinners');
} }
public function finaltally() public function finaltally()
@@ -264,54 +250,10 @@ class PagesController extends Controller
return view('receiptpdf', $checkout_data); return view('receiptpdf', $checkout_data);
} }
public function downloadReceiptPdf(Request $request)
{
$checkoutid = $request->checkout_id;
$checkout_final_results = Checkout::where('checkout_id', '=', $checkoutid)->first();
if (!$checkout_final_results) {
return redirect('/mywinnings')->with('error', 'Checkout record not found.');
}
$bidder_num = $checkout_final_results->bidder_num;
$checkout_list_results = DB::select("SELECT
*, items.item_assigned_num, items.item_desc
FROM winning_bids
INNER JOIN items AS items ON winning_bids.winning_item_num=items.iditems
WHERE winning_bidder_num = $bidder_num
");
$checkout_info_results = DB::select("SELECT
winning_bids.*,
bidders.*,
sum(winning_cost) AS total_cost
FROM winning_bids
INNER JOIN bidders AS bidders ON winning_bids.winning_bidder_num=bidders.idbidders
WHERE winning_bidder_num = $bidder_num
GROUP BY winning_bids.winning_bidder_num
");
$options = new \Dompdf\Options();
$options->set('isHtml5ParserEnabled', true);
$options->set('isRemoteEnabled', true);
$dompdf = new Dompdf($options);
$html = view('receiptpdf', [
'checkout_final_results' => $checkout_final_results,
'checkout_list_results' => $checkout_list_results,
'checkout_info_results' => $checkout_info_results
])->render();
$dompdf->loadHtml($html);
$dompdf->setPaper('letter', 'portrait');
$dompdf->render();
return $dompdf->stream('receipt-'.$checkoutid.'.pdf');
}
public function reprintReceipt(Request $reprint_receipt_req) public function reprintReceipt(Request $reprint_receipt_req)
{ {
if (!$reprint_receipt_req->reprintbiddernum) { if (!$reprint_receipt_req->reprintbiddernum) {
$bidders = Bidders::has('checkout')->get(); return view('reprint_receipt_form');
return view('reprint_receipt_form', ['bidders' => $bidders]);
} else { } else {
$bidnum=$reprint_receipt_req->reprintbiddernum; $bidnum=$reprint_receipt_req->reprintbiddernum;
$checkout_result = Checkout::where('bidder_num', '=', $bidnum) $checkout_result = Checkout::where('bidder_num', '=', $bidnum)
@@ -332,9 +274,7 @@ class PagesController extends Controller
public function winners(Request $winners_req) public function winners(Request $winners_req)
{ {
if (!$winners_req->winnerbid) { if (!$winners_req->winnerbid) {
$bidders = Bidders::all(); return view('winners');
$items = Items::all();
return view('winners', ['bidders' => $bidders, 'items' => $items]);
} }
$winner_item = $winners_req->winneritemnum; $winner_item = $winners_req->winneritemnum;
$winner_bidder = $winners_req->winnerbiddernum; $winner_bidder = $winners_req->winnerbiddernum;
@@ -351,15 +291,22 @@ class PagesController extends Controller
public function winnersbyitem() public function winnersbyitem()
{ {
$winnersbyitem_results = WinningBids::with(['items', 'bidders'])->get(); $winnersbyitem_results = DB::select("SELECT
*
FROM winning_bids
INNER JOIN items as items
ON winning_bids.winning_item_num=items.iditems
INNER JOIN bidders AS bidders
ON winning_bids.winning_bidder_num=bidders.idbidders
ORDER BY item_assigned_num ASC
");
return view('winnersbyitem', ['winnersbyitem_results' => $winnersbyitem_results]); return view('winnersbyitem', ['winnersbyitem_results' => $winnersbyitem_results]);
} }
public function winnertotal(Request $winnertotal_req) public function winnertotal(Request $winnertotal_req)
{ {
if (!$winnertotal_req->winnerbiddernum) { if (!$winnertotal_req->winnerbiddernum) {
$bidders = Bidders::all(); return view('winnertotalform');
return view('winnertotalform', ['bidders' => $bidders]);
} }
$winner_total_bidder = $winnertotal_req->winnerbiddernum; $winner_total_bidder = $winnertotal_req->winnerbiddernum;
$winnertotal_list_results = DB::select("SELECT $winnertotal_list_results = DB::select("SELECT
@@ -387,41 +334,37 @@ class PagesController extends Controller
public function winningbidderlist() public function winningbidderlist()
{ {
$winnerlist_results = Bidders::whereHas('winningBids') $winnerlist_results = WinningBids::join('bidders', 'winning_bids.winning_bidder_num', '=', 'bidders.idbidders')
->orderBy('bidder_assigned_number') ->groupBy('winning_bidder_num')
->orderBy('bidders.bidder_assigned_number')
->get(); ->get();
return view('winningbidderlist', ['winning_bidders' => $winnerlist_results]); return view('winningbidderlist', ['winnerlist_results' => $winnerlist_results]);
} }
public function judgingentry(Request $judgingentry_req) public function judgingentry(Request $judgingentry_req)
{ {
$judges = \App\Models\Judges::all(); if (!$judgingentry_req->vehnum) {
$vehicles = \App\Models\Vehicles::select('vehicles.*') return view('judgingentry');
->leftJoin('bidders', 'vehicles.owner', '=', 'bidders.bidder_assigned_number')
->orderByRaw('CAST(bidders.bidder_assigned_number AS UNSIGNED) ASC')
->get();
if ($judgingentry_req->isMethod('post')) {
$vehicle = $judgingentry_req->vehnum;
$judge = $judgingentry_req->judgenum;
$score = $judgingentry_req->vehscore;
VehicleScores::updateOrCreate(
['vehicle' => $vehicle, 'judge' => $judge],
['overall_score' => $score]
);
return redirect('judgingentry');
} }
$vehicle = $judgingentry_req->vehnum;
$judge = $judgingentry_req->judgenum;
$score = $judgingentry_req->vehscore;
$bidder_insert = VehicleScores::updateOrCreate(
[
'vehicle' => $vehicle,
'judge' => $judge
],
[
'overall_score' => $score
]
);
return view('judgingentry', ['judges' => $judges, 'vehicles' => $vehicles]); return redirect('judgingentry');
} }
public function showcars(Request $showcar_req) public function showcars(Request $showcar_req)
{ {
if (!$showcar_req->bidderlname) { if (!$showcar_req->bidderlname) {
$vehicles = \App\Models\Vehicles::with('vehicleOwner')->get(); return view('showcars');
return view('showcars', ['vehicles' => $vehicles]);
} }
$bidder_lname = $showcar_req->bidderlname; $bidder_lname = $showcar_req->bidderlname;
$bidder_fname = $showcar_req->bidderfname; $bidder_fname = $showcar_req->bidderfname;
@@ -480,8 +423,7 @@ class PagesController extends Controller
public function pcentry(Request $pcentry_req) public function pcentry(Request $pcentry_req)
{ {
if (!$pcentry_req->vehnum) { if (!$pcentry_req->vehnum) {
$vehicles = Vehicles::all(); return view('pcentry');
return view('pcentry', ['vehicles' => $vehicles]);
} }
$vehicle=$pcentry_req->vehnum; $vehicle=$pcentry_req->vehnum;
$pc_count=$pcentry_req->pc_count; $pc_count=$pcentry_req->pc_count;
@@ -515,8 +457,7 @@ class PagesController extends Controller
public function awardcategories(Request $category_req) public function awardcategories(Request $category_req)
{ {
if (!$category_req->category) { if (!$category_req->category) {
$categories = CarShowCategory::all(); return view('awardcategories');
return view('awardcategories', ['categories' => $categories]);
} }
$category = $category_req->category; $category = $category_req->category;
if ($category_req->has('vehtype')) { if ($category_req->has('vehtype')) {
@@ -538,20 +479,20 @@ class PagesController extends Controller
public function showwinners() public function showwinners()
{ {
$carshowwinner_results = CarShowWinner::with(['awardCategory', 'awardVehicle', 'awardVehicle.vehicleOwner'])->get(); $carshowwinner_results = CarShowWinner::with(['awardCategory', 'awardVehicle', 'awardVehicle.vehicleOwner'])->get();
return view('carshowwinners', ['winners' => $carshowwinner_results]); return view('carshowwinners', ['carshowwinner_results' => $carshowwinner_results]);
} }
public function showscores() public function showscores()
{ {
$carshowscore_results = VehicleScores::with(['scoredVehicle', 'scoredVehicle.vehicleOwner']) $carshowscore_results = VehicleScores::with(['scoredVehicle'])
->groupBy('vehicle') ->groupBy('vehicle')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore') ->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
->orderBy('totalscore', 'desc') ->orderBy('totalscore', 'desc')
->get(); ->get();
return view('carshowscores', ['scores_results' => $carshowscore_results]); return view('carshowscores', ['carshowscore_results' => $carshowscore_results]);
} }
public function showscoresbycar() public function showscoresbycar()
{ {
$carshowscore2_results = VehicleScores::with(['scoredVehicle', 'scoredVehicle.vehicleOwner']) $carshowscore2_results = VehicleScores::with(['scoredVehicle'])
->groupBy('vehicle') ->groupBy('vehicle')
->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore') ->selectRaw('*, sum(vehicle_scores.overall_score) as totalscore')
//->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number') //->orderBy('scoredVehicle.vehicleOwner.bidder_assigned_number')
@@ -562,7 +503,7 @@ class PagesController extends Controller
LIMIT 1 LIMIT 1
) AS UNSIGNED) ASC') ) AS UNSIGNED) ASC')
->get(); ->get();
return view('carshowscores', ['scores_results' => $carshowscore2_results]); return view('carshowscores', ['carshowscore_results' => $carshowscore2_results]);
} }
public function showcarlist() public function showcarlist()
{ {
@@ -594,14 +535,10 @@ class PagesController extends Controller
$total_cost = $winnings->sum('winning_cost'); $total_cost = $winnings->sum('winning_cost');
$is_checked_out = \App\Models\Checkout::where('bidder_num', $bidder->idbidders)->exists();
return view('mywinnings_results', [ return view('mywinnings_results', [
'bidder' => $bidder, 'bidder' => $bidder,
'winnings' => $winnings, 'winnings' => $winnings,
'total_cost' => $total_cost, 'total_cost' => $total_cost
'is_checked_out' => $is_checked_out
]); ]);
} }
} }
+2 -2
View File
@@ -24,11 +24,11 @@ class CarShowWinner extends Model
public function awardVehicle() public function awardVehicle()
{ {
return $this->belongsTo('App\Models\Vehicles', 'vehicle', 'id'); return $this->hasMany('App\Models\Vehicles', 'id', 'vehicle');
} }
public function awardCategory() public function awardCategory()
{ {
return $this->belongsTo('App\Models\CarShowCategory', 'category', 'id'); return $this->hasMany('App\Models\CarShowCategory', 'id', 'category');
} }
} }
+1 -1
View File
@@ -30,6 +30,6 @@ class VehicleScores extends Model
public function scoredVehicle() public function scoredVehicle()
{ {
return $this->belongsTo('App\Models\Vehicles', 'vehicle', 'id'); return $this->hasMany('App\Models\Vehicles', 'id', 'vehicle');
} }
} }
+4 -9
View File
@@ -5,19 +5,16 @@
"license": "MIT", "license": "MIT",
"type": "project", "type": "project",
"require": { "require": {
"php": "^8.3", "php": "^8.2",
"barryvdh/laravel-snappy": "^1.0", "barryvdh/laravel-snappy": "^1.0",
"carlos-meneses/laravel-mpdf": "^2.1", "carlos-meneses/laravel-mpdf": "^2.1",
"dompdf/dompdf": "^3.1",
"filament/filament": "^5.0", "filament/filament": "^5.0",
"kovah/laravel-socialite-oidc": "^0.7.0", "kovah/laravel-socialite-oidc": "^0.7.0",
"laravel/framework": "^12.0", "laravel/framework": "^11.0",
"laravel/socialite": "^5.26", "laravel/socialite": "^5.26",
"laravel/tinker": "^2.9", "laravel/tinker": "^2.9",
"laravel/ui": "^4.2", "laravel/ui": "^4.2",
"socialiteproviders/manager": "^4.9", "socialiteproviders/manager": "^4.9"
"spatie/laravel-pdf": "^2.8",
"takielias/tablar": "^13.02"
}, },
"require-dev": { "require-dev": {
"barryvdh/laravel-debugbar": "^3.8", "barryvdh/laravel-debugbar": "^3.8",
@@ -72,7 +69,5 @@
"preferred-install": "dist", "preferred-install": "dist",
"sort-packages": true, "sort-packages": true,
"optimize-autoloader": true "optimize-autoloader": true
}, }
"minimum-stability": "dev",
"prefer-stable": true
} }
Generated
+125 -875
View File
File diff suppressed because it is too large Load Diff
-6
View File
@@ -42,10 +42,4 @@ return [
'redirect' => env('OIDC_REDIRECT_URI'), 'redirect' => env('OIDC_REDIRECT_URI'),
], ],
'north' => [
'checkout_id' => env('NORTH_CHECKOUT_ID'),
'profile_id' => env('NORTH_PROFILE_ID'),
'private_api_key' => env('NORTH_PRIVATE_API_KEY'),
],
]; ];
-145
View File
@@ -1,145 +0,0 @@
<?php
return [
'title' => 'Silent Auction Dashboard',
'logo' => '/assets/tablar-logo.png',
'menu' => [
[
'text' => 'Home',
'route' => 'home',
'icon' => 'ti ti-home',
],
[
'text' => 'Bidders',
'icon' => 'ti ti-users',
'submenu' => [
[
'text' => 'Add Bidder',
'route' => 'bidders',
],
[
'text' => 'List Bidders',
'route' => 'bidderlist',
],
],
],
[
'text' => 'Items',
'icon' => 'ti ti-box',
'submenu' => [
[
'text' => 'Add Item',
'route' => 'items',
],
[
'text' => 'List Items',
'route' => 'itemlist',
],
],
],
[
'text' => 'Winners',
'icon' => 'ti ti-trophy',
'submenu' => [
[
'text' => 'Add Winner',
'route' => 'winners',
],
[
'text' => 'Edit Winner',
'route' => 'editwinners',
],
[
'text' => 'List Winners',
'route' => 'winnerlist',
],
[
'text' => 'Winners by Item',
'route' => 'winnersbyitem',
],
[
'text' => 'Check My Winnings',
'route' => 'mywinnings',
],
],
],
[
'text' => 'CarShow',
'icon' => 'ti ti-car',
'submenu' => [
[
'text' => 'Add Car',
'route' => 'showcars',
],
[
'text' => 'List Show Cars',
'route' => 'showcarlist',
],
[
'text' => 'Judging Entry',
'route' => 'judgingentry',
],
[
'text' => 'People\'s Choice Entry',
'route' => 'pcentry',
],
[
'text' => 'Add Judge',
'route' => 'judges',
],
[
'text' => 'Car Show Winners',
'route' => 'showwinners',
],
[
'text' => 'Vehicle Total Scores',
'route' => 'showscores',
],
[
'text' => 'Scores by Car',
'route' => 'showscoresbycar',
],
[
'text' => 'Tabulate Winners',
'route' => 'tabulateshowwinners',
],
],
],
[
'text' => 'Reports',
'icon' => 'ti ti-file-text',
'submenu' => [
[
'text' => 'Bidder List',
'route' => 'bidderlist',
],
[
'text' => 'Completed Checkouts',
'route' => 'checkout_complete_list',
],
[
'text' => 'Items',
'route' => 'itemlist',
],
[
'text' => 'Winners',
'route' => 'winnerlist',
],
],
],
[
'text' => 'Checkout',
'icon' => 'ti ti-credit-card',
'submenu' => [
[
'text' => 'Checkout Bidder',
'route' => 'checkout',
],
[
'text' => 'Re-Print Receipt',
'route' => 'reprint_receipt',
],
],
],
],
];
-5008
View File
File diff suppressed because it is too large Load Diff
+19 -41
View File
@@ -1,43 +1,21 @@
{ {
"private": true, "private": true,
"type": "module", "scripts": {
"scripts": { "dev": "npm run development",
"dev": "vite", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"build": "vite build" "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
}, "watch-poll": "npm run watch -- --watch-poll",
"devDependencies": { "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"@melloware/coloris": "^0.25.0", "prod": "npm run production",
"@popperjs/core": "^2.11.8", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
"@tabler/core": "1.4.0", },
"@tabler/icons": "^3.35.0", "devDependencies": {
"@tabler/icons-webfont": "^3.35.0", "axios": "^0.15.3",
"apexcharts": "^3.54.1", "bootstrap-sass": "^3.3.7",
"autosize": "^6.0.1", "cross-env": "^3.2.3",
"axios": "^1.7.4", "jquery": "^3.1.1",
"bootstrap": "5.3.8", "laravel-mix": "0.*",
"bootstrap-sass": "^3.3.7", "lodash": "^4.17.4",
"choices.js": "^11.1.0", "vue": "^2.1.10"
"countup.js": "^2.9.0", }
"cross-env": "^7.0.3",
"dropzone": "^6.0.0-beta.2",
"fslightbox": "^3.7.4",
"fullcalendar": "^6.1.19",
"imask": "^7.6.1",
"jquery": "^3.7.1",
"jsvectormap": "^1.7.0",
"laravel-vite-plugin": "^1.0",
"list.js": "^2.3.1",
"litepicker": "^2.0.12",
"lodash": "^4.17.21",
"nouislider": "^15.8.1",
"plyr": "^3.8.3",
"sass": "~1.64.2",
"sass-loader": "^16.0.1",
"signature_pad": "^5.1.1",
"star-rating.js": "^4.3.1",
"tom-select": "^2.4.3",
"typed.js": "^2.1.0",
"vite": "^5.0.0",
"vite-plugin-static-copy": "~3.0.0"
}
} }
+1 -1
View File
@@ -1 +1 @@
auction/home/sjcsauction/public_html/.well-known /home/sjcsauction/public_html/.well-known
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Some files were not shown because too many files have changed in this diff Show More