File: /var/www/html/owlcrm/resources/views/users/lead_proposal/create.blade.php
@extends('adminlte::page')
@section('title', 'Dashboard')
@section('content_header')
<h1>Lead Proposal</h1>
<small>Manage Lead Proposal</small>
@stop
@section('content')
<div class="card card-dark">
<div class="card-header">
<h3 class="card-title"> Add Lead Proposal</h3>
</div>
@if (session('error'))
<h6 class="alert alert-danger">
{{ session('error') }}
</h6>
@endif
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" id="add_lead_proposal" role="form" action="{{ route('lead_proposal.store') }}"
class="jqueryValidation">
@csrf
<div class="card-body">
<div class=" form-group">
<label for="subject">Subject</label>
<x-adminlte-input class="form-control" id="subject" name="subject" placeholder="Enter Subject"
value="{{ old('subject') }}" required />
</div>
<div class="form-group">
<label for="lead">Lead</label>
<select name="lead" id="lead" class="form-control">
<option value="">--Select lead--</option>
@foreach ($leads as $lead)
<option value="{{ $lead->id }}">{{ $lead->title }}</option>
@endforeach
</select>
</div>
{{-- <div class=" form-group">
<label for="proposal_date">Proposal Date</label>
<x-adminlte-input type="date" class="form-control" id="proposal_date " name="proposal_date"
value="{{ old('proposal_date') }}" placeholder="Enter Proposal Date" required />
</div>
<div class=" form-group">
<label for="start_date">Valid Till Date</label>
<x-adminlte-input type="date" class="form-control" id="valid_till_date " name="valid_till_date"
value="{{ old('valid_till_date') }}" placeholder="Enter Valid Till Date" required />
</div> --}}
<div class="form-group">
<label for="proposal_date">Proposal Date</label>
<x-adminlte-input type="date" class="form-control" id="proposal_date" name="proposal_date"
value="{{ old('proposal_date') }}" placeholder="Enter Proposal Date" required
min="{{ \Carbon\Carbon::today()->format('Y-m-d') }}" />
</div>
<div class="form-group">
<label for="valid_till_date">Valid Till Date</label>
<x-adminlte-input type="date" class="form-control" id="valid_till_date" name="valid_till_date"
value="{{ old('valid_till_date') }}" placeholder="Enter Valid Till Date" required
min="{{ \Carbon\Carbon::today()->format('Y-m-d') }}" />
<span id="date-error" style="color: red; display: none;">Valid Till Date cannot be earlier than the
Proposal Date.</span>
</div>
<div class="form-group">
<label for="user">User</label>
<select name="user" id="user" class="form-control">
<option value="">--Select User--</option>
@foreach ($users as $User)
<option value="{{ $User->id }}">{{ $User->first_name . $User->last_name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="tags">Tags </label>
<input type="text" name="input" class="form-control" value="{{ old('input') }}"
placeholder="Add tags">
</div>
<div class="form-group">
<label for="currency">Currency</label>
<select name="currency" id="currency" class="form-control" disabled>
<option value="">--Select Currency--</option>
@foreach ($currencies as $currency)
<option value="{{ $currency->id }}"{{ $currency->id == 1 ? 'selected' : '' }}>
{{ $currency->symbol . ' ' . $currency->code }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="amount">Amount</label>
<x-adminlte-input type="number" class="form-control" id="amount" name="amount"
value="{{ old('amount') }}" placeholder="Enter Amount" step="0.01" min="0" required />
</div>
<div class="form-group">
<label for="discount_type"> Discount Type </label>
<select name="discount_type" id="discount_type" class="form-control">
@foreach (App\Models\LeadProposal::discount_types as $key => $discount_types)
<option value="{{ $key }}">{{ $discount_types }}</option>
@endforeach
</select>
</div>
<div class=" form-group">
<label for="discount">Discount</label>
<x-adminlte-input type="number" class="form-control" id="discount " name="discount"
value="{{ old('discount') }}" placeholder="Enter Discount" step="0.01" required />
</div>
<div class="form-group">
<label for="address_line_1"> Adress Line 1 </label>
<x-adminlte-input type=" form-control " class="form-control" id="address_line_1" name="address_line_1"
placeholder="Enter Adress Line 1" value="{{ old('address_line_1') }}" />
</div>
<div class="form-group">
<label for="address_line_2"> Adress Line 2 </label>
<x-adminlte-input type=" form-control " class="form-control" id="address_line_2" name="address_line_2"
placeholder="Enter Adress Line 2" value="{{ old('address_line_2') }}" />
</div>
<div class="form-group">
<label for="country">Select your Country</label>
<select name="country" id="country" class="form-control select2">
<option value="">Select Country</option>
@foreach ($countries as $key => $value)
<option value="{{ $value->id }}">{{ $value->name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="state">Select your State</label>
<select name="state" id="state" class="form-control select2">
<option value="">Select State</option>
</select>
</div>
<div class="form-group">
<label for="city">Select your City</label>
<select name="city" id="city" class="form-control select2">
<option value="">Select City</option>
</select>
</div>
<div class="form-group">
<label for="postal_code"> Postal Code </label>
<x-adminlte-input type=" form-control " class="form-control" id="postal_code" name="postal_code"
placeholder="Enter Postal Code" value="{{ old('postal_code') }}" />
</div>
<div class="form-group">
<label for="email">Email</label>
<x-adminlte-input type="email" class="form-control" id="email" name="email"
placeholder="Enter Email" value="{{ old('email') }}" required />
</div>
<div class="form-group">
<label for=" phone_number"> Phone number</label>
<x-adminlte-input type="number" class="form-control" id="phone_number" name="phone_number"
placeholder="Enter Phone number" value="{{ old('phone_number') }}" required />
</div>
<div class="form-group">
<label for=" mobile_number"> Mobile Number</label>
<x-adminlte-input type="number" class="form-control" id="mobile_number" name="mobile_number"
value="{{ old('mobile_number') }}" placeholder="Enter Mobile Number" required />
</div>
<div class="form-group">
<label for="client_note">Client Note</label>
<textarea class="form-control" id="client_note" name="client_note" rows="4" placeholder="Enter Client Note"
value="{{ old('client_note') }}" required></textarea>
</div>
<div class="form-group">
<label for="status"> Status </label>
<select name="status" id="status" class="form-control">
@foreach (App\Models\leadProposal::proposal_status as $key => $proposal_status)
<option value="{{ $key }}">{{ $proposal_status }}</option>
@endforeach
</select>
</div>
<div class="card-footer d-flex justify-content-end">
<a href="{{ route('lead_proposal.index') }}" class="btn btn-danger mx-1">Cancel</a>
<button type="submit" class="btn btn-dark mx-1">Submit</button>
</div>
</form>
</div>
@push('js')
{{-- country-state-city --}}
<script type="text/javascript">
$(document).ready(function() {
// Cache the submit button for reuse
const submitButton = $('button[type="submit"]');
const errorMessage = $('#date-error');
// Date validation function to check if "Valid Till Date" is after "Proposal Date"
function validateDates() {
const proposalDate = new Date($('#proposal_date').val());
const validTillDate = new Date($('#valid_till_date').val());
// Check if Valid Till Date is after Proposal Date
if (validTillDate && proposalDate && validTillDate <= proposalDate) {
errorMessage.show(); // Show error if invalid
submitButton.prop('disabled', true); // Disable submit button
} else {
errorMessage.hide(); // Hide error if valid
submitButton.prop('disabled', false); // Enable submit button
}
}
// Attach date validation on change for both date fields
$('#proposal_date, #valid_till_date').on('change', validateDates);
// Initial validation on page load (optional)
validateDates();
});
//Initialize Select2 Elements
$('.select2').select2();
$('select[name="country"]').on('change', function() {
// alert(" {{ url('/getStates') }} / + country_id ");
var country_id = $(this).val();
// alert("{{ '/getStates' }}/" + country_id);
if (country_id) {
$.ajax({
// url: "{{ '/getStates' }}/" + country_id,
url: "{{ route('states.get', '') }}/" + country_id,
type: "GET",
dataType: "json",
success: function(data) {
console.log(data);
$('select[name="state"]').empty();
$.each(data, function(key, value) {
$('select[name="state"]').append(
'<option value="' +
key + '">' + value + '</option>');
});
}
});
} else {
$('select[name="state"]').empty();
}
});
$('select[name="state"]').on('change', function() {
var state_id = $(this).val();
if (state_id) {
$.ajax({
// url: "{{ '/getCities' }}/" + state_id,
url: "{{ route('cities.get', '') }}/" + state_id,
type: "GET",
dataType: "json",
success: function(data) {
console.log(data);
$('select[name="city"]').empty();
$.each(data, function(key, value) {
$('select[name="city"]').append('<option value="' +
key + '">' + value + '</option>');
});
}
});
} else {
$('select[name="city"]').empty();
}
});
// {{-- End country-state-city --}}
// tags
$(document).ready(function() {
$('input[name="input"]').tagsinput({
trimValue: true,
confirmKeys: [13, 44, 32]
});
$('.bootstrap-tagsinput input').on('focus', function() {
$(this).closest('.bootstrap-tagsinput').addClass('has-focus');
}).on('blur', function() {
$(this).closest('.bootstrap-tagsinput').removeClass('has-focus');
});
});
// End-tags
</script>
@endpush
@stop