status Updation new files: kdk

This commit is contained in:
resicovenba 2017-12-18 13:39:58 +05:30
parent f3b46277f6
commit 06c6dddeea
11 changed files with 3059 additions and 23 deletions

View 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
}
}
}

View 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();
// }
}

View 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();
}]);

View 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();
}]);

View 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();
}]);

View File

@ -74,7 +74,7 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams",
$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 localDetails = ipCookie('cookiechk');

View File

@ -1,11 +1,337 @@
'use strict';
/*** 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
*/
// 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();
}]);

View 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>

View 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>

View 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>

View File

@ -1,25 +1,262 @@
<!-- start: PAGE TITLE -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<h1 class="mainTitle" translate="sidebar.nav.pages.USERPROFILE">{{ mainTitle }}</h1>
<span class="mainDescription"></span>
</div>
<div ncy-breadcrumb></div>
</div>
<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>
<!-- end: PAGE TITLE -->
<!-- start: USER PROFILE -->
<!-- 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="studyMaterialStatusCtrl">
<!-- start: USER TABSET -->
<!-- end: USER TABSET -->
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/userCtrl.js /// -->
<div ng-controller="studyMaterialStatusCtrl">
<!-- 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: 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>