55
app/Http/Controllers/Admin/ManageReferralController.php
Normal file
55
app/Http/Controllers/Admin/ManageReferralController.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\ManageReferralRule;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
||||
class ManageReferralController extends Controller
|
||||
{
|
||||
/**
|
||||
* Created By : sayali parab
|
||||
* Created at : 22 July 2024
|
||||
* Use : To view Rules page.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$referral_rule = ManageReferralRule::all()->toArray();
|
||||
return view('Admin.pages.manage_rule.manage_referral', compact('referral_rule'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Created By : sayali parab
|
||||
* Created at : 22 July 2024
|
||||
* Use : To edit Rules.
|
||||
*/
|
||||
public function editReferral($id)
|
||||
{
|
||||
$referral_rule = ManageReferralRule::find($id);
|
||||
// dd($referral_rule);
|
||||
return view('Admin.pages.manage_rule.manage_referral_edit', compact('referral_rule'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Created By : sayali parab
|
||||
* Created at : 22 July 2024
|
||||
* Use : To update Rules.
|
||||
*/
|
||||
|
||||
public function updateReferral(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
|
||||
'article_des_title' => 'required',
|
||||
'article_des_message' => 'required',
|
||||
]);
|
||||
$update = ManageReferralRule::find($request->rule_id);
|
||||
$update->title = $request->input('article_des_title');
|
||||
$update->message = $request->input('article_des_message');
|
||||
$update->save();
|
||||
return response()->json(['success' => true, 'status' => 200]);
|
||||
}
|
||||
}
|
||||
19
app/Models/ManageReferralRule.php
Normal file
19
app/Models/ManageReferralRule.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ManageReferralRule extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table='manage_referral_rules';
|
||||
protected $fillable=[
|
||||
'id ',
|
||||
'title',
|
||||
'message',
|
||||
'created_at',
|
||||
'updated_at'
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('manage_referral_rules', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->longtext('title')->nullable();
|
||||
$table->longtext('message')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('manage_referral_rules');
|
||||
}
|
||||
};
|
||||
@@ -341,7 +341,7 @@
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if (Auth::guard('admin')->user()->getPermissionGranted(Auth::guard('admin')->user()->id, 'manage-rules'))
|
||||
<!-- @if (Auth::guard('admin')->user()->getPermissionGranted(Auth::guard('admin')->user()->id, 'manage-rules'))
|
||||
<li class="tooltip-element <?php
|
||||
if ($currentPage == 'manage-rules') {
|
||||
echo 'active';
|
||||
@@ -350,12 +350,45 @@
|
||||
<a href="{{ route('manage_rules') }}" data-active="6">
|
||||
<div class="icons">
|
||||
<img src="{{ asset('public/assets/img/Group.svg') }}" />
|
||||
<span class="text">Manage Rules</span>
|
||||
<span class="text">Manage Rules </span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@endif -->
|
||||
|
||||
|
||||
|
||||
|
||||
@if (Auth::guard('admin')->user()->getPermissionGranted(Auth::guard('admin')->user()->id, 'manage-rules'))
|
||||
<button class="dropdown-btn-users mb-1 active">
|
||||
<div class="icons d-flex align-items-center justify-content-start w-100">
|
||||
<img src="{{ asset('public/assets/img/Group 57904.svg') }}" />
|
||||
<span class="text-1">Manage Rules</span>
|
||||
</div>
|
||||
<i class="fa fa-angle-down mr-3" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
||||
<div class="dropdown-container"
|
||||
style="{{ $currentPage == 'manage-rules' || $currentPage == 'manage-referral-rule' ? 'display: block;' : 'display: none;' }}">
|
||||
<ul class="random_cl">
|
||||
<li class="tooltip-element {{ $currentPage == 'manage-rules' ? 'active' : '' }}"
|
||||
data-tooltip="1">
|
||||
<a href="{{ route('manage_rules') }}" data-active="1" class="text">Redemption Rules
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="tooltip-element {{ $currentPage == 'manage-referral-rule' ? 'active' : '' }}"
|
||||
data-tooltip="1">
|
||||
<a href="{{ route('manage_referral') }}" data-active="1" class="text">Referral Rules
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (Auth::guard('admin')->user()->getPermissionGranted(Auth::guard('admin')->user()->id, 'manage-notification'))
|
||||
<li class="tooltip-element <?php
|
||||
if ($currentPage == 'manage-notification') {
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
@extends('Admin.layouts.master')
|
||||
|
||||
@section('content')
|
||||
@php
|
||||
$currentPage = 'manage-referral-rule';
|
||||
@endphp
|
||||
|
||||
|
||||
|
||||
<div class="layout-px-spacing">
|
||||
<div class="middle-content container-xxl p-0">
|
||||
<div class="row layout-top-spacing ">
|
||||
<div class="top-tabel">
|
||||
<div class="row">
|
||||
<div class="col-md-12 left d-flex align-items-center justify-content-between" style="gap: 15px;">
|
||||
<h6 class="card-title pl-2"> Manage Referral Rules </h6>
|
||||
<a class="view-details-btn mr-2" href="{{ route('edit.referralRules', ['id' => $referral_rule[0]['id']]) }}"
|
||||
data-id="{{$referral_rule[0]['id'] }}">
|
||||
<span>Edit</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
|
||||
<div class="widget-content widget-content-area br-8 position-btn p-0">
|
||||
@csrf
|
||||
<div class="view-details">
|
||||
<div class="simple-tab">
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="home-tab-pane" role="tabpanel"
|
||||
aria-labelledby="home-tab" tabindex="0">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p>
|
||||
How it works :
|
||||
</p>
|
||||
<p>
|
||||
{!! $referral_rule[0]['title'] !!}
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Rules :
|
||||
</p>
|
||||
<p>
|
||||
{!! $referral_rule[0]['message'] !!}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('section_script')
|
||||
@endsection
|
||||
@@ -0,0 +1,208 @@
|
||||
@extends('Admin.layouts.master')
|
||||
|
||||
@section('content')
|
||||
@php
|
||||
$currentPage = 'manage-referral-rule';
|
||||
@endphp
|
||||
<style>
|
||||
.error-message {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
form .error-message {
|
||||
color: red;
|
||||
/* Set your desired color here */
|
||||
}
|
||||
|
||||
form .input_class.error-message {
|
||||
color: #0e1726;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div class="layout-px-spacing">
|
||||
<div class="middle-content container-xxl p-0">
|
||||
<div class="row layout-top-spacing ">
|
||||
<div class="top-tabel">
|
||||
<div class="row">
|
||||
<div class="col-md-12 left d-flex align-items-center justify-content-between" style="gap: 15px;">
|
||||
<a class="d-flex align-items-center justify-content-center pl-2"
|
||||
href="{{route('manage_referral')}}">
|
||||
<img class="back-btn" src="{{ asset('public/assets/img/left-arrow.svg') }}">
|
||||
<h6 class="card-title p-0">Edit Referral Details</h6>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
|
||||
<div class="widget-content widget-content-area br-8 position-btn p-0">
|
||||
<div class="view-details">
|
||||
<div class="simple-tab">
|
||||
@csrf
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="home-tab-pane" role="tabpanel"
|
||||
aria-labelledby="home-tab" tabindex="0">
|
||||
<div class="row">
|
||||
<form id="referral_rules_form">
|
||||
<div class="col-md-12 mb-4">
|
||||
<label for="referral-rules-quill-edit-title" class="form-label">How it works</label>
|
||||
<input type="hidden" name="rule_id" value="{{ $referral_rule->id }}">
|
||||
<input type="hidden" id="stored-title-message"
|
||||
value="{{ $referral_rule->title }}">
|
||||
<div id="referral-rules-quill-edit-title" class="editor-quill"
|
||||
style="height: 300px;" minlength="10"></div>
|
||||
<span class="error-message" id="error-message-title"></span>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-4">
|
||||
<label for="referral-rules-quill-edit-message" class="form-label">Rules</label>
|
||||
<input type="hidden" name="rule_id" value="{{ $referral_rule->id }}">
|
||||
<input type="hidden" id="stored-message-message"
|
||||
value="{{$referral_rule->message }}">
|
||||
<div id="referral-rules-quill-edit-message" class="editor-quill"
|
||||
style="height: 300px;" minlength="10"></div>
|
||||
<span class="error-message" id="error-message-message"></span>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<button type="submit" id="referral_update_rules"
|
||||
class="download-btn-custom mt-3 custom-width-10">
|
||||
<span>Update</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('section_script')
|
||||
<!-- <script>
|
||||
var quill = new Quill('#terms-quill-edit', {
|
||||
theme: 'snow'
|
||||
});
|
||||
</script> -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.min.js"></script>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// Initialize Quill editors
|
||||
var quillTitle = new Quill('#referral-rules-quill-edit-title', {
|
||||
theme: 'snow'
|
||||
});
|
||||
|
||||
var quillMessage = new Quill('#referral-rules-quill-edit-message', {
|
||||
theme: 'snow'
|
||||
});
|
||||
|
||||
// Set initial content for Quill editors
|
||||
var storedTitle = document.getElementById('stored-title-message').value;
|
||||
quillTitle.clipboard.dangerouslyPasteHTML(storedTitle);
|
||||
|
||||
var storedMessage = document.getElementById('stored-message-message').value;
|
||||
quillMessage.clipboard.dangerouslyPasteHTML(storedMessage);
|
||||
|
||||
// Form submission logic
|
||||
$('#referral_update_rules').on("click", function(e) {
|
||||
e.preventDefault();
|
||||
$('#referral_rules_form').validate({
|
||||
ignore: [],
|
||||
debug: false,
|
||||
rules: {
|
||||
article_des_title: {
|
||||
required: true,
|
||||
minlength: 1000,
|
||||
},
|
||||
article_des_message: {
|
||||
required: true,
|
||||
minlength: 1000,
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
article_des_title: {
|
||||
required: "Please Enter Rules Title",
|
||||
minlength: "Please Enter Rules Title"
|
||||
},
|
||||
article_des_message: {
|
||||
required: "Please Enter Rules Message",
|
||||
minlength: "Please Enter Rules Message"
|
||||
}
|
||||
},
|
||||
errorClass: 'error-message',
|
||||
|
||||
submitHandler: function(form) {
|
||||
// Get the HTML content from Quill editors
|
||||
var article_des_title = quillTitle.root.innerHTML;
|
||||
var article_des_message = quillMessage.root.innerHTML;
|
||||
|
||||
if (article_des_title.trim() === '<p><br></p>' || article_des_message
|
||||
.trim() === '<p><br></p>') {
|
||||
toastr.error("Please Enter Rules");
|
||||
return false;
|
||||
}
|
||||
|
||||
let base_url = url_path;
|
||||
var rule_id = document.querySelector('input[name="rule_id"]').value;
|
||||
|
||||
// Create a form data object
|
||||
var formData = new FormData(form);
|
||||
formData.append('article_des_title', article_des_title);
|
||||
formData.append('article_des_message', article_des_message);
|
||||
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
|
||||
"content"),
|
||||
},
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: base_url + '/update_referral_rules',
|
||||
type: 'POST',
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(response) {
|
||||
if (response.status == 200) {
|
||||
toastr.success(
|
||||
'Rules Data Updated Successfully');
|
||||
setTimeout(function() {
|
||||
window.location.href = base_url +
|
||||
"/manage_referral_rules";
|
||||
}, 1000);
|
||||
} else {
|
||||
toastr.error("Something went wrong");
|
||||
}
|
||||
},
|
||||
error: function(response) {
|
||||
toastr.error(
|
||||
"An error occurred while updating the rules"
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Trigger form validation
|
||||
$('#referral_rules_form').submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@@ -13,7 +13,7 @@
|
||||
<div class="top-tabel">
|
||||
<div class="row">
|
||||
<div class="col-md-12 left d-flex align-items-center justify-content-between" style="gap: 15px;">
|
||||
<h6 class="card-title pl-2"> Manage Rules </h6>
|
||||
<h6 class="card-title pl-2"> Manage Redemptions Rules </h6>
|
||||
<a class="view-details-btn mr-2" href="{{ route('rules_edit', ['id' => $data[0]['id']]) }}"
|
||||
data-id="{{ $data[0]['id'] }}">
|
||||
<span>Edit</span>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<a class="d-flex align-items-center justify-content-center pl-2"
|
||||
href="{{ route('manage_rules') }}">
|
||||
<img class="back-btn" src="{{ asset('public/assets/img/left-arrow.svg') }}">
|
||||
<h6 class="card-title p-0">Edit Details</h6>
|
||||
<h6 class="card-title p-0">Edit Redemptions Details</h6>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -25,6 +25,7 @@ use App\Http\Controllers\Admin\ManageCmsController;
|
||||
use App\Http\Controllers\Admin\RestaurantAppController;
|
||||
use App\Http\Controllers\Admin\ManageLocationController;
|
||||
use App\Http\Controllers\Admin\ManageRulesController;
|
||||
use App\Http\Controllers\Admin\ManageReferralController;
|
||||
|
||||
|
||||
|
||||
@@ -223,6 +224,12 @@ Route::group(['middleware' => ['checkStatus']], function () {
|
||||
Route::get('/manage_rules', [ManageRulesController::class, 'index'])->name('manage_rules');
|
||||
Route::get('/rules_edit/{id}', [ManageRulesController::class, 'edit'])->name('rules_edit');
|
||||
Route::post('/update_rules', [ManageRulesController::class, 'update']);
|
||||
|
||||
Route::get('/manage_referral_rules', [ ManageReferralController::class, 'index'])->name('manage_referral');
|
||||
Route::get('/referral_rules_edit/{id}', [ManageReferralController::class, 'editReferral'])->name('edit.referralRules');
|
||||
Route::post('/update_referral_rules', [ManageReferralController::class, 'updateReferral']);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user