444 lines
25 KiB
PHP
444 lines
25 KiB
PHP
<style>
|
|
.action_subject_addbtn {
|
|
background: #032DA4;
|
|
border-radius: 35px;
|
|
color: #fff;
|
|
padding: 5px 15px;
|
|
border: none;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
}
|
|
|
|
form label.error, #secNameerr {
|
|
color : red;
|
|
}
|
|
.cierr {
|
|
font-size:14px;
|
|
}
|
|
|
|
.form-group .bootstrap-select > .dropdown-toggle {
|
|
padding: 9px 9px !important;
|
|
font-size: 12px !important;
|
|
border: 1px solid #c8c8c8 !important;
|
|
background: #fff !important;
|
|
}
|
|
</style>
|
|
<div class="wraper responsive-width w-90">
|
|
<main class="" id="main">
|
|
|
|
<div class="admin_tempblock">
|
|
<div class="admin_tempsec">
|
|
<div class="admin_sec">
|
|
<div class="subsec_sec">
|
|
<div class="subject_r subject_r_lng">
|
|
<form method="post" action="<?php echo base_url(); ?>admin/assign-optional-subjects" id="assignOptSubToStudentsForm">
|
|
<input type="hidden" name="clicked_on" id="clicked_on" value="Filter">
|
|
<div class="subject_lsec">
|
|
<div class="subject_lhead">
|
|
Assign Optional Subjects To The Students ss
|
|
<p id="success" style="color:green;"></p>
|
|
</div>
|
|
|
|
<?php
|
|
$batchId=''; $courseId=''; $sectionIds='';
|
|
if(count($_POST)>0)
|
|
{
|
|
$batchId = $_POST['filter_by_batch'];
|
|
$courseId = $_POST['filter_by_course'];
|
|
|
|
if(isset($_POST['filter_by_section']) && !empty($_POST['filter_by_section']))
|
|
$sectionIds = implode(',',$_POST['filter_by_section']);
|
|
}
|
|
?>
|
|
|
|
<div class="filter_lbl">
|
|
<i class="fas fa-filter"></i>
|
|
Filter
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-3">
|
|
<div class="form-group">
|
|
<label class="mb-0" style="font-size: 13px;">
|
|
Batch <span style="font-weight:bold;color:red;"> * </span>
|
|
</label>
|
|
<select class="form-control" name="filter_by_batch" id="filter_by_batch" onchange="batch_is_changed()">
|
|
<option value="">Select Batch</option>
|
|
<?php
|
|
if (isset($batch) && !empty($batch))
|
|
{
|
|
foreach ($batch as $row)
|
|
{
|
|
?>
|
|
<option value="<?php echo $row['id'] ?>" <?php if($row['id']==$batchId){?> selected <?php } ?> >
|
|
<?php echo $row['b_name']; ?>
|
|
</option>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
<div id='err_filter_by_batch' class="text-danger cierr"><?php echo form_error('filter_by_batch'); ?></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="form-group">
|
|
<label class="mb-0" style="font-size: 13px;">
|
|
Course <span style="font-weight:bold;color:red;"> * </span>
|
|
</label>
|
|
<select class="form-control" name="filter_by_course" id="filter_by_course" onchange="fetch_sections_of_course('onchange')">
|
|
<option value="">Select Course</option>
|
|
<?php
|
|
if (isset($course) || !empty($course))
|
|
{
|
|
foreach ($course as $row)
|
|
{
|
|
?>
|
|
<option value="<?php echo $row['id'] ?>" <?php if($row['id']==$courseId){?> selected <?php } ?> >
|
|
<?php echo $row['course_name']; ?>
|
|
</option>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
<div id='err_filter_by_course' class="text-danger cierr"><?php echo form_error('filter_by_course'); ?></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3 pl-0">
|
|
<div class="form-group">
|
|
<label class="mb-0" style="font-size: 13px;">Section</label>
|
|
<select class="form-control selectpicker" multiple data-live-search="true" name="filter_by_section[]" id="filter_by_section">
|
|
<option value="">Select Section</option>
|
|
</select>
|
|
<div class="text-danger cierr"><?php echo form_error('filter_by_section'); ?></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-3">
|
|
<div class="form-group" style="margin-top: 1.5rem;">
|
|
<input type="button" name="filterSubmit" onclick="validate_filter()" id="filter_reset" class="btn btn-success" value="Filter">
|
|
|
|
|
|
<a href="<?php echo base_url() ?>admin/assign-optional-subjects"><button type="button" name="reset_filter" id="reset_filter" value="reset_filter" class="subject_addbtn subject_addbtn_nobg p-0"><i class="fas fa-redo "></i>Reset</button></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<?php if($this->session->flashdata('success')) { ?>
|
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
<p><?php echo $this->session->flashdata('success') ?></p>
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<?php if($this->session->flashdata('failed')) { ?>
|
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
<p><?php echo $this->session->flashdata('failed') ?></p>
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<?php
|
|
/*$showHideTable = "style='display:none;'";
|
|
if(isset($theResults) && !empty($theResults))
|
|
$showHideTable = "style=''"; */
|
|
|
|
$showHideTableUpdate = "style='display:none;'";
|
|
if(isset($theResults) && !empty($theResults) && !empty($theOptSubs))
|
|
$showHideTableUpdate = "style='margin-top: 1.5rem;'";
|
|
?>
|
|
|
|
<div id='theTableHere'>
|
|
<table id="tbl" class="display table-responsive" >
|
|
<thead>
|
|
<tr>
|
|
<th width='50px;'>Sl No</th>
|
|
<th width='50px;'>Roll No</th>
|
|
<th width='150px;'>Student Name</th>
|
|
<?php
|
|
$theColSpan = 3;
|
|
if($batchId == $currentBatch)
|
|
{
|
|
if(!empty($theOptSubs))
|
|
{
|
|
foreach ($theOptSubs as $osub)
|
|
{
|
|
$theColSpan++;
|
|
?>
|
|
<th>
|
|
<input type="checkbox" id='chk_unchk_all_<?php echo $osub['id'];?>' onclick="check_uncheck_column(<?php echo $osub['id'];?>)" ><br/>
|
|
<?php echo $osub['sub_name'];?>
|
|
</th>
|
|
<?php
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$theColSpan++;
|
|
?>
|
|
<th>No optional subjects present for the selected Batch & Course</th>
|
|
<?php
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$theColSpan++;
|
|
?>
|
|
<th>Optional Subject Details</th>
|
|
<?php
|
|
}
|
|
?>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
if(isset($theResults) && !empty($theResults))
|
|
{
|
|
$slno=1;
|
|
foreach ($theResults as $key => $std)
|
|
{
|
|
$osArr = array();
|
|
if($std['the_opt_subjects']!='')
|
|
$osArr = explode(',', $std['the_opt_subjects']);
|
|
|
|
?>
|
|
<tr>
|
|
<td><?php echo $slno;?></td>
|
|
<td><?php echo $std['roll_no'];?></td>
|
|
<td><?php echo $std['name'];?></td>
|
|
<?php
|
|
if($batchId == $currentBatch)
|
|
{
|
|
if(!empty($theOptSubs))
|
|
{
|
|
foreach ($theOptSubs as $ss=>$osub)
|
|
{
|
|
if(empty($osArr))
|
|
{
|
|
?>
|
|
<td>
|
|
<input type="checkbox" class='c_uc_os_col_<?php echo $osub['id'];?>' name="student[<?php echo $std['id'];?>][<?php echo $osub['id'];?>]" id='cb_std_<?php echo $std['id']."_".$osub['id'];?>' onclick="manage_the_checkboxes(<?php echo $std['id'];?>, <?php echo $osub['id'];?>)" >
|
|
<input type="hidden" class='txt_c_uc_os_col_<?php echo $osub['id'];?>' size="5px" name="student[<?php echo $std['id'];?>][<?php echo $osub['id'];?>]" id='hidden_std_<?php echo $std['id']."_".$osub['id'];?>' value='no'>
|
|
</td>
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
$checked = ''; $chkVal='no';
|
|
if(in_array($osub['id'], $osArr)){
|
|
$checked = 'checked';
|
|
$chkVal='yes';
|
|
}
|
|
?>
|
|
<td>
|
|
<input type="checkbox" class='c_uc_os_col_<?php echo $osub['id'];?>' name="student[<?php echo $std['id'];?>][<?php echo $osub['id'];?>]" id='cb_std_<?php echo $std['id']."_".$osub['id'];?>' <?php echo $checked;?> onclick="manage_the_checkboxes(<?php echo $std['id'];?>, <?php echo $osub['id'];?>)" >
|
|
<input type="hidden" class='txt_c_uc_os_col_<?php echo $osub['id'];?>' size="5px" name="student[<?php echo $std['id'];?>][<?php echo $osub['id'];?>]" id='hidden_std_<?php echo $std['id']."_".$osub['id'];?>' value='<?php echo $chkVal;?>'>
|
|
</td>
|
|
<?php
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
?>
|
|
<td> - </td>
|
|
<?php
|
|
}
|
|
}
|
|
else
|
|
{
|
|
?>
|
|
<td><?php echo $std['the_opt_subject_details'];?></td>
|
|
<?php
|
|
}
|
|
?>
|
|
</tr>
|
|
<?php
|
|
$slno++;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
?>
|
|
<tr>
|
|
<td colspan="<?php echo $theColSpan;?>">-- No data to display --</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="col-md-3" >
|
|
<div id='tbl-update-btn' class="form-group" <?php echo $showHideTableUpdate;?> >
|
|
<input type="button" name="assignSubmit" onclick="submit_the_form_here()" class="btn btn-success" value="Update">
|
|
</div>
|
|
<div id='tbl-loading-btn' class="form-group" style='display:none;'>
|
|
<i class="fa-solid fa-loader"></i>Loading.... Please wait
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
|
|
<script defer src="<?php echo base_url(); ?>assets_admin/js/bootstrap-select.min.js"></script>
|
|
|
|
<script>
|
|
var jsCurrBatch = '<?php echo $currentBatch;?>';
|
|
var jsSeldSections = "<?php echo $sectionIds;?>";
|
|
|
|
$(document).ready(function(){
|
|
|
|
fetch_sections_of_course('onload');
|
|
|
|
//table js
|
|
/*$('#tbl').DataTable( {
|
|
"lengthMenu": [[50, 75, 100, -1], [50, 75, 100, "All"]],
|
|
"ordering": false,
|
|
});*/
|
|
$('#tbl').DataTable( {
|
|
"lengthMenu": [[-1], ["All"]],
|
|
"ordering": false,
|
|
});
|
|
//table js end
|
|
$('#filter_by_section').selectpicker();
|
|
|
|
});
|
|
|
|
function batch_is_changed()
|
|
{
|
|
$('#filter_by_course').val('');
|
|
$('#filter_by_section').empty().selectpicker("refresh");
|
|
|
|
$('#theTableHere').hide();
|
|
}
|
|
|
|
function fetch_sections_of_course(calledOn)
|
|
{
|
|
if(calledOn=='onchange')
|
|
$('#theTableHere').hide();
|
|
|
|
$('#filter_by_section').empty().selectpicker("refresh");
|
|
var divData = "<option value='' disabled> Select Section </option>";
|
|
|
|
if($('#filter_by_course').val()!='')
|
|
{
|
|
$.ajax({
|
|
url: "<?php echo base_url(); ?>Admin/get_section_by_course",
|
|
method: "POST",
|
|
data: {
|
|
course_id: $('#filter_by_course').val()
|
|
},
|
|
dataType: "json",
|
|
success: function(response) {
|
|
//divData += "<option value='' disabled> Select Section </option>";
|
|
if(response.sections != '')
|
|
{
|
|
var ssArr = [];
|
|
if(jsSeldSections!='')
|
|
ssArr = jsSeldSections.split(",");
|
|
|
|
$.each(response.sections, function(i, sectiondata) {
|
|
if(ssArr.includes(sectiondata.section_id))
|
|
divData += "<option value='"+sectiondata.section_id+"' selected >"+sectiondata.section_name+"</option>";
|
|
else
|
|
divData += "<option value='"+sectiondata.section_id+"'>"+sectiondata.section_name+"</option>";
|
|
});
|
|
}
|
|
else
|
|
divData += "<option value=''> -- No Section's Found --</option>";
|
|
|
|
$('#filter_by_section').append(divData).selectpicker("refresh");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function validate_filter()
|
|
{
|
|
$errCnt=0;
|
|
$("#err_filter_by_batch").hide();
|
|
$("#err_filter_by_course").hide();
|
|
|
|
if($('#filter_by_batch').val()=='')
|
|
{
|
|
$('#err_filter_by_batch').html('Please select the batch.');
|
|
$('#err_filter_by_batch').show();
|
|
$errCnt++;
|
|
}
|
|
|
|
if($('#filter_by_course').val()=='')
|
|
{
|
|
$('#err_filter_by_course').html('Please select the course.');
|
|
$('#err_filter_by_course').show();
|
|
$errCnt++;
|
|
}
|
|
|
|
$('#clicked_on').val('Filter');
|
|
|
|
if($errCnt==0)
|
|
$('#assignOptSubToStudentsForm').submit();
|
|
|
|
return false;
|
|
}
|
|
|
|
function check_uncheck_column(optSubId)
|
|
{
|
|
if($('#chk_unchk_all_'+optSubId).prop('checked'))
|
|
{
|
|
$('.c_uc_os_col_'+optSubId).each(function(){
|
|
$(this).prop('checked', true);
|
|
});
|
|
|
|
$('.txt_c_uc_os_col_'+optSubId).each(function(){
|
|
$(this).val('yes');
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$('.c_uc_os_col_'+optSubId).each(function(){
|
|
$(this).prop('checked', false);
|
|
});
|
|
|
|
$('.txt_c_uc_os_col_'+optSubId).each(function(){
|
|
$(this).val('no');
|
|
});
|
|
}
|
|
}
|
|
|
|
function manage_the_checkboxes(stdId, osId)
|
|
{
|
|
if($('#cb_std_'+stdId+'_'+osId).prop('checked'))
|
|
$('#hidden_std_'+stdId+'_'+osId).val('yes');
|
|
else
|
|
$('#hidden_std_'+stdId+'_'+osId).val('no');
|
|
}
|
|
|
|
function submit_the_form_here()
|
|
{
|
|
$('#clicked_on').val('UpdateData');
|
|
$('#assignOptSubToStudentsForm').submit();
|
|
|
|
$('#tbl-update-btn').hide();
|
|
$('#tbl-loading-btn').show();
|
|
}
|
|
</script>
|
|
|