532 lines
18 KiB
PHP
532 lines
18 KiB
PHP
|
|
<!-- Body page content -->
|
|
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
|
<script type="text/javascript" src="<?php echo base_url(); ?>/assets/jquery.multi-select.js"></script>
|
|
<script type="text/javascript">
|
|
jQuery(document).ready(function($){
|
|
$('#people').multiSelect();
|
|
});
|
|
</script>
|
|
<style type="text/css">
|
|
.multi-select-container {
|
|
display: inline-block;
|
|
position: relative;
|
|
width:100%;
|
|
}
|
|
|
|
.multi-select-menu {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 2em;
|
|
z-index: 1;
|
|
float: left;
|
|
min-width: 100%;
|
|
background: #fff;
|
|
margin: 1em 0;
|
|
border: 1px solid #aaa;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
display: none;
|
|
}
|
|
|
|
.multi-select-menuitem {
|
|
display: block;
|
|
font-size: 0.875em;
|
|
padding: 0.6em 1em 0.6em 30px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.multi-select-menuitem--titled:before {
|
|
display: block;
|
|
font-weight: bold;
|
|
content: attr(data-group-title);
|
|
margin: 0 0 0.25em -20px;
|
|
}
|
|
|
|
.multi-select-menuitem--titledsr:before {
|
|
display: block;
|
|
font-weight: bold;
|
|
content: attr(data-group-title);
|
|
border: 0;
|
|
clip: rect(0 0 0 0);
|
|
height: 1px;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
position: absolute;
|
|
width: 1px;
|
|
}
|
|
|
|
.multi-select-menuitem + .multi-select-menuitem {
|
|
padding-top: 0;
|
|
}
|
|
|
|
.multi-select-presets {
|
|
border-bottom: 1px solid #ddd;
|
|
}
|
|
|
|
.multi-select-menuitem input {
|
|
position: absolute;
|
|
margin-top: 0.25em;
|
|
margin-left: -20px;
|
|
}
|
|
|
|
.multi-select-button {
|
|
display: block;
|
|
margin-top:2px;
|
|
width:100%;
|
|
max-width: 100%!important;
|
|
font-size: 0.875em;
|
|
padding: 0.85em 0.6em;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
vertical-align: -0.5em;
|
|
background-color: #fff;
|
|
border: 1px solid #aaa;
|
|
cursor: default;
|
|
}
|
|
|
|
.multi-select-button:after {
|
|
content: "";
|
|
position: absolute;
|
|
display: inline-block;
|
|
width: 0;
|
|
height: 0;
|
|
border-style: solid;
|
|
border-width: 0.4em 0.4em 0 0.4em;
|
|
border-color: #999 transparent transparent transparent;
|
|
margin-left: 0.4em;
|
|
vertical-align: 0.1em;
|
|
right:5px;
|
|
top:17px;
|
|
}
|
|
|
|
.multi-select-container--open .multi-select-menu {
|
|
display: block;
|
|
}
|
|
|
|
.multi-select-container--open .multi-select-button:after {
|
|
border-width: 0 0.4em 0.4em 0.4em;
|
|
border-color: transparent transparent #999 transparent;
|
|
}
|
|
|
|
.multi-select-container--positioned .multi-select-menu {
|
|
/* Avoid border/padding on menu messing with JavaScript width calculation */
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.multi-select-container--positioned .multi-select-menu label {
|
|
/* Allow labels to line wrap when menu is artificially narrowed */
|
|
white-space: normal;
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<div class="">
|
|
<div class="page-title">
|
|
|
|
<div class="title_left">
|
|
<h3>Edit Employee</h3>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
<div class="row">
|
|
<div class="col-md-12 col-sm-12 ">
|
|
<div class="x_panel">
|
|
<!-- <div class="x_title">
|
|
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>
|
|
</li>
|
|
</ul>
|
|
<h6>General Information</h6>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content"> -->
|
|
<br />
|
|
<form id="" data-parsley-validate class="form-horizontal form-label-left" method="post" action="<?php echo base_url();?>Employee/editEmployees" enctype="multipart/form-data">
|
|
|
|
<input type="hidden" name="<?php echo $this->security->get_csrf_token_name();?>" value="<?php echo $this->security->get_csrf_hash();?>">
|
|
<input type="hidden" name="id" value="<?php echo $editData->id; ?>">
|
|
<input type="hidden" name="user_id" value="<?php echo $editData->user_id; ?>">
|
|
|
|
<div class="x_title">
|
|
<h5>Personal Information<a style="color:red;">*</a></h5>
|
|
<div class="clearfix"></div>
|
|
</div><br />
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Name<a style="color:red;">*</a> </label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="name" name="name" value="<?php if(isset($editData)) { echo $editData->name; } ?>" required="required" class="form-control " onkeypress="validateKeyPress(event)">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Email<a style="color:red;">*</a> </label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="email" name="email" value="<?php if(isset($editData)) { echo $editData->email; } ?>" required="required" class="form-control" type="email" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" oninvalid="setCustomValidity('Enter a Valid E-mail Address.')" oninput="setCustomValidity('')">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Mobile<a style="color:red;">*</a> </label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="mobile" name="mobile" value="<?php if(isset($editData)) { echo $editData->mobile; } ?>" onkeypress = "return matchnum(event)" required="required" class="form-control" type="tel" pattern="[6-9][0-9]{9}" minlength="10" maxlength="10" oninvalid="setCustomValidity('cant start with number other than 6,7,8,9 or length must be 10.')" oninput="setCustomValidity('')" >
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="last-name">Department<a style="color:red;">*</a> </label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<select id="department" name="department" required="required" class="form-control" placeholder="choose" <?php if(isset($viewData)) { echo "readonly"; } ?>>
|
|
<option value="<?php echo $editData->department; ?>"><?php echo $editData->department; ?></option>
|
|
<?php foreach ($departmentData as $key => $value) { ?>
|
|
<option value="<?php echo $value->name; ?>"><?php echo $value->name; ?></option>
|
|
<?php } ?>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Joining Date<a style="color:red;">*</a></label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
|
|
<input id="j_date" name="j_date" value="<?php if(isset($editData)) { echo $editData->j_date; } ?>" class="form-control" type="text" placeholder="DD-MM-YYYY" required onkeypress="validateKeyPress(event)" autocomplete="off">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Manager</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<select id="manager" name="manager" class="form-control">
|
|
<?php foreach ($manager_name as $key => $val) { ?>
|
|
<option value="<?php echo $val->id; ?>"><?php echo $val->name; ?></option>
|
|
<?php foreach ($manager as $key => $value) { ?>
|
|
<?php if ($val->name !== $value->name) { ?>
|
|
<option value="<?php echo $value->user_id; ?>"><?php echo $value->name; ?></option>
|
|
<?php } } } ?>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Gender</label>
|
|
<div class="col-md-5 col-sm-5 " style="padding:10px;">
|
|
<?php
|
|
if ($editData->gender == 'male')
|
|
{
|
|
echo '<input type="radio" name="gender" value="male" checked/>Male';
|
|
echo '  ';
|
|
echo '<input type="radio" name="gender" value="female" />Female';
|
|
}
|
|
else
|
|
{
|
|
echo '<input type="radio" name="gender" value="male"/>Male';
|
|
echo '  ';
|
|
echo '<input type="radio" name="gender" value="female" checked/>Female';
|
|
} ?>
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name">Marital Status<a style="color:red;">*</a> </label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<select id="marital_status" name="marital_status" required="required" class="form-control" placeholder="choose" <?php if(isset($viewData)) { echo "readonly"; } ?>>
|
|
<option value="<?php echo $editData->marital_status; ?>"><?php echo ucfirst($editData->marital_status); ?></option>
|
|
<?php
|
|
if ($editData->marital_status != 'single')
|
|
{
|
|
echo '<option value="single">Single</option>';
|
|
}
|
|
if ($editData->marital_status != 'married')
|
|
{
|
|
echo '<option value="married">Married</option>';
|
|
}
|
|
if ($editData->marital_status != 'others')
|
|
{
|
|
echo '<option value="others">Others</option>';
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<!-- ----------------------------------------- -->
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h5>Emergency Contact </h5>
|
|
<div class=""></div>
|
|
</div><br />
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Name</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="relation_name" name="relation_name" value="<?php if(isset($editData)) { echo $editData->relation_name; } ?>" onkeypress="validateKeyPress(event)" class="form-control ">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Relationship</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="relationship" name="relationship" value="<?php if(isset($editData)) { echo $editData->relationship; } ?>" class="form-control" type="text" >
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Mobile</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="relation_mobile" name="relation_mobile" value="<?php if(isset($editData)) { echo $editData->relation_mobile; } ?>" class="form-control " onkeypress = "return matchnum(event)" class="form-control" type="tel" pattern="[6-9][0-9]{9}" minlength="10" maxlength="10" oninvalid="setCustomValidity('cant start with number other than 6,7,8,9 or length must be 10.')" oninput="setCustomValidity('')">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Home Tel</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="relation_tel" name="relation_tel" value="<?php if(isset($editData)) { echo $editData->relation_tel; } ?>" onkeypress = "return matchnum(event)" class="form-control" type="text" >
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<!-- ----------------------------------------- -->
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h5>Address Detail</h5>
|
|
<div class=""></div>
|
|
</div><br />
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Address</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="address" name="address" value="<?php if(isset($editData)) { echo $editData->address; } ?>" class="form-control ">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> City</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="city" name="city" value="<?php if(isset($editData)) { echo $editData->city; } ?>" class="form-control" type="text" >
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> State</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="state" name="state" value="<?php if(isset($editData)) { echo $editData->state; } ?>" class="form-control ">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Pincode</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="pincode" name="pincode" value="<?php if(isset($editData)) { echo $editData->pincode; } ?>" onkeypress = "return matchnum(event)" class="form-control" type="text" >
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<!-- ----------------------------------------- -->
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h5>Additional Information</h5>
|
|
<div class="clearfix"></div>
|
|
</div><br />
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Employee Id</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="text" id="emp_id" name="emp_id" value="<?php if(isset($editData)) { echo $editData->emp_id; } ?>"class="form-control ">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="email"> Salary</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="salary" name="salary" value="<?php if(isset($editData)) { echo $editData->salary; } ?>" class="form-control" type="text">
|
|
</div>
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Comment</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input id="comment" name="comment" value="<?php if(isset($editData)) { echo $editData->comment; } ?>" class="form-control" type="text">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="first-name"> Photo Upload</label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<input type="file" id="image" name="image" value="<?php if(isset($editData->profile_pic)) { echo $editData->profile_pic; } ?>" class="form-control " onchange="validateFile(this)">
|
|
<img class="profilepic__image" style="width: 50%; display: block;padding:10px;" src="<?php echo base_url();?>/assets/uploads/<?php echo $editData->profile_pic ?>" alt="Avatar" title="Change the avatar">
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<!-- ----------------------------------------- -->
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h5>Permissions</h5>
|
|
<div class=""></div>
|
|
</div><br />
|
|
<div class="item form-group">
|
|
|
|
<label class="control-label col-md-1 col-sm-1 " for="last-name">Modules List<a style="color:red;">*</a></label>
|
|
<div class="col-md-5 col-sm-5 ">
|
|
<select id="people" name="group_id[]" class="form-control select2_multiple" multiple >
|
|
|
|
<?php
|
|
|
|
$modulesArray = [];
|
|
|
|
foreach ($get_members_list as $object) {
|
|
if (isset($object->group_name)) {
|
|
$modulesArray[] = $object->group_name;
|
|
}
|
|
|
|
}
|
|
|
|
foreach ($get_group_list as $key => $data) { ?>
|
|
<?php if(in_array($data->group_name, $modulesArray)) { ?>
|
|
<option value="<?php echo $data->id; ?>" selected> <?php echo $data->group_name; ?> </option>
|
|
<?php } else { ?>
|
|
<option value="<?php echo $data->id; ?>"><?php echo $data->group_name;?> </option>
|
|
<?php } ?>
|
|
<?php } ?>
|
|
</select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- <div class="ln_solid"></div> -->
|
|
<div class="x_panel"><br>
|
|
<div class="item form-group">
|
|
<div class=" offset-md-8">
|
|
<a href="<?php echo base_url();?>Employee/empList" class="btn btn-secondary">Cancel</a>
|
|
<button type="submit" class="btn btn-success">Update</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<br/>
|
|
|
|
<div id="sub-value" class="col-md-12 col-sm-12">
|
|
<?php echo $emp_sub_list_htmlPage; ?>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$('#myDatepicker').datetimepicker({
|
|
format: 'DD.MM.YYYY'
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
|
|
function matchnum(event)
|
|
{
|
|
var charcode;
|
|
|
|
charcode = event.which || event.keyCode;
|
|
|
|
if(charcode>= 48 && charcode <= 57)return true; //only numbers
|
|
return false;
|
|
|
|
}
|
|
|
|
function validateKeyPress(event) {
|
|
var key = event.key;
|
|
var allowedCharacters = /^[A-Za-z.]$/;
|
|
|
|
if (!allowedCharacters.test(key)) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
|
|
|
|
$(document).on('change','#image',function(){
|
|
|
|
const file = this.files[0];
|
|
if (file){
|
|
let reader = new FileReader();
|
|
reader.onload = function(event){
|
|
$('#image').attr('src', event.target.result);
|
|
$('.profilepic__image').attr('src', event.target.result);
|
|
}
|
|
reader.readAsDataURL(file);
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
|
|
var dateFormat = "dd-mm-yy";
|
|
var fromDateInput = $("#j_date");
|
|
console.log(fromDateInput);
|
|
|
|
fromDateInput.datepicker({
|
|
dateFormat: dateFormat,
|
|
changeYear: true,
|
|
changeMonth: true,
|
|
maxDate: new Date(),
|
|
onSelect: function (dateText, inst) {
|
|
|
|
}
|
|
});
|
|
|
|
</script>
|
|
<script>
|
|
function validateFile(input) {
|
|
const file = input.files[0];
|
|
const allowedExtensions = ["jpg", "jpeg", "png", "pdf"];
|
|
const fileExtension = file.name.split(".").pop().toLowerCase();
|
|
|
|
if (!allowedExtensions.includes(fileExtension)) {
|
|
// Invalid file type
|
|
new PNotify({
|
|
text: 'Invalid file type. Only JPG, JPEG, PNG, and PDF files are allowed.',
|
|
type: 'error',
|
|
styling: 'bootstrap3'
|
|
});
|
|
input.value = "";
|
|
return;
|
|
}
|
|
|
|
if (fileExtension === "pdf") {
|
|
// Preview PDF
|
|
const reader = new FileReader();
|
|
reader.onload = function(e) {
|
|
const pdfObject = `<embed src="${e.target.result}" width="500" height="600" type="application/pdf">`;
|
|
document.getElementById("previewContainer").innerHTML = pdfObject;
|
|
};
|
|
reader.readAsDataURL(file);
|
|
} else {
|
|
// Preview image
|
|
const reader = new FileReader();
|
|
reader.onload = function(e) {
|
|
const imageObject = `<img src="${e.target.result}" alt="Preview" width="500">`;
|
|
document.getElementById("previewContainer").innerHTML = imageObject;
|
|
};
|
|
reader.readAsDataURL(file);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
<!-- /Body page content -->
|