added column status in leads

This commit is contained in:
cj201199
2024-04-26 11:24:33 +05:30
4 changed files with 188 additions and 81 deletions

View File

@@ -58,8 +58,15 @@ function imagePath($path = null)
function getUserActivateStatus()
{
// return \Auth::user()->id;
if(auth()->guard("users")->user() && auth()->guard("users")->user()->id)
{
return User::where(["id"=>auth()->guard("users")->user()->id,"status"=>true])->exists();
}
else{
return false;
}
// return auth()->guard("users")->user()->id;
return User::where(["id"=>auth()->guard("users")->user()->id,"status"=>true])->exists();
}
function routeForHandpickedInvestment($categoryId)

View File

@@ -65,45 +65,23 @@
<label class=" fs-6 fw-semibold mb-2">Company</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter Company" name="lead_company" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Full Name</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter First Name" name="first_name" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
</div>
{{--<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Last Name</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter Last Name" name="last_name" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
</div>--}}
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Title</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter Tiltle" name="title" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)"/>
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Email</label>
<!--pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$"-->
<input type="email" class="form-control form-control-solid" placeholder="Enter Email" name="email" id="email"/>
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Phone</label>
<input type="tel" minlength="10" maxlength="10" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" class="form-control form-control-solid" placeholder="Enter Phone Number" name="phone" />
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Mobile</label>
<input type="tel" minlength="10" maxlength="10" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" class="form-control form-control-solid" placeholder="Enter Mobile Number" name="mobile" />
<label class=" fs-6 fw-semibold mb-2">Title</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter Tiltle" name="title" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)"/>
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Website</label>
<input type="text" class="form-control form-control-solid" placeholder="" name="website" />
</div>
<div class="col-md-6 fv-row mb-7">
<label class=" fs-6 fw-semibold mb-2">Lead Source</label>
<select class="form-select form-select-solid lead_source select2-hidden-accessible" data-control="select2" data-hide-search="true" data-placeholder="Select a Lead Source" name="target_assign" tabindex="-1" aria-hidden="true" data-kt-initialized="1">
<option value="">Select user...</option>
@foreach($user as $data)
<option value="{{$data->id}}">{{$data->name}}</option>
@endforeach
</select>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Phone</label>
<input type="tel" minlength="10" maxlength="10" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" class="form-control form-control-solid" placeholder="Enter Phone Number" name="phone" />
</div>
<div class="col-md-6 fv-row mb-7">
<label class=" fs-6 fw-semibold mb-2">Lead Status</label>
<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">
@@ -115,6 +93,38 @@
<option value="Lost">Lost</option>
</select>
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Full Name</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter First Name" name="first_name" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
</div>
{{--<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Last Name</label>
<input type="text" class="form-control form-control-solid" placeholder="Enter Last Name" name="last_name" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
</div>--}}
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Mobile</label>
<input type="tel" minlength="10" maxlength="10" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" class="form-control form-control-solid" placeholder="Enter Mobile Number" name="mobile" />
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Annual Revenue</label>
<input type="number" class="form-control form-control-solid" placeholder="Enter Annual Revenue" name="annual_revenue" />
</div>
<div class="col-md-6 fv-row mb-7">
<label class=" fs-6 fw-semibold mb-2">Lead Source</label>
<select class="form-select form-select-solid lead_source select2-hidden-accessible" data-control="select2" data-hide-search="true" data-placeholder="Select a Lead Source" name="target_assign" tabindex="-1" aria-hidden="true" data-kt-initialized="1">
<option value="">Select user...</option>
@foreach($user as $data)
<option value="{{$data->id}}">{{$data->name}}</option>
@endforeach
</select>
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Industry</label>
<input type="text" class="form-control form-control-solid" placeholder="" name="industry" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
@@ -124,10 +134,7 @@
<label class=" fs-6 fw-semibold mb-2">No. of Employees</label>
<input type="number" class="form-control form-control-solid" placeholder="Enter Employees" name="total_employees" />
</div>
<div class="col-md-6 fv-row">
<label class=" fs-6 fw-semibold mb-2">Annual Revenue</label>
<input type="number" class="form-control form-control-solid" placeholder="Enter Annual Revenue" name="annual_revenue" />
</div>
</div>
</div>

View File

@@ -579,9 +579,7 @@
<div class="form-box mb-5">
<label class="fs-6 fw-semibold form-label mt-3">
<span>Company</span>
</label>
<input type="text" class="form-control form-control-solid"
name="lead_company" value='{{ $lead->lead_company }}' />
@@ -894,14 +892,13 @@
@forelse($lead->attachment as $data)
@if ($data->type == 'Image')
<li class="list-group-item">
@php($path = ['path'=>$data->path])
@php($path = ['path' => $data->path])
{{-- @dd($path) --}}
{{-- <a href="{{ route('lead-attachment-download', ['path' => $path]) }}">
Download
Filesss</a> --}}
<a type="button"
class="btn btn-primary text-light w-25"
href="{{ route('lead-attachment-download',['path' => $path]) }}">Download
<a type="button" class="btn btn-primary text-light w-25"
href="{{ route('lead-attachment-download', ['path' => $path]) }}">Download
Filesss</a>
<br>By {{ $data->admin->name }} At
{{ $data->created_at->format('H:i:s d/m/y') }}
@@ -1827,9 +1824,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>
@@ -3160,10 +3157,11 @@ document.getElementById("reminder").min = today;
document.removeEventListener("click", ClickOutside);
}
}
function getRoute(path) {
console.log("onclick clicked",path)
console.log("onclick clicked", path)
}
function call() {
var x = document.getElementById("call_drop");
@@ -3750,45 +3748,107 @@ document.getElementById("reminder").min = today;
},
});
$.validator.addMethod("charactersOnly", function(value, element) {
return /^[a-zA-Z]+$/.test(value);
}, "Please enter only alphabetical characters");
$.validator.addMethod("customEmail", function(value, element) {
// Regular expression for email validation
return /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,}$/.test(value);
}, "Please enter a valid email address");
$.validator.addMethod("numbersOnly", function(value, element) {
return /^[0-9]+$/.test(value);
}, "Please enter only numbers");
$.validator.addMethod("validNumberFormat", function(value, element) {
// Regular expression to match the number format with optional decimal part
return /^\d+(\.\d{1,2})?$/.test(value);
}, "Please enter a valid number format");
$('#update_lead_form').validate({
ignore: [],
debug: false,
rules: {
lead_owner: 'required',
// users_id: 'required',
// products_id: 'required'
// first_name: 'required',
// title: 'required',
// phone: 'required',
// mobile: 'required',
// lead_source: 'required',
// lead_company: 'required',
// advisor: 'required',
// email: 'required',
// website: 'required',
// lead_status: 'required',
// street: 'required',
// city: 'required',
// country: 'required',
// zip_code: 'required',
// description: 'required',
lead_company: {
charactersOnly: true // Using the custom validation rule for individual characters
},
first_name: {
charactersOnly: true // Using the custom validation rule for individual characters
},
email: {
customEmail: true,
},
title: {
charactersOnly: true // Using the custom validation rule for individual characters
},
mobile: {
numbersOnly: true // Using the custom validation rule for individual characters
},
phone: {
numbersOnly: true // Using the custom validation rule for individual characters
},
lead_source: {
charactersOnly: true
},
industry: {
charactersOnly: true
},
total_employees: {
numbersOnly: true // Using the custom validation rule for individual characters
},
street: {
charactersOnly: true // Using the custom validation rule for individual characters
},
country: {
charactersOnly: true // Using the custom validation rule for individual characters
},
city: {
charactersOnly: true // Using the custom validation rule for individual characters
},
zip_code: {
numbersOnly: true // Using the custom validation rule for individual characters
},
description: {
charactersOnly: true // Using the custom validation rule for individual characters
},
website: {
url: true // Using the custom validation rule for individual characters
},
annual_revenue:{
validNumberFormat:true
}
},
message: {
messages: {
lead_owner: {
required: "Please select lead owner",
},
// users_id: {
// required: "Please select investor",
// },
// products_id: {
// required: "Please select product",
// },
lead_company: "Please enter only alphabetical characters",
first_name: "Please enter only alphabetical characters",
email: {
email: 'Please enter a valid email address',
},
title: "Please enter only alphabetical characters",
mobile: "Please enter only numbers",
phone: "Please enter only numbers",
lead_source: "Please enter only alphabetical characters",
industry: "Please enter only alphabetical characters",
total_employees: "Please enter only numbers",
street: "Please enter only alphabetical characters",
country: "Please enter only alphabetical characters",
city: "Please enter only alphabetical characters",
zip_code: "Please enter only numbers",
description: "Please enter only alphabetical characters",
website: "Please enter valid url",
annual_revenue: "Please enter a valid number format",
},
submitHandler: function(form) {
var formData = new FormData(form);
$.ajax({
url: "{{ route('update-lead') }}",
type: "POST",
type: "POST", // Changed to POST
data: formData,
processData: false,
contentType: false,
@@ -3811,8 +3871,6 @@ document.getElementById("reminder").min = today;
}
},
error: function(jqXHR) {
// $("#request_callback_btn").removeClass("d-none");
// $("#loaderContactBtn").addClass("d-none");
warning(jqXHR.responseJSON);
},
});

View File

@@ -701,23 +701,49 @@
$(this).data('status') ? $('#meeting-status').attr('checked', true) : $('#meeting-status').attr('checked', false);
$('#manage_commission_edit_2').modal('show');
})
// for Subject
$.validator.addMethod("charactersOnly", function(value, element) {
return /^[a-zA-Z]+$/.test(value);
}, "Please enter only alphabetical characters");
// for reminder
$.validator.addMethod("numbersOnly", function(value, element) {
return /^[0-9]+$/.test(value);
}, "Please enter only numbers");
// for due_date
$.validator.addMethod("validDateFormat", function(value, element) {
// Regular expression to match the date format "YYYY-MM-DD HH:MM:SS"
return /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(value);
}, "Please enter a valid date format (YYYY-MM-DD HH:MM:SS)");
$("#edit-task").validate({
ignore: [],
debug: false,
rules: {
subject: 'required',
due_date: 'required',
subject: {
required: true,
charactersOnly: true // Using the custom validation rule for individual characters
},
due_date: {
required: true,
validDateFormat: true // Using the custom validation rule for date format
},
priority: 'required',
owner: 'required',
reminder: 'required'
reminder: {
required: true,
numbersOnly: true // Using the custom validation rule for numbers only
}
},
messages: {
subject: "Please enter subject",
due_date: "Please choose due date",
subject: "Please enter subject with only alphabetical characters",
due_date: "Please enter a valid date format (YYYY-MM-DD HH:MM:SS)",
priority: 'Please select a priority',
owner: 'Please select a owner',
reminder: "Please write a reminder"
reminder: "Please enter only numbers for the reminder"
},
submitHandler: function(form) {
var formData = new FormData(form);
@@ -753,22 +779,31 @@
ignore: [],
debug: false,
rules: {
location: 'required',
location: {
required: true,
charactersOnly: true // Using the custom validation rule for individual characters
},
from: 'required',
to: 'required',
host: 'required',
priority: 'required',
participants: 'required',
related_to: 'required'
participants: {
required: true,
charactersOnly: true // Using the custom validation rule for individual characters
},
related_to: {
required: true,
charactersOnly: true // Using the custom validation rule for individual characters
}
},
messages: {
location: "Please enter location",
location: "Please enter location with only alphabetical characters",
from: "Please choose from date",
to: 'Please select a to date',
host: 'Please select a host',
priority: "Please enter priority",
participants: "Please enter participants",
related_to: "Please enter related to"
participants: "Please enter participants with only alphabetical characters",
related_to: "Please enter related to with only alphabetical characters"
},
submitHandler: function(form) {
var formData = new FormData(form);