Merge branch 'main' of https://github.com/Ritikeshyadav/my-freeu into shaileshfreeu

This commit is contained in:
Shailesh-1981
2024-06-10 17:53:17 +05:30
12 changed files with 830 additions and 196 deletions

View File

@@ -135,7 +135,6 @@ class ManageLeadController extends Controller
public function editLead($id)
{
// dd($this->lead->edit($id));
return view('Admin.Pages.manage_leads.edit-lead', [
'lead' => $this->lead->edit($id),
'users' => User::admins()->get(),
@@ -145,6 +144,8 @@ class ManageLeadController extends Controller
public function updateLead(UpdateLeadRequest $request)
{
// dd($request->all());
$leadUpdated = $this->lead->update($request);
return $leadUpdated ?
$this->response('Lead updated successfully', 200) :
@@ -154,6 +155,7 @@ class ManageLeadController extends Controller
public function createNotes(StoreNotesRequest $request)
{
// dd($request->all());
$leadNoteAdded = $this->lead->storeNote($request);
return $leadNoteAdded ?
$this->response('Lead Note Created Succesfully!', 200) :

View File

@@ -24,6 +24,7 @@ use App\Models\UserKyc;
use App\Notifications\UserAdmin;
use Illuminate\Support\Facades\Validator;
use Session;
use App\Models\Admin\Testimonial;
class HomeController extends Controller
{
@@ -31,7 +32,8 @@ class HomeController extends Controller
{
// dd($this->getAllTopPickProducts());
return view('Frontend.Pages.index', [
'topPicks' => $this->getAllTopPickProducts()
'topPicks' => $this->getAllTopPickProducts(),
'testimonial' => Testimonial::where('is_active',true)->get(),
]);
}

View File

@@ -22,6 +22,8 @@ class ProductTrailCommission extends Model
}
public function productNameCommission($productId){
$productName = 'N/A';
$companyName = 'No Company Assigned';
if(AlternativeInvestmentFund::where('products_id',$productId)->exists()){
$aif = AlternativeInvestmentFund::where('products_id',$productId)->first();
$productName = $aif->fund_name;

View File

@@ -100,7 +100,7 @@ class LeadService{
}
public function storeNote($request){
return LeadNote::where('id', $request->leads_id)->update($request->validated());
return LeadNote::updateOrCreate(['leads_id'=>$request->leads_id],['notes'=>$request->notes]);
}
public function storeAttachments($request){

File diff suppressed because it is too large Load Diff

View File

@@ -292,6 +292,21 @@ $('.more-inner').slick({
$('#testimonial_sliders').slick({
dots: true,
// arrow: true,
infinite: true,
// speed: 1000,
// autoplay: true,
slidesToShow: 1,
slidesToScroll: 1,
});

View File

@@ -546,29 +546,29 @@
</label>
<!-- <select class="form-select" name="lead_status"
data-placeholder="Select a Lead Status">
<option value="New"
{{ $lead->lead_status == 'New' ? 'selected' : '' }}>New
</option>
<option value="Ongoing"
{{ $lead->lead_status == 'Ongoing' ? 'selected' : '' }}>
Ongoing
</option>
<option value="Completed"
{{ $lead->lead_status == 'Completed' ? 'selected' : '' }}>
Completed</option>
<option value="Old"
{{ $lead->lead_status == 'Old' ? 'selected' : '' }}>Old
</option>
<option value="Lost"
{{ $lead->lead_status == 'Lost' ? 'selected' : '' }}>Lost
</option>
</select> -->
data-placeholder="Select a Lead Status">
<option value="New"
{{ $lead->lead_status == 'New' ? 'selected' : '' }}>New
</option>
<option value="Ongoing"
{{ $lead->lead_status == 'Ongoing' ? 'selected' : '' }}>
Ongoing
</option>
<option value="Completed"
{{ $lead->lead_status == 'Completed' ? 'selected' : '' }}>
Completed</option>
<option value="Old"
{{ $lead->lead_status == 'Old' ? 'selected' : '' }}>Old
</option>
<option value="Lost"
{{ $lead->lead_status == 'Lost' ? 'selected' : '' }}>Lost
</option>
</select> -->
<select
class="form-select form-select-solid lead_status select2-hidden-accessible"
data-control="select2" data-hide-search="true"
data-placeholder="Select a Lead Status" name="target_assign"
tabindex="-1" aria-hidden="true" data-kt-initialized="1">
data-placeholder="Select a Lead Status" tabindex="-1"
aria-hidden="true" data-kt-initialized="1" name="lead_status">
<option value="New"
{{ $lead->lead_status == 'New' ? 'selected' : '' }}>New
</option>
@@ -963,7 +963,7 @@
</div>
<div class="modal-footer d-flex justify-content-center add-btn m-5">
<button type="submit" class="btn btn-primary text-light "
id="fname">Save</button>
id="save-notes">Save</button>
</div>
</form>
</div>
@@ -1869,9 +1869,9 @@
<!-- <a class="action_icon" data-bs-toggle="modal" data-bs-target="#subjectpop">
<i class="fa fa-file-text" aria-hidden="true"></i>
<i class="fa fa-file-text" aria-hidden="true"></i>
</a> -->
</a> -->
<input type="text" placeholder="Please enter subject" id="" name="subject">
@@ -1883,7 +1883,8 @@
<label for="fname">Due Date</label>
<input type="text" placeholder="Please choose due date " id="dateTime" name="due_date" autocomplete="off">
<input type="text" placeholder="Please choose due date " id="dateTime" name="due_date"
autocomplete="off">
</div>
@@ -1929,9 +1930,9 @@
<!-- <input type="text" id="fname" name="fname" value="vijay"><a class="action_icon" data-bs-toggle="modal" data-bs-target="#ownerpop">
<i class="fa fa-user" aria-hidden="true"></i>
<i class="fa fa-user" aria-hidden="true"></i>
</a> -->
</a> -->
</div>
@@ -1939,7 +1940,8 @@
<label for="fname">Reminder</label>
<input type="text" placeholder="Please write a reminder "id="reminder" name="reminder" min="">
<input type="text" placeholder="Please write a reminder "id="reminder" name="reminder"
min="">
</div>
@@ -2042,7 +2044,8 @@
<label for="fname">From</label>
<input type="text" placeholder="Please choose from date"id="meeting-from" name="from" />
<input type="text" placeholder="Please choose from date"id="meeting-from"
name="from" />
</div>
@@ -2050,7 +2053,8 @@
<label for="fname">To</label>
<input type="text" placeholder="Please select a to date" id="meeting-to" name="to" />
<input type="text" placeholder="Please select a to date" id="meeting-to"
name="to" />
</div>
@@ -2080,7 +2084,7 @@
<select name="priority" id="" class="form-control">
<option value="">Please select a priority</option>
<option value="">Please select a priority</option>
<option value="Low">Low</option>
@@ -2100,7 +2104,8 @@
<label for="fname">Participants</label>
<input type="text" id="" placeholder="Please enter participants" name="participants" value="">
<input type="text" id="" placeholder="Please enter participants"
name="participants" value="">
</div>
@@ -2108,7 +2113,8 @@
<label for="fname">Related To</label>
<input type="text" placeholder="Please enter related to" id="" name="related_to" value="">
<input type="text" placeholder="Please enter related to" id="" name="related_to"
value="">
</div>
@@ -3144,6 +3150,51 @@
< script src = "https://cdn.rawgit.com/t4t5/sweetalert/v0.2.0/lib/sweet-alert.min.js" >
</script>
</script>
<script>
$(document).ready(function() {
$("#add-notes").validate({
ignore: [],
debug: false,
rules: {
notes: 'required',
},
messages: {
notes: "Please enter notes",
},
submitHandler: function(form) {
var formData = new FormData(form);
// Fetch CSRF token value from the page
var csrfToken = $('meta[name="csrf-token"]').attr('content');
// Add CSRF token to the FormData object
formData.append('_token', csrfToken);
$.ajax({
url: "{{ route('create-notes') }}",
type: "POST",
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function(result) {
if (result && result.status == 200) {
toastr.success(result.message);
setTimeout(() => {
location.reload();
}, 1000);
} else {
console.error("Invalid response from server:", result);
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
},
});
},
});
});
</script>
<script>
$(document).ready(function() {
$('#delete_file').click(function() {
@@ -3689,46 +3740,11 @@
$('.lead_owner').select2();
});
$("#add-notes").validate({
ignore: [],
debug: false,
rules: {
notes: 'required',
},
messages: {
notes: "Please enter notes",
},
submitHandler: function(form) {
var formData = new FormData(form);
$.ajax({
url: "{{ route('create-notes') }}",
type: "POST",
data: formData,
beforeSend: function() {
// $('#loaderBtn').removeClass('d-none');
// $('#save-btn').addClass('d-none');
},
processData: false,
contentType: false,
dataType: "json",
success: function(result) {
// $('#save-btn').removeClass('d-none');
// $('#loaderBtn').addClass('d-none');
if (result.status == 200) {
toastr.success(result.message);
setTimeout(() => {
location.reload();
}, 1000);
}
},
error: function(jqXHR) {
// $("#request_callback_btn").removeClass("d-none");
// $("#loaderContactBtn").addClass("d-none");
warning(jqXHR.responseJSON);
},
});
},
});
$("#add-url").validate({
ignore: [],

View File

@@ -477,6 +477,7 @@ $url_name = request()->segment(count(request()->segments()));
}
function warning(arr) {
// status = 'status';
if ('status' in arr) {
toastr.warning(arr.message);
return;

View File

@@ -108,7 +108,7 @@
<!--</div>-->
<div class="table-invest">
<div class="container">
@if ($productData && $productData->product_images->toArray() != null)
@if ($productData && count($productData->product_images) != null)
<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
@foreach ($productData->product_images as $key => $image)

View File

@@ -261,57 +261,56 @@
</div>
</div>
@if(count($topPicks['data']))
@if (count($topPicks['data']))
<div class="popular-assets">
<div class="container">
<div class="bg-brown-head mb-5">
<h3 class="aos-init aos-animate" data-aos="fade-right">Popular Assets</h3>
</div>
<div class="parimay-card mt-4 mb-5">
@foreach ($topPicks['data'] as $pick)
<div class="assets-card aos-init aos-animate" data-aos="fade-up">
<a href="{{ auth()->guard('users')->check() == true ? route(routeForHandpickedInvestment($pick->categories_id), $pick->slug) : route('login') }}"
data-route="{{ route(routeForHandpickedInvestment($pick->categories_id), $pick->slug) }}"
class="redirect_to_page">
<div class="card-logo">
@php($propertyImg = $pick->property_image)
@php($companyLogo = $pick->company_logo)
@php($fileName = $pick->file_name)
@if ($propertyImg)
@php($img = $propertyImg)
@elseif($companyLogo)
@php($img = $companyLogo)
@elseif($fileName)
@php($img = $fileName)
@else
@php($img = asset('public/assets/media/FrontendImages/menu-logo.png'))
@endif
<img src="{{ $img }}">
</div>
<div class="blur-md">
@if ($pick->geographic_focus == 'India')
<img src="{{ asset('public/assets/media/FrontendImages/map.svg') }}">
@else
<img src="{{ asset('public/assets/media/FrontendImages/world.png') }}">
@endif
<img src="{{ asset(getCategoryIcons($pick->categories_id)) }}">
<div class="popular-assets">
<div class="container">
<div class="bg-brown-head mb-5">
<h3 class="aos-init aos-animate" data-aos="fade-right">Popular Assets</h3>
</div>
<div class="parimay-card mt-4 mb-5">
@foreach ($topPicks['data'] as $pick)
<div class="assets-card aos-init aos-animate" data-aos="fade-up">
<a href="{{ auth()->guard('users')->check() == true ? route(routeForHandpickedInvestment($pick->categories_id), $pick->slug) : route('login') }}"
data-route="{{ route(routeForHandpickedInvestment($pick->categories_id), $pick->slug) }}"
class="redirect_to_page">
<div class="card-logo">
@php($propertyImg = $pick->property_image)
@php($companyLogo = $pick->company_logo)
@php($fileName = $pick->file_name)
@if ($propertyImg)
@php($img = $propertyImg)
@elseif($companyLogo)
@php($img = $companyLogo)
@elseif($fileName)
@php($img = $fileName)
@else
@php($img = asset('public/assets/media/FrontendImages/menu-logo.png'))
@endif
<img src="{{ $img }}">
</div>
<div class="blur-md">
@if ($pick->geographic_focus == 'India')
<img src="{{ asset('public/assets/media/FrontendImages/map.svg') }}">
@else
<img src="{{ asset('public/assets/media/FrontendImages/world.png') }}">
@endif
<img src="{{ asset(getCategoryIcons($pick->categories_id)) }}">
<p>{{ $pick->product_name }}</p>
</div>
<div class="middle-sec p-0">
<p class="cate">Category: {{ $pick->category_name }}</p>
</div>
<div class="dics">
<h4>Minimum Investment: {{ $pick->minimum_investment }}</h4>
<p>{{ Str::limit($pick->description,250) }}</p>
</div>
</a>
</div>
@endforeach
<p>{{ $pick->product_name }}</p>
</div>
<div class="middle-sec p-0">
<p class="cate">Category: {{ $pick->category_name }}</p>
</div>
<div class="dics">
<h4>Minimum Investment: {{ $pick->minimum_investment }}</h4>
<p>{{ Str::limit($pick->description, 250) }}</p>
</div>
</a>
</div>
@endforeach
</div>
</div>
</div>
</div>
@endif
<!-----------------------This is working explore assets start from here --------------->
@@ -673,6 +672,8 @@
</div>
</div>
@include('Frontend.Pages.testimonial')
{{-- <div class="explore-assets">
<div class="container">
<div class="row d-flex align-items-center">
@@ -947,51 +948,49 @@
<input type="hidden" name="geographic_focus" id="geographic_focus_input">
<input type="hidden" name="investment_type" id="investment_type_input">
<input type="hidden" name="investment_strategy" id="investment_strategy_input">
@endsection()
@section('scripts')
<script>
@endsection()
@section('scripts')
<script>
$('.close_btn').on('click', function() {
window.location.href = $('.redirect_page').attr('href');
// alert('close');
})
$('.close_btn').on('click', function() {
window.location.href = $('.redirect_page').attr('href');
// alert('close');
})
$('#risk_disclosure').validate({
ignore: [],
debug: false,
rules: {
checked_risk_disclosure: {
required: true,
},
$('#risk_disclosure').validate({
ignore: [],
debug: false,
rules: {
checked_risk_disclosure: {
required: true,
},
messages: {
checked_risk_disclosure: {
required: "Please check the Term & Condition to move forward",
},
},
messages: {
checked_risk_disclosure: {
required: "Please check the Term & Condition to move forward",
},
submitHandler: function(form) {
var formData = new FormData(form);
$.ajax({
url: "/check-risk-disclosure",
type: 'post',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function(result) {
if (result.status == 200) {
// toastr.success(result.message);
$('#warningModal').modal('hide');
location.reload();
}
// } else {
// // toastr.warning(result.message);
// }
},
submitHandler: function(form) {
var formData = new FormData(form);
$.ajax({
url: "/check-risk-disclosure",
type: 'post',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function(result) {
if (result.status == 200) {
// toastr.success(result.message);
$('#warningModal').modal('hide');
location.reload();
}
})
}
});
// } else {
// // toastr.warning(result.message);
// }
}
})
}
});
// $(function() {
// $(`.india-financial-assets,.global-financial-assets, .india-real-estate, .global-real-estate `)

View File

@@ -0,0 +1,21 @@
{{-- testimonial slider --}}
@if(count($testimonial))
<div class="testi_slider_sec">
<div class="container">
<div class="h2">Testmonials</div>
<div id="testimonial_sliders">
@foreach ($testimonial as $singleTestimonial)
<div class="inn_testi">
{{-- <img src="http://localhost/freeu/my-freeu/public/assets/media/FrontendImages/menu-logo.png"> --}}
<h2>{{$singleTestimonial->description}}</h2>
<p>{{$singleTestimonial->client_name}} <br> <span>{{$singleTestimonial->client_designation_company_name}}</span></p>
</div>
@endforeach
</div>
</div>
</div>
@endif
{{-- testimonial slider --}}

View File

@@ -312,7 +312,7 @@ Route::get("manage_setting", [ManageSettingController::class, 'index'])->name('m
// --------------------Frontend Routes-------------------------------
// NavBar links - Prathmesh
// main page (index) - Prathmesh
// Route::get('index', function () {