This commit is contained in:
sayliraut
2024-07-27 15:10:43 +05:30
parent 03a2dd02ab
commit 819d9abb97
3 changed files with 140 additions and 88 deletions

View File

@@ -35,17 +35,30 @@ class ManageRulesController extends Controller
* Created at : 19 June 2024
* Use : To update Rules.
*/
public function update(Request $request)
public function updateWhatsInside(Request $request)
{
$validated = $request->validate([
'article_des_title' => 'required',
'article_des_message' => 'required',
'whats_inside_content' => 'required',
]);
$update = ManageRule::find($request->rule_id);
$update->whats_inside = $request->input('article_des_title');
$update->rules = $request->input('article_des_message');
$update->whats_inside = $request->input('whats_inside_content');
$update->save();
return response()->json(['success' => true, 'status' => 200]);
}
public function updateRules(Request $request)
{
$validated = $request->validate([
'rules_content' => 'required',
]);
$update = ManageRule::find($request->rule_id);
$update->rules = $request->input('rules_content');
$update->save();
return response()->json(['success' => true, 'status' => 200]);
}
}

View File

@@ -19,8 +19,6 @@
}
</style>
<div class="layout-px-spacing">
<div class="middle-content container-xxl p-0">
<div class="row layout-top-spacing ">
@@ -32,11 +30,8 @@
<img class="back-btn" src="{{ asset('public/assets/img/left-arrow.svg') }}">
<h6 class="card-title p-0">Edit Redemptions Details</h6>
</a>
</div>
</div>
</div>
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
@@ -48,31 +43,34 @@
<div class="tab-pane fade show active" id="home-tab-pane" role="tabpanel"
aria-labelledby="home-tab" tabindex="0">
<div class="row">
<form id="rules_form">
<!-- Form for What's Inside -->
<form id="whats_inside_form">
<div class="col-md-12 mb-4">
<label for="rules-quill-edit-title" class="form-label">What's Inside
?</label>
<label for="whats_inside_quill" class="form-label">What's Inside?</label>
<input type="hidden" name="rule_id" value="{{ $data->id }}">
<input type="hidden" id="stored-title-message"
value="{{ $data->whats_inside }}">
<div id="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="rules-quill-edit-message" class="form-label">Rules</label>
<input type="hidden" name="rule_id" value="{{ $data->id }}">
<input type="hidden" id="stored-message-message"
value="{{ $data->rules }}">
<div id="rules-quill-edit-message" class="editor-quill"
style="height: 300px;" minlength="10"></div>
<span class="error-message" id="error-message-message"></span>
<input type="hidden" id="stored-whats-inside" value="{{ $data->whats_inside }}">
<div id="whats_inside_quill" class="editor-quill" style="height: 300px;" minlength="10"></div>
<span class="error-message" id="error-message-whats-inside"></span>
</div>
<div class="col-md-12">
<button type="submit" id="update_rules"
class="download-btn-custom mt-3 custom-width-10">
<span>Update</span>
<button type="submit" id="update_whats_inside" class="download-btn-custom mt-3 custom-width-10">
<span>Update What's Inside</span>
</button>
</div>
</form>
<!-- Form for Rules -->
<form id="rules_form">
<div class="col-md-12 mb-4">
<label for="rules_quill" class="form-label">Rules</label>
<input type="hidden" name="rule_id" value="{{ $data->id }}">
<input type="hidden" id="stored-rules" value="{{ $data->rules }}">
<div id="rules_quill" class="editor-quill" style="height: 300px;" minlength="10"></div>
<span class="error-message" id="error-message-rules"></span>
</div>
<div class="col-md-12">
<button type="submit" id="update_rules" class="download-btn-custom mt-3 custom-width-10">
<span>Update Rules</span>
</button>
</div>
</form>
@@ -83,80 +81,56 @@
</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 src="{{ asset('public/assets/js/admin/manage_cms/manage_terms_cond/manage_terms_condition.js')}}"></script> --}}
<script>
$(document).ready(function() {
// Initialize Quill editors
var quillTitle = new Quill('#rules-quill-edit-title', {
var quillWhatsInside = new Quill('#whats_inside_quill', {
theme: 'snow'
});
var quillMessage = new Quill('#rules-quill-edit-message', {
var quillRules = new Quill('#rules_quill', {
theme: 'snow'
});
// Set initial content for Quill editors
var storedTitle = document.getElementById('stored-title-message').value;
quillTitle.clipboard.dangerouslyPasteHTML(storedTitle);
var storedWhatsInside = document.getElementById('stored-whats-inside').value;
quillWhatsInside.clipboard.dangerouslyPasteHTML(storedWhatsInside);
var storedMessage = document.getElementById('stored-message-message').value;
quillMessage.clipboard.dangerouslyPasteHTML(storedMessage);
var storedRules = document.getElementById('stored-rules').value;
quillRules.clipboard.dangerouslyPasteHTML(storedRules);
// Form submission logic
$('#update_rules').on("click", function(e) {
// Form submission logic for What's Inside
$('#update_whats_inside').on("click", function(e) {
e.preventDefault();
$('#rules_form').validate({
$('#whats_inside_form').validate({
ignore: [],
debug: false,
rules: {
article_des_title: {
whats_inside_content: {
required: true,
minlength: 1000,
},
article_des_message: {
required: true,
minlength: 1000,
minlength: 10,
}
},
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"
whats_inside_content: {
required: "Please enter the content for What's Inside",
minlength: "The content for What's Inside must be at least 10 characters long"
}
},
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;
// Get the HTML content from Quill editor
var whatsInsideContent = quillWhatsInside.root.innerHTML;
if (article_des_title.trim() === '<p><br></p>' || article_des_message
.trim() === '<p><br></p>') {
toastr.error("Please Enter Rules");
if (whatsInsideContent.trim() === '<p><br></p>') {
toastr.error("Please enter the content for What's Inside");
return false;
}
@@ -165,13 +139,80 @@
// 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);
formData.append('whats_inside_content', whatsInsideContent);
$.ajaxSetup({
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
"content"),
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
});
$.ajax({
url: base_url + '/update_whats_inside',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(response) {
if (response.status == 200) {
toastr.success("What's Inside content updated successfully");
setTimeout(function() {
window.location.href = base_url + "/manage_rules";
}, 1000);
} else {
toastr.error("Something went wrong");
}
},
error: function(response) {
toastr.error("An error occurred while updating the content for What's Inside");
}
});
}
});
// Trigger form validation
$('#whats_inside_form').submit();
});
// Form submission logic for Rules
$('#update_rules').on("click", function(e) {
e.preventDefault();
$('#rules_form').validate({
ignore: [],
debug: false,
rules: {
rules_content: {
required: true,
minlength: 10,
}
},
messages: {
rules_content: {
required: "Please enter the rules content",
minlength: "The rules content must be at least 10 characters long"
}
},
errorClass: 'error-message',
submitHandler: function(form) {
// Get the HTML content from Quill editor
var rulesContent = quillRules.root.innerHTML;
if (rulesContent.trim() === '<p><br></p>') {
toastr.error("Please enter the rules content");
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('rules_content', rulesContent);
$.ajaxSetup({
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
});
@@ -183,20 +224,16 @@
contentType: false,
success: function(response) {
if (response.status == 200) {
toastr.success(
'Rules Data Updated Successfully');
toastr.success("Rules content updated successfully");
setTimeout(function() {
window.location.href = base_url +
"/manage_rules";
window.location.href = base_url + "/manage_rules";
}, 1000);
} else {
toastr.error("Something went wrong");
}
},
error: function(response) {
toastr.error(
"An error occurred while updating the rules"
);
toastr.error("An error occurred while updating the rules content");
}
});
}

View File

@@ -224,8 +224,10 @@ Route::group(['middleware' => ['checkStatus']], function () {
//*******************************************************manage redemptions rules********************************************************
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']);
//*******************************************************manage referral rules********************************************************
Route::post('/update_whats_inside', [ManageRulesController::class, 'updateWhatsInside'])->name('update_whats_inside');
Route::post('/update_rules', [ManageRulesController::class, 'updateRules'])->name('update_rules');
//*******************************************************manage referral rules********************************************************
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'])->name('update_referral_rules');