status Updation new files: kdk
This commit is contained in:
parent
f3b46277f6
commit
06c6dddeea
318
Apollo/api/application/controllers/StatusUpdation_Controller.php
Normal file
318
Apollo/api/application/controllers/StatusUpdation_Controller.php
Normal file
@ -0,0 +1,318 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
// This can be removed if you use __autoload() in config.php OR use Modular Extensions
|
||||||
|
/** @noinspection PhpIncludeInspection */
|
||||||
|
require_once APPPATH . '/libraries/REST_Controller.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is an example of a few basic user interaction methods you could use
|
||||||
|
* all done with a hardcoded array
|
||||||
|
*
|
||||||
|
* @package CodeIgniter
|
||||||
|
* @subpackage Rest Server
|
||||||
|
* @category Controller
|
||||||
|
* @author
|
||||||
|
* @license MIT
|
||||||
|
* @link
|
||||||
|
*/
|
||||||
|
class StatusUpdation_Controller extends REST_Controller {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* status Updation details
|
||||||
|
* params:
|
||||||
|
* created by kdk
|
||||||
|
* */
|
||||||
|
function __construct()
|
||||||
|
{
|
||||||
|
// Construct the parent class
|
||||||
|
parent::__construct();
|
||||||
|
$this->methods['getUniversity_post']['limit'] = 100;
|
||||||
|
$this->methods['chkUnivIdExistDetail_post']['limit'] = 100;
|
||||||
|
// load the university model
|
||||||
|
$this->load->model('StatusUpdation_model', 'statusupdation_model');
|
||||||
|
}
|
||||||
|
|
||||||
|
// get University, Course, Branch Detailss
|
||||||
|
public function getUniveCourseBratch_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$loginUserId = $reqData['localUserID'];
|
||||||
|
$loginUserBranchId = $reqData['localBranchID'];
|
||||||
|
$loginUserType = $reqData['localType'];
|
||||||
|
$getUniversityListDetails = $this->statusupdation_model->get_university_course_batch();// Check if the employee exist
|
||||||
|
if ($getUniversityListDetails)
|
||||||
|
{
|
||||||
|
$getUniversityListDetails['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($getUniversityListDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ger Result fot searched keyword details
|
||||||
|
public function getSearchDetails_post() {
|
||||||
|
$reqSearchData = $this->post('data');
|
||||||
|
$reqData = $this->post('requestDetails');
|
||||||
|
// print_r($reqSearchData);exit();
|
||||||
|
|
||||||
|
$getSearchDetails = $this->statusupdation_model->get_search_result($reqSearchData, $reqData);// Check if the employee exist
|
||||||
|
if ($getSearchDetails)
|
||||||
|
{
|
||||||
|
$getSearchDetails['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($getSearchDetails, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Sem/year for the respective course
|
||||||
|
public function getSemYearForCourse_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
|
||||||
|
$getSemYeatList = $this->statusupdation_model->get_semyear_result($reqData);// Check if the employee exist
|
||||||
|
if ($getSemYeatList)
|
||||||
|
{
|
||||||
|
$getSemYeatList['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($getSemYeatList, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// update the study material Status
|
||||||
|
public function updateStudentMaterialStatus_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$reqDetails = $this->post('requestDetails');
|
||||||
|
|
||||||
|
$time = date('Y-m-d H:i:s');
|
||||||
|
$dateTime = $time;
|
||||||
|
|
||||||
|
$count = count($reqData);
|
||||||
|
// echo $reqDetails['localUserID'];exit();
|
||||||
|
|
||||||
|
for($i=0; $i < $count; $i++) {
|
||||||
|
$data[] = array(
|
||||||
|
'StudentID' => $reqData[$i]['StudentID'],
|
||||||
|
'CourseID' => $reqData[$i]['CourseID'],
|
||||||
|
'BranchCode' => $reqData[$i]['BranchCode'],
|
||||||
|
'ListCode' => $reqData[$i]['ListCode'],
|
||||||
|
'SDate' => $reqData[$i]['SDate'],
|
||||||
|
'Coursedetail' => $reqData[$i]['Coursedetail'],
|
||||||
|
'Comments' => $reqData[$i]['Comments'],
|
||||||
|
'CreatedBy' => $reqDetails['localUserID'],
|
||||||
|
'CreatedOn' => $dateTime,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateStudentMaterialSta = $this->statusupdation_model->update_semyear($data);// Check if the employee exist
|
||||||
|
if ($updateStudentMaterialSta)
|
||||||
|
{
|
||||||
|
$updateStudentMaterialSta['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($updateStudentMaterialSta, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update Answer booklet status
|
||||||
|
public function updateAnswerBookLetStatus_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$reqDetails = $this->post('requestDetails');
|
||||||
|
|
||||||
|
$time = date('Y-m-d H:i:s');
|
||||||
|
$dateTime = $time;
|
||||||
|
|
||||||
|
$count = count($reqData);
|
||||||
|
// echo $reqDetails['localUserID'];exit();
|
||||||
|
|
||||||
|
for($i=0; $i < $count; $i++) {
|
||||||
|
$data[] = array(
|
||||||
|
'StudentID' => $reqData[$i]['StudentID'],
|
||||||
|
'CourseID' => $reqData[$i]['CourseID'],
|
||||||
|
'BranchCode' => $reqData[$i]['BranchCode'],
|
||||||
|
'ListCode' => $reqData[$i]['ListCode'],
|
||||||
|
'AnsDate' => $reqData[$i]['SDate'],
|
||||||
|
'Coursedetail' => $reqData[$i]['Coursedetail'],
|
||||||
|
'Comments' => $reqData[$i]['Comments'],
|
||||||
|
'CreatedBy' => $reqDetails['localUserID'],
|
||||||
|
'CreatedOn' => $dateTime,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateAnswerBookletStat = $this->statusupdation_model->update_answerbooklet($data);// Check if the employee exist
|
||||||
|
if ($updateAnswerBookletStat)
|
||||||
|
{
|
||||||
|
$updateAnswerBookletStat['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($updateAnswerBookletStat, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get certification type list
|
||||||
|
public function getCertificateList_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
|
||||||
|
$certificateList = $this->statusupdation_model->get_certificate_list();// Check if the employee exist
|
||||||
|
if ($certificateList)
|
||||||
|
{
|
||||||
|
$certificateList['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($certificateList, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// update certification status
|
||||||
|
public function updateCertificationStatus_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$reqDetails = $this->post('requestDetails');
|
||||||
|
|
||||||
|
$time = date('Y-m-d H:i:s');
|
||||||
|
$dateTime = $time;
|
||||||
|
|
||||||
|
$count = count($reqData);
|
||||||
|
// echo $reqDetails['localUserID'];exit();
|
||||||
|
|
||||||
|
for($i=0; $i < $count; $i++) {
|
||||||
|
$data[] = array(
|
||||||
|
'StudentID' => $reqData[$i]['StudentID'],
|
||||||
|
'CourseID' => $reqData[$i]['CourseID'],
|
||||||
|
'BranchCode' => $reqData[$i]['BranchCode'],
|
||||||
|
'ListCode' => $reqData[$i]['ListCode'],
|
||||||
|
'CDate' => $reqData[$i]['SDate'],
|
||||||
|
'Coursedetail' => $reqData[$i]['Coursedetail'],
|
||||||
|
'Comments' => $reqData[$i]['Comments'],
|
||||||
|
'CreatedBy' => $reqDetails['localUserID'],
|
||||||
|
'CreatedOn' => $dateTime,
|
||||||
|
'CertificationType' => $reqData[$i]['CertificateType'],
|
||||||
|
'CertificationNo' =>$reqData[$i]['CertificateNumber'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateCertificateStatus = $this->statusupdation_model->update_certificateStatus($data);// Check if the employee exist
|
||||||
|
if ($updateCertificateStatus)
|
||||||
|
{
|
||||||
|
$updateCertificateStatus['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($updateCertificateStatus, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update application status
|
||||||
|
public function updateApplicationStatus_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$reqDetails = $this->post('requestDetails');
|
||||||
|
|
||||||
|
$time = date('Y-m-d H:i:s');
|
||||||
|
$dateTime = $time;
|
||||||
|
|
||||||
|
$count = count($reqData);
|
||||||
|
// echo $reqDetails['localUserID'];exit();
|
||||||
|
|
||||||
|
for($i=0; $i < $count; $i++) {
|
||||||
|
$data[] = array(
|
||||||
|
'StudentID' => $reqData[$i]['StudentID'],
|
||||||
|
'CourseID' => $reqData[$i]['StudentID'],
|
||||||
|
'BranchCode' => $reqData[$i]['BranchCode'],
|
||||||
|
'ListCode' => $reqData[$i]['ListCode'],
|
||||||
|
'AppDate' => $reqData[$i]['SDate'],
|
||||||
|
'Comments' => $reqData[$i]['Comments'],
|
||||||
|
'CreatedBy' => $reqDetails['localUserID'],
|
||||||
|
'CreatedOn' => $dateTime,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateApplicationStatus = $this->statusupdation_model->update_applicationStatus($data);// Check if the employee exist
|
||||||
|
if ($updateApplicationStatus)
|
||||||
|
{
|
||||||
|
$updateApplicationStatus['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($updateApplicationStatus, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Status list based on the required activity
|
||||||
|
public function getStatusListForUpdate_post() {
|
||||||
|
$reqData = $this->post('data');
|
||||||
|
$reqDetails = $this->post('statusFor');
|
||||||
|
|
||||||
|
$getStatusList = $this->statusupdation_model->get_status_list($reqDetails);// Check if the employee exist
|
||||||
|
if ($getStatusList)
|
||||||
|
{
|
||||||
|
$getStatusList['status'] = REST_Controller::HTTP_OK;
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response($getStatusList, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Set the response and exit
|
||||||
|
$this->response([
|
||||||
|
'message' => 'No list were found',
|
||||||
|
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||||
|
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
286
Apollo/api/application/models/StatusUpdation_model.php
Normal file
286
Apollo/api/application/models/StatusUpdation_model.php
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Date: 11/9/17
|
||||||
|
* Time: 5:28 PM
|
||||||
|
*/
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class StatusUpdation_model extends CI_Model
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
* status updation details
|
||||||
|
* params:
|
||||||
|
* created by kdk
|
||||||
|
* */
|
||||||
|
|
||||||
|
|
||||||
|
// get status list
|
||||||
|
public function get_status_list() {
|
||||||
|
$this->db->select('ListCode, ListName');
|
||||||
|
$this->db->order_by('CreatedOn', 'DESC');
|
||||||
|
$this->db->from('T_PickListDetails');
|
||||||
|
$this->db->where('ListCode', 'S034');
|
||||||
|
$staDetails = $this->db->get();
|
||||||
|
$statusDetails = $staDetails->result();
|
||||||
|
if (count($statusDetails) > 0) {
|
||||||
|
$results['statusList'] = true;
|
||||||
|
$results['statusList_details'] = $statusDetails;
|
||||||
|
} else {
|
||||||
|
$results['statusList'] = false;
|
||||||
|
$results['message'] = 'No record found';
|
||||||
|
}
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
// update Application status
|
||||||
|
public function update_applicationStatus($arr) {
|
||||||
|
$this->db->insert_batch('T_ApplicationStatus', $arr);
|
||||||
|
if ($this->db->affected_rows() >= 1) {
|
||||||
|
$result['addStatus'] = true;
|
||||||
|
$result['message'] = "Successfully Application Status Updated";
|
||||||
|
} else {
|
||||||
|
$result['addStatus'] = false;
|
||||||
|
$result['message'] = "Something went wrong.please try again";
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// update certificate stauts
|
||||||
|
public function update_certificateStatus($arr) {
|
||||||
|
// $dateToMsg = $arr[0]['CDate'];
|
||||||
|
$this->db->insert_batch('T_CertificationStatus', $arr);
|
||||||
|
if ($this->db->affected_rows() >= 1) {
|
||||||
|
if((get_status_name_ListCode($arr[0]['ListCode'] == 'Received' || 'received') || (get_status_name_ListCode($arr[0]['ListCode'] == 'Issued' || 'issued') ) {
|
||||||
|
$dateToMsg = $arr[0]['CDate'];
|
||||||
|
$mesg = "Your new password for logging into Apollo student portal is $dateToMsg'. Please change the password as soon as you login.";
|
||||||
|
$this->smssend($arr, $mesg);
|
||||||
|
}
|
||||||
|
$result['addStatus'] = true;
|
||||||
|
$result['message'] = "Successfully Certification Status Updated";
|
||||||
|
} else {
|
||||||
|
$result['addStatus'] = false;
|
||||||
|
$result['message'] = "Something went wrong.please try again";
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get certificate list
|
||||||
|
public function get_certificate_list() {
|
||||||
|
$this->db->select('*');
|
||||||
|
$this->db->order_by('CreatedOn', 'DESC');
|
||||||
|
$this->db->from('T_CertificationMaster');
|
||||||
|
$this->db->where('IsActive', 1);
|
||||||
|
$cerfDetails = $this->db->get();
|
||||||
|
$certificateDetails = $cerfDetails->result();
|
||||||
|
if (count($certificateDetails) > 0) {
|
||||||
|
$results['certificateStatus'] = true;
|
||||||
|
$results['certificate_details'] = $certificateDetails;
|
||||||
|
} else {
|
||||||
|
$results['certificateStatus'] = false;
|
||||||
|
$results['message'] = 'No record found';
|
||||||
|
}
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// self function for getting registered mobile for sms
|
||||||
|
public function get_registered_mobile($num) {
|
||||||
|
$this->db->select('MobileNumber');
|
||||||
|
$this->db->from(STUDENTS);
|
||||||
|
$this->db->where('StudentID', $num);
|
||||||
|
$roleDetails = $this->db->get()->first_row();
|
||||||
|
return $roleDetails->MobileNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
// self function for getting the status for the LISTCODE
|
||||||
|
public function get_status_name_ListCode($listCode) {
|
||||||
|
$this->db->select('ListName');
|
||||||
|
$this->db->from(PICK_LIST_DETAILS);
|
||||||
|
$this->db->where('ListCode', $listCode);
|
||||||
|
$statusDetails = $this->db->get()->first_row();
|
||||||
|
return $statusDetails->ListName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// update answer booklet status
|
||||||
|
public function update_answerbooklet($arr) {
|
||||||
|
// print_r($arr);exit();
|
||||||
|
$this->db->insert_batch('T_AnswerBookletStatus', $arr);
|
||||||
|
if ($this->db->affected_rows() >= 1) {
|
||||||
|
// $this->smssend($arr);
|
||||||
|
$result['addStatus'] = true;
|
||||||
|
$result['message'] = "Successfully Answer Booklet Status Updated";
|
||||||
|
} else {
|
||||||
|
$result['addStatus'] = false;
|
||||||
|
$result['message'] = "Something went wrong.please try again";
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// update study material status
|
||||||
|
public function update_semyear($arr) {
|
||||||
|
|
||||||
|
$this->db->insert_batch('T_StudyMaterialStatus', $arr);
|
||||||
|
if ($this->db->affected_rows() >= 1) {
|
||||||
|
if((get_status_name_ListCode($arr[0]['ListCode'] == 'Received' || 'received') || (get_status_name_ListCode($arr[0]['ListCode'] == 'Issued' || 'issued') ) {
|
||||||
|
$dateToMsg = $arr[0]['SDate'];
|
||||||
|
$mesg = "Your new password for logging into Apollo student portal is $dateToMsg'. Please change the password as soon as you login.";
|
||||||
|
$this->smssend($arr, $mesg);
|
||||||
|
}
|
||||||
|
// $this->smssend($arr);
|
||||||
|
$result['addStatus'] = true;
|
||||||
|
$result['message'] = "Successfully Study Material Status Updated";
|
||||||
|
} else {
|
||||||
|
$result['addStatus'] = false;
|
||||||
|
$result['message'] = "Something went wrong.please try again";
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get sem/Year for the course
|
||||||
|
public function get_semyear_result($reqData) {
|
||||||
|
$subQuery = "SELECT CF.Sem_Year, CF.ID
|
||||||
|
FROM ".COURSE_FEES." as CF
|
||||||
|
WHERE
|
||||||
|
CF.CourseID = '$reqData'
|
||||||
|
AND CF.ProgramType ='Y001'";
|
||||||
|
|
||||||
|
$queryDetails = $this->db->query($subQuery);
|
||||||
|
$results['semYearResult'] = true;
|
||||||
|
$results['semYear_result_details'] = $queryDetails->result();
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get serach result
|
||||||
|
public function get_search_result($reqData, $req) {
|
||||||
|
|
||||||
|
// print_r($reqData['University']);
|
||||||
|
// print_r($req);
|
||||||
|
// exit();
|
||||||
|
$University = $reqData['University'];
|
||||||
|
$Course = $reqData['Course'];
|
||||||
|
$Batch = $reqData['Batch'];
|
||||||
|
|
||||||
|
$subQuery = "SELECT S.*
|
||||||
|
FROM ".STUDENTS." as S LEFT JOIN ".STUDENTCOURSE." as SC ON SC.StudentID = S.StudentID
|
||||||
|
WHERE
|
||||||
|
SC.UniversityID LIKE '%$University%'
|
||||||
|
AND SC.CourseID LIKE '%$Course%'
|
||||||
|
AND SC.BatchCode LIKE '%$Batch%'
|
||||||
|
AND S.IsActive = '1'
|
||||||
|
AND SC.IsActive = '1'";
|
||||||
|
|
||||||
|
$queryDetails = $this->db->query($subQuery);
|
||||||
|
$results['searchResult'] = true;
|
||||||
|
$results['search_result_details'] = $queryDetails->result();
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get list of universities, course, batch
|
||||||
|
public function get_university_course_batch() {
|
||||||
|
$this->db->select('t1.UniversityID, t1.UniversityName');
|
||||||
|
$this->db->order_by('CreatedOn', 'DESC');
|
||||||
|
$this->db->from(''.UNIVERSITY. ' as t1');
|
||||||
|
$this->db->where('IsActive', 1);
|
||||||
|
// $this->db->join('' . COURSE . ' as t2', 't2.UniversityID = t1.UniversityID', 'LEFT');
|
||||||
|
$univDetails = $this->db->get();
|
||||||
|
$universityDetails = $univDetails->result();
|
||||||
|
$endResult = [];
|
||||||
|
foreach($universityDetails as $clip){
|
||||||
|
// University Details
|
||||||
|
$resultArr['UniversityID'] = $clip->UniversityID;
|
||||||
|
$resultArr['UniversityName'] = $clip->UniversityName;
|
||||||
|
|
||||||
|
// Course Details
|
||||||
|
$this->db->select('t2.CourseID, t2.CourseName');
|
||||||
|
$this->db->from(''.COURSE. ' as t2');
|
||||||
|
$this->db->where('t2.UniversityID', $clip->UniversityID);
|
||||||
|
$this->db->where('t2.IsActive', 1);
|
||||||
|
$courDetails = $this->db->get();
|
||||||
|
$courseDetails = $courDetails->result();
|
||||||
|
$resultArr['Course'] =$courseDetails;
|
||||||
|
|
||||||
|
// Batch Details
|
||||||
|
$this->db->select('t3.BatchName, t3.BatchCode');
|
||||||
|
$this->db->from(''.BATCH. ' as t3');
|
||||||
|
$this->db->where('t3.UniversityID', $clip->UniversityID);
|
||||||
|
$this->db->where('t3.IsActive', 1);
|
||||||
|
$batDetails = $this->db->get();
|
||||||
|
$batchDetails = $batDetails->result();
|
||||||
|
$resultArr['Batch'] =$batchDetails;
|
||||||
|
array_push($endResult, $resultArr);
|
||||||
|
}
|
||||||
|
$results['univList'] = true;
|
||||||
|
$results['university_details'] = $endResult;
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// http://www.24x7sms.com/downloads/24X7SMS_http_API2.0.pdf
|
||||||
|
// API Key : xegCdYUIMf3
|
||||||
|
|
||||||
|
// Your new password for logging into Apollo student portal is (Password). Please change the password as soon as you login.
|
||||||
|
// This is the template to be used.
|
||||||
|
|
||||||
|
public function smssend($arr, $msg)
|
||||||
|
{
|
||||||
|
$number =array();
|
||||||
|
foreach($arr as $ar){
|
||||||
|
$mobi = $this->get_registered_mobile($ar['StudentID']);
|
||||||
|
array_push($number, "91$mobi");
|
||||||
|
}
|
||||||
|
$mobile = implode(',', $number);
|
||||||
|
// $message ="Your new password for logging into Apollo student portal is SAMPLE. Please change the password as soon as you login.";
|
||||||
|
// $mobile = "91$mobile";
|
||||||
|
|
||||||
|
$message = urlencode($msg);
|
||||||
|
$ch=curl_init();
|
||||||
|
curl_setopt($ch,CURLOPT_URL,"https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=".$mobile."&SenderID=APOLLO&Message=".$message."&ServiceName=TEMPLATE_BASED");
|
||||||
|
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
||||||
|
$output =curl_exec($ch);
|
||||||
|
|
||||||
|
// print_r($output);exit();
|
||||||
|
curl_close($ch);
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public function mailsend() {
|
||||||
|
// //Load email library
|
||||||
|
// $this->load->library('email');
|
||||||
|
|
||||||
|
// //SMTP & mail configuration
|
||||||
|
// $config = array(
|
||||||
|
// 'protocol' => 'smtp',
|
||||||
|
// 'smtp_host' => 'ssl://smtp.example.com',
|
||||||
|
// 'smtp_port' => 465,
|
||||||
|
// 'smtp_user' => 'email@example.com',
|
||||||
|
// 'smtp_pass' => 'email_password',
|
||||||
|
// 'mailtype' => 'html',
|
||||||
|
// 'charset' => 'utf-8'
|
||||||
|
// );
|
||||||
|
// $this->email->initialize($config);
|
||||||
|
// $this->email->set_mailtype("html");
|
||||||
|
// $this->email->set_newline("\r\n");
|
||||||
|
|
||||||
|
// //Email content
|
||||||
|
// $htmlContent = '<h1>Sending email via SMTP server</h1>';
|
||||||
|
// $htmlContent .= '<p>This email has sent via SMTP server from CodeIgniter application.</p>';
|
||||||
|
|
||||||
|
// // Email body load the html template
|
||||||
|
// // $body = $this->load->view('emails/anillabs.php',$data,TRUE);
|
||||||
|
|
||||||
|
|
||||||
|
// $this->email->to('recipient@example.com');
|
||||||
|
// $this->email->from('sender@example.com','MyWebsite');
|
||||||
|
// $this->email->subject('How to send email via SMTP server in CodeIgniter');
|
||||||
|
// $this->email->message($htmlContent);
|
||||||
|
|
||||||
|
// //Send email
|
||||||
|
// $this->email->send();
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
336
Apollo/assets/js/controllers/answerBookletStatusCtrl.js
Normal file
336
Apollo/assets/js/controllers/answerBookletStatusCtrl.js
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
'use strict';
|
||||||
|
/*** controller for Wizard Form example***/
|
||||||
|
app.controller('answerBookletStatusCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', function ($scope, toaster, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Answer Booklet status update search
|
||||||
|
* by : kdk
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// get local client details
|
||||||
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||||
|
var localDetails = ipCookie('cookiechk');
|
||||||
|
const localUpdateStatus = 'ANSWERBOOKLET_STATUS';
|
||||||
|
|
||||||
|
$scope.init = function () {
|
||||||
|
$scope.getUniversityList();
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.searchData = {
|
||||||
|
'University': '',
|
||||||
|
'Course': '',
|
||||||
|
'Batch': '',
|
||||||
|
'Mobile': '',
|
||||||
|
'Name': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.universityData = '';
|
||||||
|
$scope.getUniversityList = function () {
|
||||||
|
var empListreq = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getUniveCourseBratch/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(empListreq).then(function (response) {
|
||||||
|
if (response.data.univList) {
|
||||||
|
$scope.universityData = response.data.university_details;
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getUniveId = function (univ) {
|
||||||
|
let name = JSON.parse(univ);
|
||||||
|
$scope.searchData.University = name.UniversityID;
|
||||||
|
$scope.searchData.Course = '';
|
||||||
|
$scope.searchData.Batch = '';
|
||||||
|
$scope.courseData = name.Course;
|
||||||
|
$scope.batchData = name.Batch;
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.getSearch();
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getValueChange = function () {
|
||||||
|
$scope.getSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// $scope.dealWithItem = function (item) {
|
||||||
|
// alert(JSON.stringify(item));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.searchResultDetails = '';
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
$scope.searchResultLength = 0;
|
||||||
|
$scope.getSearch = function () {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
// alert(JSON.stringify($scope.searchData));
|
||||||
|
$scope.searchLoading = true;
|
||||||
|
var getSearchDetails = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSearchAutoDetails/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: $scope.searchData,
|
||||||
|
requestDetails: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSearchDetails).then(function (response) {
|
||||||
|
if (response.data.searchResult) {
|
||||||
|
$scope.searchResultStatus = response.data.searchResult;
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
let searchResultDetailsBef = response.data.search_result_details;
|
||||||
|
const filterAddSelect = searchResultDetailsBef.filter(val => {
|
||||||
|
val['Selected'] = false;
|
||||||
|
return val;
|
||||||
|
});
|
||||||
|
$scope.searchResultDetails = filterAddSelect;
|
||||||
|
$scope.searchResultLength = Object.keys($scope.searchResultDetails).length;
|
||||||
|
} else {
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// mobile number search functionlity
|
||||||
|
$scope.mySearchChangeFunc = function(val) {
|
||||||
|
if( val > 0) {
|
||||||
|
$scope.allSelectedHide = true;
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.allSelectedHide = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End: mobile number search functionlity
|
||||||
|
|
||||||
|
// select all or individual functionality
|
||||||
|
|
||||||
|
var getAllSelected = function () {
|
||||||
|
var selectedItems = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
return item.Selected;
|
||||||
|
});
|
||||||
|
|
||||||
|
return selectedItems.length === $scope.searchResultDetails.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
var setAllSelected = function (value) {
|
||||||
|
angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
item.Selected = value;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.allSelected = function (value) {
|
||||||
|
if (value !== undefined) {
|
||||||
|
return setAllSelected(value);
|
||||||
|
} else {
|
||||||
|
return getAllSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// End: select all or individual functionality
|
||||||
|
|
||||||
|
|
||||||
|
// open popup window onselct checkbox
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.openUpdateWind = function () {
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) { return true; }
|
||||||
|
});
|
||||||
|
const courseLocal = $scope.searchData.Course;
|
||||||
|
$scope.getSemYearList(courseLocal);
|
||||||
|
$scope.getStatusList();
|
||||||
|
// alert($scope.searchData.Course);
|
||||||
|
if (ItemsSelected.length) {
|
||||||
|
$scope.OpenWindowStatus = true;
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get status list for this activity
|
||||||
|
$scope.getStatusList = function () {
|
||||||
|
var getStatusL = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getStatusListForUpdate/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
statusFor: 'studyMaterial',
|
||||||
|
data: localUpdateStatus
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getStatusL).then(function (response) {
|
||||||
|
if (response.data.statusList) {
|
||||||
|
$scope.statusDetailsList = response.data.statusList_details;
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
} else {
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Sem/Year based on the course select
|
||||||
|
$scope.getSemYearList = function (courseID) {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
if (courseID !== '' && courseID !== undefined) {
|
||||||
|
var getSemYear = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSemYearForCourse/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: courseID
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSemYear).then(function (response) {
|
||||||
|
if (response.data.semYearResult) {
|
||||||
|
$scope.semYearList = response.data.semYear_result_details;
|
||||||
|
} else {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.updateItems = function () {
|
||||||
|
// var studentForUpdate = [];
|
||||||
|
// var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
// if (item.Selected === true) {
|
||||||
|
// let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
// studentForUpdate.push(getStudentID);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// function getStudentForUpdateDetails(id) {
|
||||||
|
// this.iD = id;
|
||||||
|
// }
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.statusUpdate = {
|
||||||
|
submit: function (form, myStatusModel) {
|
||||||
|
var firstError = null;
|
||||||
|
if (form.$invalid) {
|
||||||
|
var field = null, firstError = null;
|
||||||
|
for (field in form) {
|
||||||
|
if (field[0] != '$') {
|
||||||
|
if (firstError === null && !form[field].$valid) {
|
||||||
|
firstError = form[field].$name;
|
||||||
|
}
|
||||||
|
if (form[field].$pristine) {
|
||||||
|
form[field].$dirty = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||||
|
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||||
|
} else {
|
||||||
|
var studentForUpdate = [];
|
||||||
|
let formate = "dd-MM-yyyy";
|
||||||
|
$scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate);
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) {
|
||||||
|
let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
studentForUpdate.push(getStudentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function getStudentForUpdateDetails(id) {
|
||||||
|
this.StudentID = id;
|
||||||
|
this.CourseID = $scope.myStatusModel.semYear;
|
||||||
|
this.BranchCode = localDetails.localBranchID;
|
||||||
|
this.ListCode = $scope.myStatusModel.staus;
|
||||||
|
this.SDate = $scope.myStatusModel.dateOn;
|
||||||
|
this.Coursedetail = id;
|
||||||
|
this.Comments = $scope.myStatusModel.comment;
|
||||||
|
}
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
|
||||||
|
var updateStudyMaterial = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'updateAnswerBookLetStatus/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: studentForUpdate,
|
||||||
|
requestDetails : localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(updateStudyMaterial).then(function (response) {
|
||||||
|
if (response.data.addStatus) {
|
||||||
|
swal("Success!", response.data.message, "success");
|
||||||
|
// for success state
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
swal("Failed!", response.data.message, "error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reset: function (form) {
|
||||||
|
form.$setPristine(true);
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// check unchek for table values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.CheckUncheckAll = function () {
|
||||||
|
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// $scope.searchResultDetails[i].Selected = $scope.IsAllChecked;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader = function () {
|
||||||
|
// $scope.IsAllChecked = true;
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// if (!$scope.searchResultDetails[i].Selected) {
|
||||||
|
// $scope.IsAllChecked = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader();
|
||||||
|
}]);
|
||||||
336
Apollo/assets/js/controllers/applicationStatusCtrl.js
Normal file
336
Apollo/assets/js/controllers/applicationStatusCtrl.js
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
'use strict';
|
||||||
|
/*** controller for Wizard Form example***/
|
||||||
|
app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', function ($scope, toaster, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Application status update search
|
||||||
|
* by : kdk
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// get local client details
|
||||||
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||||
|
var localDetails = ipCookie('cookiechk');
|
||||||
|
const localUpdateStatus = 'APPICATION_STATUS';
|
||||||
|
|
||||||
|
$scope.init = function () {
|
||||||
|
$scope.getUniversityList();
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.searchData = {
|
||||||
|
'University': '',
|
||||||
|
'Course': '',
|
||||||
|
'Batch': '',
|
||||||
|
'Mobile': '',
|
||||||
|
'Name': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.universityData = '';
|
||||||
|
$scope.getUniversityList = function () {
|
||||||
|
var empListreq = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getUniveCourseBratch/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(empListreq).then(function (response) {
|
||||||
|
if (response.data.univList) {
|
||||||
|
$scope.universityData = response.data.university_details;
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getUniveId = function (univ) {
|
||||||
|
let name = JSON.parse(univ);
|
||||||
|
$scope.searchData.University = name.UniversityID;
|
||||||
|
$scope.searchData.Course = '';
|
||||||
|
$scope.searchData.Batch = '';
|
||||||
|
$scope.courseData = name.Course;
|
||||||
|
$scope.batchData = name.Batch;
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.getSearch();
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getValueChange = function () {
|
||||||
|
$scope.getSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// $scope.dealWithItem = function (item) {
|
||||||
|
// alert(JSON.stringify(item));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.searchResultDetails = '';
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
$scope.searchResultLength = 0;
|
||||||
|
$scope.getSearch = function () {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
// alert(JSON.stringify($scope.searchData));
|
||||||
|
$scope.searchLoading = true;
|
||||||
|
var getSearchDetails = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSearchAutoDetails/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: $scope.searchData,
|
||||||
|
requestDetails: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSearchDetails).then(function (response) {
|
||||||
|
if (response.data.searchResult) {
|
||||||
|
$scope.searchResultStatus = response.data.searchResult;
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
let searchResultDetailsBef = response.data.search_result_details;
|
||||||
|
const filterAddSelect = searchResultDetailsBef.filter(val => {
|
||||||
|
val['Selected'] = false;
|
||||||
|
return val;
|
||||||
|
});
|
||||||
|
$scope.searchResultDetails = filterAddSelect;
|
||||||
|
$scope.searchResultLength = Object.keys($scope.searchResultDetails).length;
|
||||||
|
} else {
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// mobile number search functionlity
|
||||||
|
$scope.mySearchChangeFunc = function(val) {
|
||||||
|
if( val > 0) {
|
||||||
|
$scope.allSelectedHide = true;
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.allSelectedHide = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End: mobile number search functionlity
|
||||||
|
|
||||||
|
// select all or individual functionality
|
||||||
|
|
||||||
|
var getAllSelected = function () {
|
||||||
|
var selectedItems = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
return item.Selected;
|
||||||
|
});
|
||||||
|
|
||||||
|
return selectedItems.length === $scope.searchResultDetails.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
var setAllSelected = function (value) {
|
||||||
|
angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
item.Selected = value;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.allSelected = function (value) {
|
||||||
|
if (value !== undefined) {
|
||||||
|
return setAllSelected(value);
|
||||||
|
} else {
|
||||||
|
return getAllSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// End: select all or individual functionality
|
||||||
|
|
||||||
|
|
||||||
|
// open popup window onselct checkbox
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.openUpdateWind = function () {
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) { return true; }
|
||||||
|
});
|
||||||
|
const courseLocal = $scope.searchData.Course;
|
||||||
|
$scope.getSemYearList(courseLocal);
|
||||||
|
$scope.getStatusList();
|
||||||
|
// alert($scope.searchData.Course);
|
||||||
|
if (ItemsSelected.length) {
|
||||||
|
$scope.OpenWindowStatus = true;
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get status list for this activity
|
||||||
|
$scope.getStatusList = function () {
|
||||||
|
var getStatusL = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getStatusListForUpdate/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
statusFor: 'studyMaterial',
|
||||||
|
data: localUpdateStatus
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getStatusL).then(function (response) {
|
||||||
|
if (response.data.statusList) {
|
||||||
|
$scope.statusDetailsList = response.data.statusList_details;
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
} else {
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Sem/Year based on the course select
|
||||||
|
$scope.getSemYearList = function (courseID) {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
if (courseID !== '' && courseID !== undefined) {
|
||||||
|
var getSemYear = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSemYearForCourse/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: courseID
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSemYear).then(function (response) {
|
||||||
|
if (response.data.semYearResult) {
|
||||||
|
$scope.semYearList = response.data.semYear_result_details;
|
||||||
|
} else {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.updateItems = function () {
|
||||||
|
// var studentForUpdate = [];
|
||||||
|
// var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
// if (item.Selected === true) {
|
||||||
|
// let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
// studentForUpdate.push(getStudentID);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// function getStudentForUpdateDetails(id) {
|
||||||
|
// this.iD = id;
|
||||||
|
// }
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.statusUpdate = {
|
||||||
|
submit: function (form, myStatusModel) {
|
||||||
|
var firstError = null;
|
||||||
|
if (form.$invalid) {
|
||||||
|
var field = null, firstError = null;
|
||||||
|
for (field in form) {
|
||||||
|
if (field[0] != '$') {
|
||||||
|
if (firstError === null && !form[field].$valid) {
|
||||||
|
firstError = form[field].$name;
|
||||||
|
}
|
||||||
|
if (form[field].$pristine) {
|
||||||
|
form[field].$dirty = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||||
|
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||||
|
} else {
|
||||||
|
var studentForUpdate = [];
|
||||||
|
let formate = "dd-MM-yyyy";
|
||||||
|
$scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate);
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) {
|
||||||
|
let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
studentForUpdate.push(getStudentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function getStudentForUpdateDetails(id) {
|
||||||
|
this.StudentID = id;
|
||||||
|
this.CourseID = $scope.myStatusModel.semYear;
|
||||||
|
this.BranchCode = localDetails.localBranchID;
|
||||||
|
this.ListCode = $scope.myStatusModel.staus;
|
||||||
|
this.SDate = $scope.myStatusModel.dateOn;
|
||||||
|
this.Coursedetail = id;
|
||||||
|
this.Comments = $scope.myStatusModel.comment;
|
||||||
|
}
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
|
||||||
|
var updateStudyMaterial = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'updateApplicationStatus/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: studentForUpdate,
|
||||||
|
requestDetails : localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(updateStudyMaterial).then(function (response) {
|
||||||
|
if (response.data.addStatus) {
|
||||||
|
swal("Success!", response.data.message, "success");
|
||||||
|
// for success state
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
swal("Failed!", response.data.message, "error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reset: function (form) {
|
||||||
|
form.$setPristine(true);
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// check unchek for table values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.CheckUncheckAll = function () {
|
||||||
|
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// $scope.searchResultDetails[i].Selected = $scope.IsAllChecked;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader = function () {
|
||||||
|
// $scope.IsAllChecked = true;
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// if (!$scope.searchResultDetails[i].Selected) {
|
||||||
|
// $scope.IsAllChecked = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader();
|
||||||
|
}]);
|
||||||
387
Apollo/assets/js/controllers/certificationStatusCtrl.js
Normal file
387
Apollo/assets/js/controllers/certificationStatusCtrl.js
Normal file
@ -0,0 +1,387 @@
|
|||||||
|
'use strict';
|
||||||
|
/*** controller for Wizard Form example***/
|
||||||
|
app.controller('certificationStatusCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', function ($scope, toaster, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Certification status update search
|
||||||
|
* by : kdk
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// get local client details
|
||||||
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||||
|
var localDetails = ipCookie('cookiechk');
|
||||||
|
const localUpdateStatus = 'CERTIFICATION_STATUS';
|
||||||
|
|
||||||
|
$scope.init = function () {
|
||||||
|
$scope.getUniversityList();
|
||||||
|
$scope.getCertificateList();
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.searchData = {
|
||||||
|
'University': '',
|
||||||
|
'Course': '',
|
||||||
|
'Batch': '',
|
||||||
|
'Mobile': '',
|
||||||
|
'Name': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': '',
|
||||||
|
'certificatetype': '',
|
||||||
|
'certificateNumber': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
// get University List
|
||||||
|
$scope.universityData = '';
|
||||||
|
$scope.getUniversityList = function () {
|
||||||
|
var empListreq = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getUniveCourseBratch/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(empListreq).then(function (response) {
|
||||||
|
if (response.data.univList) {
|
||||||
|
$scope.universityData = response.data.university_details;
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//get certificates List
|
||||||
|
$scope.getCertificateList = function () {
|
||||||
|
var getCerfreg = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getCertificateList/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getCerfreg).then(function (response) {
|
||||||
|
if (response.data.certificateStatus) {
|
||||||
|
$scope.certificateData = response.data.certificate_details;
|
||||||
|
// alert(JSON.stringify($scope.certificateData));
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getUniveId = function (univ) {
|
||||||
|
let name = JSON.parse(univ);
|
||||||
|
$scope.searchData.University = name.UniversityID;
|
||||||
|
$scope.searchData.Course = '';
|
||||||
|
$scope.searchData.Batch = '';
|
||||||
|
$scope.courseData = name.Course;
|
||||||
|
$scope.batchData = name.Batch;
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.getSearch();
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getValueChange = function () {
|
||||||
|
$scope.getSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// $scope.dealWithItem = function (item) {
|
||||||
|
// alert(JSON.stringify(item));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.searchResultDetails = '';
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
$scope.searchResultLength = 0;
|
||||||
|
$scope.getSearch = function () {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
// alert(JSON.stringify($scope.searchData));
|
||||||
|
$scope.searchLoading = true;
|
||||||
|
var getSearchDetails = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSearchAutoDetails/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: $scope.searchData,
|
||||||
|
requestDetails: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSearchDetails).then(function (response) {
|
||||||
|
if (response.data.searchResult) {
|
||||||
|
$scope.searchResultStatus = response.data.searchResult;
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
let searchResultDetailsBef = response.data.search_result_details;
|
||||||
|
const filterAddSelect = searchResultDetailsBef.filter(val => {
|
||||||
|
val['Selected'] = false;
|
||||||
|
return val;
|
||||||
|
});
|
||||||
|
$scope.searchResultDetails = filterAddSelect;
|
||||||
|
$scope.searchResultLength = Object.keys($scope.searchResultDetails).length;
|
||||||
|
} else {
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// mobile number search functionlity
|
||||||
|
$scope.mySearchChangeFunc = function(val) {
|
||||||
|
if( val > 0) {
|
||||||
|
$scope.allSelectedHide = true;
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.allSelectedHide = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End: mobile number search functionlity
|
||||||
|
|
||||||
|
// select all or individual functionality
|
||||||
|
|
||||||
|
// var getAllSelected = function () {
|
||||||
|
// var selectedItems = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
// return item.Selected;
|
||||||
|
// });
|
||||||
|
|
||||||
|
// return selectedItems.length === $scope.searchResultDetails.length;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// var setAllSelected = function (value) {
|
||||||
|
// alert(value);
|
||||||
|
// angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
// item.Selected = value;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $scope.allSelected = function (value) {
|
||||||
|
// alert(value);
|
||||||
|
// if (value !== undefined) {
|
||||||
|
// return setAllSelected(value);
|
||||||
|
// } else {
|
||||||
|
// return getAllSelected();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
//--------------------------------------------------->
|
||||||
|
|
||||||
|
// Select one row in a table once
|
||||||
|
$scope.setOneSelect = function (value) {
|
||||||
|
// alert(value.Selected);
|
||||||
|
angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
item.Selected = value;
|
||||||
|
});
|
||||||
|
value.Selected = true;
|
||||||
|
$scope.OpenWindowStatus = true;
|
||||||
|
$scope.openUpdateWind();
|
||||||
|
}
|
||||||
|
|
||||||
|
// End: select all or individual functionality
|
||||||
|
|
||||||
|
|
||||||
|
// open popup window onselct checkbox
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.openUpdateWind = function () {
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) { return true; }
|
||||||
|
});
|
||||||
|
const courseLocal = $scope.searchData.Course;
|
||||||
|
$scope.getSemYearList(courseLocal);
|
||||||
|
$scope.getStatusList();
|
||||||
|
// alert($scope.searchData.Course);
|
||||||
|
if (ItemsSelected.length) {
|
||||||
|
$scope.OpenWindowStatus = true;
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': '',
|
||||||
|
'certificatetype': '',
|
||||||
|
'certificateNumber': ''
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get status list for this activity
|
||||||
|
$scope.getStatusList = function () {
|
||||||
|
var getStatusL = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getStatusListForUpdate/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
statusFor: 'studyMaterial',
|
||||||
|
data: localUpdateStatus
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getStatusL).then(function (response) {
|
||||||
|
if (response.data.statusList) {
|
||||||
|
$scope.statusDetailsList = response.data.statusList_details;
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
} else {
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Sem/Year based on the course select
|
||||||
|
$scope.getSemYearList = function (courseID) {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
if (courseID !== '' && courseID !== undefined) {
|
||||||
|
var getSemYear = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSemYearForCourse/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: courseID
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSemYear).then(function (response) {
|
||||||
|
if (response.data.semYearResult) {
|
||||||
|
$scope.semYearList = response.data.semYear_result_details;
|
||||||
|
} else {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.updateItems = function () {
|
||||||
|
// var studentForUpdate = [];
|
||||||
|
// var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
// if (item.Selected === true) {
|
||||||
|
// let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
// studentForUpdate.push(getStudentID);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// function getStudentForUpdateDetails(id) {
|
||||||
|
// this.iD = id;
|
||||||
|
// }
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Update the status For Certification
|
||||||
|
$scope.statusUpdate = {
|
||||||
|
submit: function (form, myStatusModel) {
|
||||||
|
var firstError = null;
|
||||||
|
if (form.$invalid) {
|
||||||
|
var field = null, firstError = null;
|
||||||
|
for (field in form) {
|
||||||
|
if (field[0] != '$') {
|
||||||
|
if (firstError === null && !form[field].$valid) {
|
||||||
|
firstError = form[field].$name;
|
||||||
|
}
|
||||||
|
if (form[field].$pristine) {
|
||||||
|
form[field].$dirty = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||||
|
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||||
|
} else {
|
||||||
|
var studentForUpdate = [];
|
||||||
|
let formate = "dd-MM-yyyy";
|
||||||
|
$scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate);
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) {
|
||||||
|
let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
studentForUpdate.push(getStudentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
alert(JSON.stringify(studentForUpdate));
|
||||||
|
function getStudentForUpdateDetails(id) {
|
||||||
|
this.StudentID = id;
|
||||||
|
this.CourseID = $scope.myStatusModel.semYear;
|
||||||
|
this.BranchCode = localDetails.localBranchID;
|
||||||
|
this.ListCode = $scope.myStatusModel.staus;
|
||||||
|
this.SDate = $scope.myStatusModel.dateOn;
|
||||||
|
this.Coursedetail = id;
|
||||||
|
this.Comments = $scope.myStatusModel.comment;
|
||||||
|
this.CertificateType = $scope.myStatusModel.certificatetype;
|
||||||
|
this.CertificateNumber = $scope.myStatusModel.certificateNumber;
|
||||||
|
}
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
|
||||||
|
var updateCertificateStatus = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'updateCertificationStatus/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: studentForUpdate,
|
||||||
|
requestDetails : localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(updateCertificateStatus).then(function (response) {
|
||||||
|
if (response.data.addStatus) {
|
||||||
|
swal("Success!", response.data.message, "success");
|
||||||
|
// for success state
|
||||||
|
// $scope.allSelected('undefined');
|
||||||
|
angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
item.Selected = false;
|
||||||
|
});
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
swal("Failed!", response.data.message, "error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reset: function (form) {
|
||||||
|
form.$setPristine(true);
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': '',
|
||||||
|
'certificatetype': '',
|
||||||
|
'certificateNumber': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// check unchek for table values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.CheckUncheckAll = function () {
|
||||||
|
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// $scope.searchResultDetails[i].Selected = $scope.IsAllChecked;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader = function () {
|
||||||
|
// $scope.IsAllChecked = true;
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// if (!$scope.searchResultDetails[i].Selected) {
|
||||||
|
// $scope.IsAllChecked = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader();
|
||||||
|
}]);
|
||||||
@ -74,7 +74,7 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams",
|
|||||||
$scope.reverse = !$scope.reverse; //if true make it false and vice versa
|
$scope.reverse = !$scope.reverse; //if true make it false and vice versa
|
||||||
}
|
}
|
||||||
|
|
||||||
// get local cliend details
|
// get local client details
|
||||||
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||||
var localDetails = ipCookie('cookiechk');
|
var localDetails = ipCookie('cookiechk');
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,337 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
/*** controller for Wizard Form example***/
|
/*** controller for Wizard Form example***/
|
||||||
app.controller('studyMaterialStatusCtrl', ["$scope", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', function ($scope, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie) {
|
app.controller('studyMaterialStatusCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', function ($scope, toaster, $filter, ngTableParams, apiPoint, $http, SweetAlert, $state, md5, ipCookie) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logined user profile view
|
* Study material status update search
|
||||||
* by : kdk
|
* by : kdk
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// get local client details
|
||||||
|
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||||
|
var localDetails = ipCookie('cookiechk');
|
||||||
|
const localUpdateStatus = 'STUDY_MATERIAL';
|
||||||
|
|
||||||
|
$scope.init = function () {
|
||||||
|
$scope.getUniversityList();
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.searchData = {
|
||||||
|
'University': '',
|
||||||
|
'Course': '',
|
||||||
|
'Batch': '',
|
||||||
|
'Mobile': '',
|
||||||
|
'Name': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.universityData = '';
|
||||||
|
$scope.getUniversityList = function () {
|
||||||
|
var empListreq = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getUniveCourseBratch/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(empListreq).then(function (response) {
|
||||||
|
if (response.data.univList) {
|
||||||
|
$scope.universityData = response.data.university_details;
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getUniveId = function (univ) {
|
||||||
|
let name = JSON.parse(univ);
|
||||||
|
$scope.searchData.University = name.UniversityID;
|
||||||
|
$scope.searchData.Course = '';
|
||||||
|
$scope.searchData.Batch = '';
|
||||||
|
$scope.courseData = name.Course;
|
||||||
|
$scope.batchData = name.Batch;
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.getSearch();
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.getValueChange = function () {
|
||||||
|
$scope.getSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// $scope.dealWithItem = function (item) {
|
||||||
|
// alert(JSON.stringify(item));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.searchResultDetails = '';
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
$scope.searchResultLength = 0;
|
||||||
|
$scope.getSearch = function () {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
// alert(JSON.stringify($scope.searchData));
|
||||||
|
$scope.searchLoading = true;
|
||||||
|
var getSearchDetails = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSearchAutoDetails/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: $scope.searchData,
|
||||||
|
requestDetails: localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSearchDetails).then(function (response) {
|
||||||
|
if (response.data.searchResult) {
|
||||||
|
$scope.searchResultStatus = response.data.searchResult;
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
let searchResultDetailsBef = response.data.search_result_details;
|
||||||
|
const filterAddSelect = searchResultDetailsBef.filter(val => {
|
||||||
|
val['Selected'] = false;
|
||||||
|
return val;
|
||||||
|
});
|
||||||
|
$scope.searchResultDetails = filterAddSelect;
|
||||||
|
$scope.searchResultLength = Object.keys($scope.searchResultDetails).length;
|
||||||
|
} else {
|
||||||
|
$scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// mobile number search functionlity
|
||||||
|
$scope.mySearchChangeFunc = function(val) {
|
||||||
|
if( val > 0) {
|
||||||
|
$scope.allSelectedHide = true;
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.allSelectedHide = false;
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End: mobile number search functionlity
|
||||||
|
|
||||||
|
// select all or individual functionality
|
||||||
|
|
||||||
|
var getAllSelected = function () {
|
||||||
|
var selectedItems = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
return item.Selected;
|
||||||
|
});
|
||||||
|
|
||||||
|
return selectedItems.length === $scope.searchResultDetails.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
var setAllSelected = function (value) {
|
||||||
|
angular.forEach($scope.searchResultDetails, function (item) {
|
||||||
|
item.Selected = value;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.allSelected = function (value) {
|
||||||
|
if (value !== undefined) {
|
||||||
|
return setAllSelected(value);
|
||||||
|
} else {
|
||||||
|
return getAllSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// End: select all or individual functionality
|
||||||
|
|
||||||
|
|
||||||
|
// open popup window onselct checkbox
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
$scope.openUpdateWind = function () {
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) { return true; }
|
||||||
|
});
|
||||||
|
const courseLocal = $scope.searchData.Course;
|
||||||
|
$scope.getSemYearList(courseLocal);
|
||||||
|
$scope.getStatusList();
|
||||||
|
// alert($scope.searchData.Course);
|
||||||
|
if (ItemsSelected.length) {
|
||||||
|
$scope.OpenWindowStatus = true;
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get status list for this activity
|
||||||
|
$scope.getStatusList = function () {
|
||||||
|
var getStatusL = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getStatusListForUpdate/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
statusFor: 'studyMaterial',
|
||||||
|
data: localUpdateStatus
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getStatusL).then(function (response) {
|
||||||
|
if (response.data.statusList) {
|
||||||
|
$scope.statusDetailsList = response.data.statusList_details;
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
} else {
|
||||||
|
// $scope.searchLoading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// get Sem/Year based on the course select
|
||||||
|
$scope.getSemYearList = function (courseID) {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
if (courseID !== '' && courseID !== undefined) {
|
||||||
|
var getSemYear = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'getSemYearForCourse/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: courseID
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(getSemYear).then(function (response) {
|
||||||
|
if (response.data.semYearResult) {
|
||||||
|
$scope.semYearList = response.data.semYear_result_details;
|
||||||
|
} else {
|
||||||
|
$scope.semYearList = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.updateItems = function () {
|
||||||
|
// var studentForUpdate = [];
|
||||||
|
// var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
// if (item.Selected === true) {
|
||||||
|
// let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
// studentForUpdate.push(getStudentID);
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// function getStudentForUpdateDetails(id) {
|
||||||
|
// this.iD = id;
|
||||||
|
// }
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
// }
|
||||||
|
|
||||||
|
$scope.statusUpdate = {
|
||||||
|
submit: function (form, myStatusModel) {
|
||||||
|
var firstError = null;
|
||||||
|
if (form.$invalid) {
|
||||||
|
var field = null, firstError = null;
|
||||||
|
for (field in form) {
|
||||||
|
if (field[0] != '$') {
|
||||||
|
if (firstError === null && !form[field].$valid) {
|
||||||
|
firstError = form[field].$name;
|
||||||
|
}
|
||||||
|
if (form[field].$pristine) {
|
||||||
|
form[field].$dirty = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||||
|
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||||
|
} else {
|
||||||
|
var studentForUpdate = [];
|
||||||
|
let formate = "dd-MM-yyyy";
|
||||||
|
$scope.myStatusModel.dateOn = $filter('date')(new Date($scope.myStatusModel.dateOn), formate);
|
||||||
|
var ItemsSelected = $scope.searchResultDetails.filter(function (item) {
|
||||||
|
if (item.Selected === true) {
|
||||||
|
let getStudentID = new getStudentForUpdateDetails(item.StudentID);
|
||||||
|
studentForUpdate.push(getStudentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
function getStudentForUpdateDetails(id) {
|
||||||
|
this.StudentID = id;
|
||||||
|
this.CourseID = $scope.myStatusModel.semYear;
|
||||||
|
this.BranchCode = localDetails.localBranchID;
|
||||||
|
this.ListCode = $scope.myStatusModel.staus;
|
||||||
|
this.SDate = $scope.myStatusModel.dateOn;
|
||||||
|
this.Coursedetail = id;
|
||||||
|
this.Comments = $scope.myStatusModel.comment;
|
||||||
|
}
|
||||||
|
// alert(JSON.stringify($scope.myStatusModel));
|
||||||
|
// alert(JSON.stringify(studentForUpdate));
|
||||||
|
|
||||||
|
var updateStudyMaterial = {
|
||||||
|
method: 'POST',
|
||||||
|
url: apiPoint.url + 'updateStudentMaterialStatus/',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
data: studentForUpdate,
|
||||||
|
requestDetails : localDetails
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$http(updateStudyMaterial).then(function (response) {
|
||||||
|
if (response.data.addStatus) {
|
||||||
|
swal("Success!", response.data.message, "success");
|
||||||
|
// for success state
|
||||||
|
$scope.allSelected('undefined');
|
||||||
|
$scope.OpenWindowStatus = false;
|
||||||
|
} else {
|
||||||
|
swal("Failed!", response.data.message, "error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reset: function (form) {
|
||||||
|
form.$setPristine(true);
|
||||||
|
$scope.myStatusModel = {
|
||||||
|
'semYear': '',
|
||||||
|
'staus': '',
|
||||||
|
'dateOn': '',
|
||||||
|
'comment': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// check unchek for table values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $scope.CheckUncheckAll = function () {
|
||||||
|
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// $scope.searchResultDetails[i].Selected = $scope.IsAllChecked;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader = function () {
|
||||||
|
// $scope.IsAllChecked = true;
|
||||||
|
// for (var i = 0; i < $scope.searchResultDetails.length; i++) {
|
||||||
|
// if (!$scope.searchResultDetails[i].Selected) {
|
||||||
|
// $scope.IsAllChecked = false;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
|
// $scope.CheckUncheckHeader();
|
||||||
}]);
|
}]);
|
||||||
|
|||||||
262
Apollo/assets/views/status-update/answer_booklet_status.html
Normal file
262
Apollo/assets/views/status-update/answer_booklet_status.html
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
<!-- start: PAGE TITLE -->
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<h1 class="mainTitle" translate="sidebar.nav.student.status.ANSWERBOOKLET">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>
|
||||||
|
</div>
|
||||||
|
<div ncy-breadcrumb></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- end: PAGE TITLE -->
|
||||||
|
<!-- start: STUDY MATERIAL STATUS -->
|
||||||
|
<div class="container-fluid container-fullw bg-white">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
|
||||||
|
<div ng-controller="answerBookletStatusCtrl">
|
||||||
|
<!-- start: STATUS -->
|
||||||
|
<div class="container" ng-init="init()">
|
||||||
|
<div class="row">
|
||||||
|
<!--<pre>{{searchData | json }}</pre> -->
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
University
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myModelCourseAdd"
|
||||||
|
ng-change="getUniveId(myModelCourseAdd)">
|
||||||
|
<option value="" disabled selected>Select University</option>
|
||||||
|
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Course
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Course</option>
|
||||||
|
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Batch
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Batch</option>
|
||||||
|
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<pre> {{ searchResultDetails | json }}</pre>-->
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<!--// student search result-->
|
||||||
|
<div ng-if="searchLoading === true">
|
||||||
|
<!--search loading start-->
|
||||||
|
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||||
|
margin-top: 25px;">
|
||||||
|
<h4 style="color: inherit">fetching...</h4>
|
||||||
|
</div>
|
||||||
|
<!--search loading end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="searchLoading === false">
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||||
|
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||||
|
<!--// search-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$("#search").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search.MobileNumber" id="search" autofocus tabindex="1" placeholder="Search Mobile"
|
||||||
|
/><br><br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}" />
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Firstname')">First Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Lastname')">Last Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('EmailID')">Email ID
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" ng-model="p.Selected" ng-change="openUpdateWind()" />
|
||||||
|
<!--{{p.StudentID}}-->
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>{{p.Firstname}}</td>
|
||||||
|
<td>{{p.Lastname}}</td>
|
||||||
|
<td>{{p.MobileNumber}}</td>
|
||||||
|
<td>{{p.EmailID}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||||
|
</dir-pagination-controls>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="OpenWindowStatus">
|
||||||
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.semYear.$dirty && Form.semYear.$invalid, 'has-success':Form.semYear.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Sem/Year <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="semYear" ng-model="myStatusModel.semYear"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Sem/Year</option>
|
||||||
|
<option ng-repeat="itemSemY in semYearList" value="{{itemSemY.ID}}">{{itemSemY.Sem_Year}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.semYear.$dirty && Form.semYear.$error.required">Sem/Year is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Status <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Status</option>
|
||||||
|
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid , 'has-success':Form.status.$valid}">
|
||||||
|
<label>
|
||||||
|
Status <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" name="status" tabindex="5" placeholder="Enter Status" class="form-control" ng-model="myStatusModel.staus"
|
||||||
|
required/>
|
||||||
|
<span class="error text-small block" ng-if="Form.sestatusmYear.$dirty && Form.status.$error.required">Status is Required </span>
|
||||||
|
</div>-->
|
||||||
|
<div data-ng-controller="DatepickerDemoCtrl">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
|
||||||
|
<label>
|
||||||
|
Date <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
|
||||||
|
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
|
||||||
|
required="required" ng-change="getMaxEndDate(myModel.startDate)"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--<input type="text" tabindex="28" class="form-control" ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myModelCourseAdd.dateofjoining"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofjoining" datepicker-options="dateOptions"
|
||||||
|
placeholder="Select Date of Joining" close-text="Close" required="required" datepicker-position="top"
|
||||||
|
/>-->
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
||||||
|
<label>
|
||||||
|
Comments
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
|
||||||
|
/>
|
||||||
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="pull-right">
|
||||||
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
|
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
||||||
|
Reset
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--studen search result end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- end: STATUS -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end: STUDY MATERIAL STATUS -->
|
||||||
|
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<!--<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>-->
|
||||||
|
</div>
|
||||||
|
<!--<div ncy-breadcrumb></div>-->
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
262
Apollo/assets/views/status-update/application_status.html
Normal file
262
Apollo/assets/views/status-update/application_status.html
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
<!-- start: PAGE TITLE -->
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<h1 class="mainTitle" translate="sidebar.nav.student.status.APPLICATION">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>
|
||||||
|
</div>
|
||||||
|
<div ncy-breadcrumb></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- end: PAGE TITLE -->
|
||||||
|
<!-- start: STUDY MATERIAL STATUS -->
|
||||||
|
<div class="container-fluid container-fullw bg-white">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
|
||||||
|
<div ng-controller="applicationStatusCtrl">
|
||||||
|
<!-- start: STATUS -->
|
||||||
|
<div class="container" ng-init="init()">
|
||||||
|
<div class="row">
|
||||||
|
<!--<pre>{{searchData | json }}</pre> -->
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
University
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myModelCourseAdd"
|
||||||
|
ng-change="getUniveId(myModelCourseAdd)">
|
||||||
|
<option value="" disabled selected>Select University</option>
|
||||||
|
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Course
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Course</option>
|
||||||
|
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Batch
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Batch</option>
|
||||||
|
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<pre> {{ searchResultDetails | json }}</pre>-->
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<!--// student search result-->
|
||||||
|
<div ng-if="searchLoading === true">
|
||||||
|
<!--search loading start-->
|
||||||
|
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||||
|
margin-top: 25px;">
|
||||||
|
<h4 style="color: inherit">fetching...</h4>
|
||||||
|
</div>
|
||||||
|
<!--search loading end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="searchLoading === false">
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||||
|
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||||
|
<!--// search-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$("#search").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search.MobileNumber" id="search" autofocus tabindex="1" placeholder="Search Mobile"
|
||||||
|
/><br><br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}" />
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Firstname')">First Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Lastname')">Last Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('EmailID')">Email ID
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" ng-model="p.Selected" ng-change="openUpdateWind()" />
|
||||||
|
<!--{{p.StudentID}}-->
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>{{p.Firstname}}</td>
|
||||||
|
<td>{{p.Lastname}}</td>
|
||||||
|
<td>{{p.MobileNumber}}</td>
|
||||||
|
<td>{{p.EmailID}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||||
|
</dir-pagination-controls>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="OpenWindowStatus">
|
||||||
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="row">
|
||||||
|
<!--<div class="col-md-4 form-group" ng-class="{'has-error':Form.semYear.$dirty && Form.semYear.$invalid, 'has-success':Form.semYear.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Sem/Year <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="semYear" ng-model="myStatusModel.semYear"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Sem/Year</option>
|
||||||
|
<option ng-repeat="itemSemY in semYearList" value="{{itemSemY.ID}}">{{itemSemY.Sem_Year}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.semYear.$dirty && Form.semYear.$error.required">Sem/Year is Required</span>
|
||||||
|
|
||||||
|
</div>-->
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Status <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Status</option>
|
||||||
|
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--<div class="col-md-6 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid , 'has-success':Form.status.$valid}">
|
||||||
|
<label>
|
||||||
|
Status <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" name="status" tabindex="5" placeholder="Enter Status" class="form-control" ng-model="myStatusModel.staus"
|
||||||
|
required/>
|
||||||
|
<span class="error text-small block" ng-if="Form.sestatusmYear.$dirty && Form.status.$error.required">Status is Required </span>
|
||||||
|
</div>-->
|
||||||
|
<div data-ng-controller="DatepickerDemoCtrl">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
|
||||||
|
<label>
|
||||||
|
Date <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
|
||||||
|
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
|
||||||
|
required="required" ng-change="getMaxEndDate(myModel.startDate)"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--<input type="text" tabindex="28" class="form-control" ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myModelCourseAdd.dateofjoining"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofjoining" datepicker-options="dateOptions"
|
||||||
|
placeholder="Select Date of Joining" close-text="Close" required="required" datepicker-position="top"
|
||||||
|
/>-->
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
||||||
|
<label>
|
||||||
|
Comments
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
|
||||||
|
/>
|
||||||
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="pull-right">
|
||||||
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
|
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
||||||
|
Reset
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--studen search result end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- end: STATUS -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end: STUDY MATERIAL STATUS -->
|
||||||
|
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<!--<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>-->
|
||||||
|
</div>
|
||||||
|
<!--<div ncy-breadcrumb></div>-->
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
286
Apollo/assets/views/status-update/certification_status.html
Normal file
286
Apollo/assets/views/status-update/certification_status.html
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
<!-- start: PAGE TITLE -->
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<h1 class="mainTitle" translate="sidebar.nav.student.status.CERTIFICATION">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>
|
||||||
|
</div>
|
||||||
|
<div ncy-breadcrumb></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- end: PAGE TITLE -->
|
||||||
|
<!-- start: CERTIFICATION STATUS -->
|
||||||
|
<div class="container-fluid container-fullw bg-white">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
|
||||||
|
<div ng-controller="certificationStatusCtrl">
|
||||||
|
<!-- start: STATUS -->
|
||||||
|
<div class="container" ng-init="init()">
|
||||||
|
<div class="row">
|
||||||
|
<!--<pre>{{searchData | json }}</pre> -->
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
University
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myModelCourseAdd"
|
||||||
|
ng-change="getUniveId(myModelCourseAdd)">
|
||||||
|
<option value="" disabled selected>Select University</option>
|
||||||
|
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Course
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Course</option>
|
||||||
|
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Batch
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Batch</option>
|
||||||
|
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<pre> {{ searchResultDetails | json }}</pre>-->
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<!--// student search result-->
|
||||||
|
<div ng-if="searchLoading === true">
|
||||||
|
<!--search loading start-->
|
||||||
|
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||||
|
margin-top: 25px;">
|
||||||
|
<h4 style="color: inherit">fetching...</h4>
|
||||||
|
</div>
|
||||||
|
<!--search loading end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="searchLoading === false">
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||||
|
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||||
|
<!--// search-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$("#search").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search.MobileNumber"
|
||||||
|
id="search" autofocus tabindex="1" placeholder="Search Mobile" /><br><br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<!--<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}" />-->
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Firstname')">First Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Lastname')">Last Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('EmailID')">Email ID
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" ng-model="p.Selected" ng-click="setOneSelect(p)" />
|
||||||
|
<!--{{p.StudentID}}-->
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>{{p.Firstname}}</td>
|
||||||
|
<td>{{p.Lastname}}</td>
|
||||||
|
<td>{{p.MobileNumber}}</td>
|
||||||
|
<td>{{p.EmailID}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||||
|
</dir-pagination-controls>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="OpenWindowStatus">
|
||||||
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificatetype.$dirty && Form.certificatetype.$invalid, 'has-success':Form.certificatetype.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Certificate Type <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="certificatetype" ng-model="myStatusModel.certificatetype"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Certificate Type</option>
|
||||||
|
<option ng-repeat="itemCerf in certificateData" value="{{itemCerf.CertificationID}}">{{itemCerf.CertificateName}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.certificatetype.$dirty && Form.certificatetype.$error.required">Certificate Type is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.certificateNumber.$dirty && Form.certificateNumber.$invalid }">
|
||||||
|
<label>
|
||||||
|
Certificate Number
|
||||||
|
|
||||||
|
</label>
|
||||||
|
<input type="text" name="certificateNumber" tabindex="5" placeholder="Enter Certificate Number" class="form-control" ng-model="myStatusModel.certificateNumber"
|
||||||
|
/>
|
||||||
|
<span class="error text-small block" ng-if="Form.certificateNumber.$dirty && Form.certificateNumber.$error.required">Status is Required </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.semYear.$dirty && Form.semYear.$invalid, 'has-success':Form.semYear.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Sem/Year <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="semYear" ng-model="myStatusModel.semYear"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Sem/Year</option>
|
||||||
|
<option ng-repeat="itemSemY in semYearList" value="{{itemSemY.ID}}">{{itemSemY.Sem_Year}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.semYear.$dirty && Form.semYear.$error.required">Sem/Year is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Status <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Status</option>
|
||||||
|
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid , 'has-success':Form.status.$valid}">
|
||||||
|
<label>
|
||||||
|
Status <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" name="status" tabindex="5" placeholder="Enter Status" class="form-control" ng-model="myStatusModel.staus"
|
||||||
|
required/>
|
||||||
|
<span class="error text-small block" ng-if="Form.sestatusmYear.$dirty && Form.status.$error.required">Status is Required </span>
|
||||||
|
</div>-->
|
||||||
|
<div data-ng-controller="DatepickerDemoCtrl">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
|
||||||
|
<label>
|
||||||
|
Date <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
|
||||||
|
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
|
||||||
|
required="required" ng-change="getMaxEndDate(myModel.startDate)"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--<input type="text" tabindex="28" class="form-control" ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myModelCourseAdd.dateofjoining"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofjoining" datepicker-options="dateOptions"
|
||||||
|
placeholder="Select Date of Joining" close-text="Close" required="required" datepicker-position="top"
|
||||||
|
/>-->
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
||||||
|
<label>
|
||||||
|
Comments
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
|
||||||
|
/>
|
||||||
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="pull-right">
|
||||||
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
|
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
||||||
|
Reset
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--studen search result end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- end: STATUS -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end: CERTIFICATION STATUS -->
|
||||||
|
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<!--<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>-->
|
||||||
|
</div>
|
||||||
|
<!--<div ncy-breadcrumb></div>-->
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@ -2,24 +2,261 @@
|
|||||||
<section id="page-title">
|
<section id="page-title">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<h1 class="mainTitle" translate="sidebar.nav.pages.USERPROFILE">{{ mainTitle }}</h1>
|
<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
|
||||||
<span class="mainDescription"></span>
|
<span class="mainDescription"></span>
|
||||||
</div>
|
</div>
|
||||||
<div ncy-breadcrumb></div>
|
<div ncy-breadcrumb></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- end: PAGE TITLE -->
|
<!-- end: PAGE TITLE -->
|
||||||
<!-- start: USER PROFILE -->
|
<!-- start: STUDY MATERIAL STATUS -->
|
||||||
<div class="container-fluid container-fullw bg-white">
|
<div class="container-fluid container-fullw bg-white">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
|
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
|
||||||
<div ng-controller="studyMaterialStatusCtrl">
|
<div ng-controller="studyMaterialStatusCtrl">
|
||||||
<!-- start: USER TABSET -->
|
<!-- start: STATUS -->
|
||||||
|
<div class="container" ng-init="init()">
|
||||||
|
<div class="row">
|
||||||
|
<!--<pre>{{searchData | json }}</pre> -->
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
University
|
||||||
|
</label>
|
||||||
|
|
||||||
<!-- end: USER TABSET -->
|
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myModelCourseAdd"
|
||||||
|
ng-change="getUniveId(myModelCourseAdd)">
|
||||||
|
<option value="" disabled selected>Select University</option>
|
||||||
|
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Course
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Course</option>
|
||||||
|
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Batch
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||||
|
<option value="" disabled selected>Select Batch</option>
|
||||||
|
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--<pre> {{ searchResultDetails | json }}</pre>-->
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<!--// student search result-->
|
||||||
|
<div ng-if="searchLoading === true">
|
||||||
|
<!--search loading start-->
|
||||||
|
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||||
|
margin-top: 25px;">
|
||||||
|
<h4 style="color: inherit">fetching...</h4>
|
||||||
|
</div>
|
||||||
|
<!--search loading end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="searchLoading === false">
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||||
|
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||||
|
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||||
|
records found... </h4></strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||||
|
<!--// search-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$("#search").focus();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search.MobileNumber" id="search" autofocus tabindex="1" placeholder="Search Mobile"
|
||||||
|
/><br><br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}" />
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Firstname')">First Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('Lastname')">Last Name
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
<th ng-click="sort('EmailID')">Email ID
|
||||||
|
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" ng-model="p.Selected" ng-change="openUpdateWind()" />
|
||||||
|
<!--{{p.StudentID}}-->
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
<td>{{p.Firstname}}</td>
|
||||||
|
<td>{{p.Lastname}}</td>
|
||||||
|
<td>{{p.MobileNumber}}</td>
|
||||||
|
<td>{{p.EmailID}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||||
|
</dir-pagination-controls>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="OpenWindowStatus">
|
||||||
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.semYear.$dirty && Form.semYear.$invalid, 'has-success':Form.semYear.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Sem/Year <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="semYear" ng-model="myStatusModel.semYear"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Sem/Year</option>
|
||||||
|
<option ng-repeat="itemSemY in semYearList" value="{{itemSemY.ID}}">{{itemSemY.Sem_Year}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.semYear.$dirty && Form.semYear.$error.required">Sem/Year is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
||||||
|
<label for="form-field-select-2">
|
||||||
|
Status <span class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
||||||
|
required>
|
||||||
|
<option value="" disabled selected>Select Status</option>
|
||||||
|
<option ng-repeat="itemStatus in statusDetailsList" value="{{itemStatus.ListCode}}">{{itemStatus.ListName}}</option>
|
||||||
|
</select>
|
||||||
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!--<div class="col-md-4 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid , 'has-success':Form.status.$valid}">
|
||||||
|
<label>
|
||||||
|
Status <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" name="status" tabindex="5" placeholder="Enter Status" class="form-control" ng-model="myStatusModel.staus"
|
||||||
|
required/>
|
||||||
|
<span class="error text-small block" ng-if="Form.sestatusmYear.$dirty && Form.status.$error.required">Status is Required </span>
|
||||||
|
</div>-->
|
||||||
|
<div data-ng-controller="DatepickerDemoCtrl">
|
||||||
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.dateofstaus.$dirty && Form.dateofstaus.$invalid, 'has-success':Form.dateofstaus.$valid}">
|
||||||
|
<label>
|
||||||
|
Date <span
|
||||||
|
class="symbol required"></span>
|
||||||
|
</label>
|
||||||
|
<input type="text" tabindex="6" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myStatusModel.dateOn"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofstaus"
|
||||||
|
datepicker-options="dateOptions" placeholder="Select Date " close-text="Close"
|
||||||
|
required="required" ng-change="getMaxEndDate(myModel.startDate)"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--<input type="text" tabindex="28" class="form-control" ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myModelCourseAdd.dateofjoining"
|
||||||
|
is-open="startOpen" ng-init="startOpen = false" name="dateofjoining" datepicker-options="dateOptions"
|
||||||
|
placeholder="Select Date of Joining" close-text="Close" required="required" datepicker-position="top"
|
||||||
|
/>-->
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$dirty && Form.dateofstaus.$invalid" ng-hide="Form.dateofstaus.$error.maxlength">Date is required.</span>
|
||||||
|
<span class="error text-small block" ng-if="Form.dateofstaus.$error.maxlength">Enter a Valid Date</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
||||||
|
<label>
|
||||||
|
Comments
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<textarea type="text" placeholder="Enter Comments" tabindex="7" class="form-control" name="description" ng-model="myStatusModel.comment"
|
||||||
|
/>
|
||||||
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="pull-right">
|
||||||
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
|
<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
||||||
|
Reset
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--studen search result end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- end: STATUS -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- end: USER PROFILE -->
|
<!-- end: STUDY MATERIAL STATUS -->
|
||||||
|
|
||||||
|
<section id="page-title">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<!--<h1 class="mainTitle" translate="sidebar.nav.student.status.STUDYMATERIAL">{{ mainTitle }}</h1>
|
||||||
|
<span class="mainDescription"></span>-->
|
||||||
|
</div>
|
||||||
|
<!--<div ncy-breadcrumb></div>-->
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
Loading…
Reference in New Issue
Block a user