| Server IP : 138.197.107.151 / Your IP : 216.73.217.7 Web Server : Apache/2.4.58 (Ubuntu) System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : wpbetasites_mrakzqskir ( 1022) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/silversharkadmindev/resources/views/users/ |
Upload File : |
@extends('layouts.app',['title'=>ucwords($title)])
@section('content')
<div class="main-content" id="result">
<div class="page-content create-new-user">
<div class="container-fluid">
<!-- start page title -->
<div class="row ">
<div class="col-12">
<div class="page-title-box d-flex align-items-center justify-content-between">
<h4 class="mb-0 font-size-18">Create new user</h4>
</div>
</div>
</div>
<form id="register-form" method="post" action="{{route('users.save')}}" autocomplete="off" class="needs-validation">
@csrf
<div class="row mt-4">
<div class="col-lg-8 offset-lg-2">
<div class="card">
<div class="card-body">
<div class="mb-3">
<label for="name" class="form-label">Name</label>
<input id="projectname-input" value="{{old('name')}}" name="name" type="text" class="form-control" placeholder="Enter Name*" required="">
@error('name')
<div class="text-danger mt-2">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input id="email" value="{{old('email')}}" name="email" type="email" class="form-control" placeholder="Enter Email*" required="">
@error('email')
<div class="text-danger mt-2">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<div class="form-group position-relative pass_field">
<input id="password" value='' name="password" type="password" class="form-control" placeholder="Enter password*" required="">
<button type="button" class="btn btn-light position-absolute end-0 top-0 toggle-password password-icon" tabindex="-1"><i
class="mdi mdi-eye-outline"></i></button>
</div>
@error('password')
<div class="text-danger mt-2">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="confirm_password-input" class="form-label">Confirm Password</label>
<div class="form-group position-relative pass_field">
<input id="password_confirmation" value='' name="password_confirmation" type="password" class="form-control" placeholder="Enter Confirm Password*" required="">
<button type="button" class="btn btn-light position-absolute end-0 top-0 toggle-password password-icon" tabindex="-1"><i
class="mdi mdi-eye-outline"></i></button>
</div>
@error('password_confirmation')
<div class="text-danger mt-2">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label><br/>
<select name="role" class="form-control">
<option @if(old("agency")=="agency") selected @endif value="agency">Sub Admin</option>
</select>
@error('role')
<div class="text-danger mt-2">{{ $message }}</div>
@enderror
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
</div>
<div class="col-lg-8 offset-lg-2">
<div class="text-end mb-4">
<a href="{{route('users.list')}}" class="btn btn-secondary mx-2">Cancel</a>
<button type="submit" id="submitBtn" class="btn btn-primary button-text">Create</button>
</div>
</div>
</div>
<!-- end row -->
</form>
</div> <!-- container-fluid -->
</div>
</div>
@endsection
@push('topcss')
<link href="{{ asset('assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/intl-tel-input@25.3.1/build/css/intlTelInput.css"/>
@endpush
@push('scripts')
<script src="https://cdn.jsdelivr.net/npm/intl-tel-input@25.3.1/build/js/intlTelInput.min.js"></script>
<script>
$(document).ready(function() {
$(".toggle-password").click(function() {
let input = $(this).closest(".pass_field").find("input");
let icon = $(this).closest(".pass_field").find("i");
if (input.attr("type") === "password") {
input.attr("type", "text");
icon.removeClass("mdi-eye-outline").addClass("mdi-eye-off-outline");
} else {
input.attr("type", "password");
icon.removeClass("mdi-eye-off-outline").addClass("mdi-eye-outline");
}
});
});
</script>
<script>
var input = document.querySelector("#phone");
var iti = window.intlTelInput(input, {
separateDialCode: true,
strictMode: true,
countryOrder: ["us", "in", "gb"], // USA, India, UK
loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@25.3.1/build/js/utils.js"),
});
// On submit, get the full international number
$('form').on('submit', function(e) {
//e.preventDefault();
let phoneNumber = iti.getNumber(); // e.g., +919812345678
$('#phone_full').val(phoneNumber); // overwrite input value with full number
//document.getElementById('submitBtn').disabled = true;
});
</script>
<script src="{{ asset('assets/validate/jquery.validate.min.js')}}"></script>
<script type="text/javascript">
$(function() {
jQuery.validator.addMethod("fullname", function(value, element) {
return this.optional(element) || /^[A-Za-z]+(?:\s[A-Za-z]+)?$/.test(value);
}, "Please enter a valid name.");
$("#register-form").validate({
submitHandler: function(form) {
// Disable button to prevent duplicate submissions
$("#submitBtn").prop("disabled", true);
form.submit(); // submit the form after disabling
},
rules: {
name: {
required: true,
fullname: true,
minlength: 3
},
email: {
required: true,
email: true,
remote: {
url: "/check-email", // your backend route
type: "post",
data: {
email: function() {
return $("#email").val();
},
_token: function() {
return $('meta[name="csrf-token"]').attr('content');
}
}
}
},
phone: {
required: true,
/*remote: {
url: "/check-phone", // your backend route
type: "post",
data: {
phone: function() {
return iti.getNumber();;
},
_token: function() {
return $('meta[name="csrf-token"]').attr('content');
}
}
}*/
},
password: {
required: true,
minlength: 6
},
password_confirmation: {
required: true,
minlength: 6,
equalTo: "#password" // must match password
}
},
messages: {
name: {
required: "This field is required.",
minlength: "Full name must be at least 3 characters."
},
email:{
remote: function(response) {
return response; // server message is used directly
}
},
phone:{
remote:"Please provide a unqiue phone number."
},
password: {
required: "This field is required.",
minlength: "Password must be at least 6 characters long."
},
password_confirmation: {
required: "This field is required.",
minlength: "Password must be at least 6 characters long.",
equalTo: "New password and confirm password do not match."
}
},
errorPlacement: function(error, element) {
if (element.attr("name") === "phone") {
error.appendTo("#phone-error-container"); // Custom container for fullname
} else {
error.insertAfter(element); // Default placement
}
}
})
});
</script>
@endpush