Commit 728277b8 authored by Nikola Chuchukovski's avatar Nikola Chuchukovski
Browse files

Merge branch 'gift-cards' into 'dev'

fix

See merge request !55
parents 45681177 4b505098
Showing with 142 additions and 89 deletions
+142 -89
<?php
namespace App\Http\Controllers;
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Models\Discount;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Str;
class DiscountController extends Controller
{
......@@ -15,7 +17,9 @@ class DiscountController extends Controller
public function create()
{
return view('discounts.create');
$code = Str::random(10);
return view('discounts.create', compact('code'));
}
public function store(Request $request)
......@@ -27,7 +31,7 @@ class DiscountController extends Controller
Discount::create($validated);
return redirect()->route('discounts.index')->with('success', 'Discount created successfully.');
return redirect()->route('discounts.index')->with('successAdd', 'Discount created successfully.');
}
public function edit(Discount $discount)
......@@ -44,13 +48,13 @@ class DiscountController extends Controller
$discount->update($validated);
return redirect()->route('discounts.index')->with('success', 'Discount updated successfully.');
return redirect()->route('discounts.index')->with('successEdit', 'Discount updated successfully.');
}
public function destroy(Discount $discount)
{
$discount->delete();
return redirect()->route('discounts.index')->with('success', 'Discount deleted successfully.');
return redirect()->route('discounts.index')->with('successDelete', 'Discount deleted successfully.');
}
}
......@@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin;
use App\Models\GiftCard;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
......@@ -16,13 +17,15 @@ class GiftCardController extends Controller
public function create()
{
return view('gift-card.add-gift-card');
$code = Str::random(10);
return view('gift-card.add-gift-card', compact('code'));
}
public function store(Request $request)
{
$request->validate([
'card_code' => 'required|unique:gift_cards|min:10|max:10',
'card_code' => 'required|unique:gift_cards',
'amount' => 'required|numeric',
]);
......@@ -46,7 +49,7 @@ class GiftCardController extends Controller
$giftCard = GiftCard::findOrFail($id);
$request->validate([
'card_code' => 'required|min:10|max:10|unique:gift_cards,card_code,' . $id,
'card_code' => 'required|unique:gift_cards,card_code,' . $id,
'amount' => 'required|numeric',
]);
......
......@@ -44,14 +44,10 @@
<td class="px-6 py-4">
<div class="">
<div class="">
<x-nav-link :href="route('custom_order.show',$custom_order)"
class="bg-blue-400 px-3 mr-4 rounded text-white hover:bg-blue-600">
{{ __('Show') }}
</x-nav-link>
<form class="pt-2" action="{{route('custom_order.delete',$custom_order)}}" method="POST">
@csrf
@method('DELETE')
......
@extends('layouts.app')
@section('content')
<div class="container mx-auto">
<h1 class="text-xl font-semibold mb-5">Add New Discount</h1>
<form action="{{ route('discounts.store') }}" method="POST">
@csrf
<div class="mb-4">
<label for="discount_code">Discount Code</label>
<input type="text" name="discount_code" id="discount_code" class="form-input mt-1 block w-full" required>
</div>
<div class="mb-4">
<label for="percentage">Percentage (%)</label>
<input type="number" name="percentage" id="percentage" class="form-input mt-1 block w-full" required>
</div>
<button type="submit" class="btn btn-primary">Add Discount</button>
</form>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="container mx-auto">
<h1 class="text-xl font-semibold mb-5">Edit Discount</h1>
<form action="{{ route('discounts.update', $discount->id) }}" method="POST">
@csrf
@method('PUT')
<div class="mb-4">
<label for="discount_code">Discount Code</label>
<input type="text" name="discount_code" id="discount_code" value="{{ old('discount_code', $discount->discount_code) }}" class="form-input mt-1 block w-full" required>
</div>
<div class="mb-4">
<label for="percentage">Percentage (%)</label>
<input type="number" name="percentage" id="percentage" value="{{ old('percentage', $discount->percentage) }}" class="form-input mt-1 block w-full" required>
</div>
<button type="submit" class="btn btn-primary">Update Discount</button>
</form>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="container mx-auto">
<h1 class="text-xl font-semibold mb-5">Discounts</h1>
<a href="{{ route('discounts.create') }}" class="btn btn-primary mb-3">Add New Discount</a>
<table class="table-auto w-full">
<thead>
<tr>
<th>Discount Code</th>
<th>Percentage (%)</th>
</tr>
</thead>
<tbody>
@foreach ($discounts as $discount)
<tr>
<td>{{ $discount->discount_code }}</td>
<td>{{ $discount->percentage }}</td>
<td>
<a href="{{ route('discounts.edit', $discount->id) }}" class="mr-2">Edit</a>
<form action="{{ route('discounts.destroy', $discount->id) }}" method="POST" class="inline" onsubmit="return confirm('Are you sure?')">
@csrf
@method('DELETE')
<button type="submit" class="text-red-600">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="flex items-center justify-center min-h-screen">
<div class="sm:w-4/12 w-full p-8 sm:m-12">
<a href="{{ route('discounts.index') }}">
<x-primary-button class="my-5"><i class="fa-solid fa-chevron-left mr-1"></i> {{ __('back') }}</x-primary-button>
</a>
<h1 class="text-xl font-semibold mb-5">Add New Discount</h1>
<form action="{{ route('discounts.store') }}" method="POST" >
@csrf
<div class="mb-4">
<label for="discount_code">Discount Code</label>
<input type="text" name="discount_code" id="discount_code" value="{{ $code }}"
class="form-input mt-1 block w-full" required disabled>
</div>
<div class="mb-4">
<label for="percentage">Percentage (%)</label>
<input type="number" name="percentage" id="percentage" class="form-input mt-1 block w-full" required>
</div>
<x-primary-button class="my-5">
Add Discount
</x-primary-button>
</form>
</div>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="flex items-center justify-center min-h-screen">
<div class="sm:w-4/12 w-full p-8 sm:m-12">
<a href="{{ route('discounts.index') }}">
<x-primary-button class="my-5"><i class="fa-solid fa-chevron-left mr-1"></i>
{{ __('back') }}</x-primary-button>
</a>
<h1 class="text-xl font-semibold mb-5">Edit Discount</h1>
<form action="{{ route('discounts.update', $discount->id) }}" method="POST">
@csrf
@method('PUT')
<div class="mb-4">
<label for="discount_code">Discount Code</label>
<input type="text" name="discount_code" id="discount_code"
value="{{ old('discount_code', $discount->discount_code) }}" class="form-input mt-1 block w-full"
required>
</div>
<div class="mb-4">
<label for="percentage">Percentage (%)</label>
<input type="number" name="percentage" id="percentage"
value="{{ old('percentage', $discount->percentage) }}" class="form-input mt-1 block w-full"
required>
</div>
<x-primary-button class="my-5">
Update Discount
</x-primary-button>
</form>
</div>
</div>
@endsection
@extends('layouts.app')
@section('content')
<div class="sm:w-3/5 w-full mx-auto mt-6">
<h1 class="text-xl font-semibold mb-5">Discounts</h1>
@if (session('successAdd'))
<div class="alert bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded relative w-8/12 mx-auto"
role="alert">
<span class="block sm:inline">{{ session('successAdd') }}</span>
</div>
@elseif(session('successEdit'))
<div class="alert bg-yellow-100 border border-yellow-400 text-yellow-700 px-4 py-3 rounded relative w-8/12 mx-auto"
role="alert">
<span class="block sm:inline">{{ session('successEdit') }}</span>
</div>
@elseif(session('successDelete'))
<div class="alert bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative w-8/12 mx-auto"
role="alert">
<span class="block sm:inline">{{ session('successDelete') }}</span>
</div>
@endif
<a href="{{ route('discounts.create') }}">
<x-primary-button class="my-5">
{{ __('Add new Coupon') }}
</x-primary-button>
</a>
<div class="">
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
<table class="w-full text-sm text-left rtl:text-right text-gray-500">
<thead class="text-xs text-gray-700 uppercase bg-gray-50">
<tr>
<th scope="col" class="p-4">Discount Code</th>
<th scope="col">Percentage (%)</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
@foreach ($discounts as $discount)
<tr>
<td class="px-6 py-4 font-medium text-gray-900 ">
{{ $discount->discount_code }}</td>
<td class="px-6 py-4 font-medium text-gray-900 ">
{{ $discount->percentage }}</td>
<td class="pr-6 py-4">
<div class="">
<div class="">
<a href="{{ route('discounts.edit', $discount->id) }}"
class="bg-yellow-400 px-3 py-1 mr-2 rounded text-white hover:bg-yellow-600">
Edit</a>
<form action="{{ route('discounts.destroy', $discount->id) }}" method="POST"
class="bg-red-500 px-3 py-1 rounded text-white hover:bg-red-600 inline">
@csrf
@method('DELETE')
<button type="submit">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
......@@ -12,14 +12,14 @@
<!-- Card Code -->
<div class="mt-4">
<x-input-label for="card_code" :value="__('Card Code')" />
<x-text-input id="card_code" class="block mt-1 w-full" type="text" name="card_code" :value="old('card_code')" required />
<x-text-input id="card_code" class="block mt-1 w-full" type="text" name="card_code" value="{{ $code }}" required disabled/>
<x-input-error :messages="$errors->get('card_code')" class="mt-2" />
</div>
<!-- Amount -->
<div class="mt-4">
<x-input-label for="amount" :value="__('Amount')" />
<x-text-input id="amount" class="block mt-1 w-full" type="text" name="amount" :value="old('amount')" required />
<x-text-input id="amount" class="block mt-1 w-full" type="text" name="amount" required />
<x-input-error :messages="$errors->get('amount')" class="mt-2" />
</div>
......
......@@ -98,7 +98,7 @@ Route::prefix('admin')->middleware('auth')->group(function () {
Route::delete('/galleries/delete/{id}', [GalleryController::class, 'destroy'])->name('gallery.delete');
// Coupon routes
Route::resource('disconts', DiscountController::class)->middleware('auth');
Route::resource('/discounts', DiscountController::class)->middleware('auth');
// Gift Cards routes
Route::get('/gift-card', [GiftCardController::class, 'index'])->name('gift-card.index');
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment