%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
/** Leads **/ angular.module('MetronicApp').controller("Leads", function ($scope, $rootScope, $http, $state, $location, $timeout, Auth) { var cr = this; cr.sdata = { p: 1, med_phd: '' }; cr.step_filter_dis = true; cr.followupFlg = ''; cr.loading = true; switch ($state.current.name) { case 'leads': cr.page_heading = "Manage Leads - ALL"; cr.sdata.level = ''; cr.step_filter_dis = false; break; case 'leads-medical': cr.page_heading = "Manage Leads - MEDICAL"; cr.sdata.level = 'MEDICAL'; cr.step_filter_dis = false; break; case 'leads-phd': cr.page_heading = "Manage Leads - PHD"; cr.sdata.level = 'PHD'; cr.step_filter_dis = false; break; case 'leads-online': cr.page_heading = "Manage Leads - ONLINE"; cr.sdata.level = 'ONLINE'; cr.step_filter_dis = false; break; case 'leads-offline': cr.page_heading = "Manage Leads - OFFLINE"; cr.sdata.level = 'OFFLINE'; cr.step_filter_dis = false; break; case 'leads-offline-campus': cr.page_heading = "Manage Leads - CAMPUS OFFLINE"; cr.sdata.level = 'CAMPUS_OFFLINE'; cr.step_filter_dis = false; break; case 'leads-step1': cr.page_heading = "Manage Leads - Basic Detials (Step 1)"; cr.sdata.level = 'STEP1'; break; case 'leads-step2': cr.page_heading = "Manage Leads - Additional Detials (Step 2)"; cr.sdata.level = 'STEP2'; break; // Create New Cases case 'leads-step4': cr.page_heading = "Manage Leads - SUSAT Apperaed (Step 4)"; cr.sdata.level = 'STEP4'; break; case 'leads-step5': cr.page_heading = "Manage Leads - Admission Offered (Step 5)"; cr.sdata.level = 'STEP5'; break; case 'leads-step6': cr.page_heading = "Manage Leads - Contract Signed (Step 6)"; cr.sdata.level = 'STEP6'; break; case 'leads-step7': cr.page_heading = "Manage Leads - Contract Signed (Step 7)"; cr.sdata.level = 'STEP7'; break; // End New Cases case 'leads-paid-step1': cr.page_heading = "Manage Leads - Paid ( Step 4)"; cr.sdata.level = 'STEP1_Paid'; break; case 'leads-step3': cr.page_heading = "Manage Leads - SUSAT Registration (Step 3)"; cr.sdata.level = 'STEP3'; break; case 'leads-paid': cr.page_heading = "Manage Leads - PAID"; cr.sdata.level = 'PAID'; break; case 'leads-payment-failed': cr.page_heading = "Manage Leads - PAYMENT FAILED"; cr.sdata.level = 'PAYMENT_FAIL'; break; case 'admissions-offered': cr.page_heading = "Manage Leads - Admissions Offered"; cr.sdata.level = 'ADM_OFFERED'; break; case 'final-admissions': cr.page_heading = "Manage Leads - Final Admissions"; cr.sdata.level = 'ADM_FINAL'; break; case 'leads-assigned-to-me': cr.page_heading = "Leads: Assigned To Me"; cr.sdata.level = 'ASSIGNED_ME'; break; case 'leads-resolved': cr.page_heading = "Leads: Resolved"; cr.sdata.level = 'RESOLVED'; break; case 'leads-resolved-me': cr.page_heading = "Leads: Resolved By Me"; cr.sdata.level = 'RESOLVED_ME'; break; case 'caller-leads': cr.page_heading = "Caller Leads"; cr.sdata.level = 'CALLER_LEADS'; cr.step_filter_dis = false; break; } //Mobile number filter cr.addISDCode = function(mob, ISD_CODE) { if (mob && mob.startsWith('+')) { return mob; } else { return ISD_CODE +'-'+ mob; } }; cr.lists = function (p, followupFlg, followupCount = '') { cr.loading = true; hide_loader(); //show_loader(); cr.followupFlg = followupFlg || cr.followupFlg; if (cr.followupFlg === 'ALL') { cr.followupFlg = ''; } p = p ? p : 1; cr.sdata.p = p; var data = $("#sform").serialize() + '&p=' + p + '&level=' + cr.sdata.level; if (cr.followupFlg) { data = data + '&followup_flg=' + cr.followupFlg; } if (followupCount) { data = data + '&followup_count_tab=' + followupCount; } $http({ url: API_URL + 'leads/lists', method: 'POST', data: data }).success( function (res) { cr.loading = false; cr.result = res.result; cr.page = res.page; cr.LEAD_RESTRICT = res.LEAD_RESTRICT; } ); } // cr.lists = function (p, followupFlg, followupCount = '') { // cr.loading = true; // hide_loader(); // //show_loader(); // cr.followupFlg = followupFlg || cr.followupFlg; // if (cr.followupFlg === 'ALL') { // cr.followupFlg = ''; // } // p = p ? p : 1; // cr.sdata.p = p; // var data = $("#sform").serialize() + '&p=' + p + '&level=' + cr.sdata.level; // console.log(data) // if (cr.followupFlg) { // data = data + '&followup_flg=' + cr.followupFlg; // } // if (followupCount) { // data = data + '&followup_count_tab=' + followupCount; // } // var params = new URLSearchParams(data); // var kValue = params.get('k'); // if (kValue && kValue.startsWith('SUZ')) { // params.set('k', kValue.replace('SUZ', '')); // } // data = params.toString(); // $http({ url: API_URL + 'leads/lists', method: 'POST', data: data }).success( // function (res) { // cr.loading = false; // cr.result = res.result; // cr.page = res.page; // cr.LEAD_RESTRICT = res.LEAD_RESTRICT; // } // ); // } cr.exportLists = function () { location.href = API_URL + 'leads/exportLists?' + $("#sform").serialize() + '&level=' + cr.sdata.level; } cr.delete = function (id, step_completed, is_phd) { if (!confirm("Are you sure to delete?")) { return; } show_loader(); $http({ url: API_URL + 'leads/delete', method: 'POST', data: (({ id: id, step_completed: (!is_phd ? step_completed : 1) })) }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); var pg = cr.sdata.p; if (cr.page.total == 1) { pg = 1; } cr.lists(pg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.campusChange = () => { cr.app.ac_id = ''; cr.app.program_id = ''; cr.app.plan_id = ''; cr.programs = []; cr.plans = []; } cr.getPrograms = function (ac_id) { cr.app.program_id = ''; cr.plans = []; cr.app.plan_id = ''; $http({ url: API_URL + 'common/programs', method: 'POST', data: { ac_id: ac_id, campus_id: cr.app.campus_id } }).success( function (res) { cr.programs = res.programs; cr.acDtl = res.acDtl; cr.setEduStatus(); } ); } cr.country = function () { cr.countries = ''; $http({ url: API_URL + 'common/countries', method: 'POST'}).success( function (res) { cr.countries = res.country; } ); } cr.getRegions = function () { cr.regions = ''; $http({ url: API_URL + 'common/reigon', method: 'POST'}).success( function (res) { cr.regions = res.reigons; } ); } cr.getPlans = function (program_id) { cr.app.plan_id = ''; $http({ url: API_URL + 'common/plans/' + program_id + '/' + cr.app.campus_id }).success( function (res) { cr.plans = res.plans; } ); } cr.getCities = function (state_id, fromDtl) { if (!fromDtl) { cr.usr.city_id = ''; cr.usr.city = ''; cr.usr.pincode = ''; } $http({ url: API_URL + 'common/cities/' + state_id }).success( function (res) { cr.cities = res.cities; } ); } cr.cityChangeEvent = function (city_id) { if (city_id != '-1') { cr.usr.city = ''; } //cr.usr.pincode=$("#citydd option:selected").attr('pincode'); cr.usr.pincode = ''; } cr.setEduStatus = function () { if (angular.isObject(cr.edu)) { cr.edu_status_pg = cr.edu.status_pg; cr.edu_status_ug = cr.edu.status_ug; cr.edu_status_dip = cr.edu.status_dip; cr.edu_status_12th = cr.edu.status_12th; cr.edu_status_10th = cr.edu.status_10th; } else { cr.edu_status_pg = '0'; cr.edu_status_ug = '0'; cr.edu_status_dip = '0'; cr.edu_status_12th = '0'; cr.edu_status_10th = '0'; } if (cr.acDtl.req_pg) { cr.edu_status_ug = '1'; cr.edu_status_dip = '1'; cr.edu_status_12th = '1'; cr.edu_status_10th = '1'; } else if (cr.acDtl.req_ug) { cr.edu_status_dip = '1'; cr.edu_status_12th = '1'; cr.edu_status_10th = '1'; } else if (cr.acDtl.req_12th) { cr.edu_status_10th = '1'; } } cr.clearMarksPyear = function () { if (!angular.isObject(cr.edu)) { return; } if (cr.edu_status_pg == '0') { cr.edu.marks_pg = ''; cr.edu.passing_year_pg = ''; } if (cr.edu_status_ug == '0') { cr.edu.marks_ug = ''; cr.edu.passing_year_ug = ''; } if (cr.edu_status_dip == '0') { cr.edu.marks_dip = ''; cr.edu.passing_year_dip = ''; } if (cr.edu_status_12th == '0') { cr.edu.marks_12th = ''; cr.edu.passing_year_12th = ''; } if (cr.edu_status_10th == '0') { cr.edu.marks_10th = ''; cr.edu.passing_year_10th = ''; } } cr.open_form = function (isedit) { cr.refresh_flg = false; if (!isedit) { cr.app = {}; cr.usr = {}; cr.edu = {}; cr.acDtl = {}; cr.programs = []; cr.plans = []; cr.app.campus_id = cr.campuses[0].id; cr.country(); cr.getRegions(); } showModal($("#leadFormModal"), true); $('[href="#ftab_1"]').click(); $timeout(function () { setBsDatepicker(); }); } cr.close_lead_form = function () { if (cr.refresh_flg) { cr.lists(cr.sdata.p); } } cr.close_detail_modal = function () { $scope.ldtl = {}; } cr.saveStep1 = function () { var frm = $("#frm1"); show_loader(); $http({ url: API_URL + 'leads/save_step1', method: 'POST', data: frm.serialize() }).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep2 = function () { var frm = $("#frm2"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step2', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep3 = function () { var frm = $("#frm3"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step3', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep4 = function () { var frm = $("#frm4"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step4', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep5 = function () { var frm = $("#frm5"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step5', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep6 = function () { var frm = $("#frm6"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step6', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.saveStep7 = function () { var frm = $("#frm7"); var formData = new FormData(frm[0]); formData.append('application_id', cr.app.id); show_loader(); $http({ url: API_URL + 'leads/save_step7', method: 'POST', data: formData, headers: {'Content-Type': undefined}}).success( function (res) { if (res.success) { cr.refresh_flg = true; cr.app = res.app; cr.acDtl = res.acDtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.setEditRes = function (res) { } cr.uploadLeads = () => { var frm = $("#excelfrm"); var fd = new FormData(frm[0]); show_loader(); $http({ url: API_URL + 'leads/uploadLeads', method: 'POST', data: fd, headers: { 'Content-Type': undefined } }).success( function (res) { $("#excelfile").val(''); if (res.success) { cr.send_emails_to_uploaded_leads(JSON.stringify(res.app_ids)); cr.lists(); show_alert_msg(res.msg); if (res.dup_emails.length) { let a = '<div>' + res.dup_emails.join('</div><div>') + '</div>'; open_confirm_bootbox("Existing Emails/Mobiles (" + res.dup_emails.length + ")", a); } } else { show_alert_msg(res.msg, 'E'); } } ); } cr.send_emails_to_uploaded_leads = (app_ids) => { $http({ url: API_URL + 'leads/send_emails_to_uploaded_leads', method: 'POST', data: { app_ids } }).success( function (res) { } ); } cr.rowOb = {}; cr.edit = function (rob) { if (rob.is_phd) { $rootScope.goto("edit-phd-form", { app_id: rob.id }); return; } cr.rowOb = rob; hide_form_errors($("#leadForm")); $("#leadForm").find('[type="file"]').val(''); show_loader(); $http({ url: API_URL + 'leads/detailToEdit/' + rob.id + '/' + rob.step_completed }).success( function (res) { cr.app = res.app; cr.usr = res.usr; cr.edu = res.edu ? res.edu : {}; cr.acDtl = res.acDtl || {}; cr.programs = res.programs; cr.plans = res.plans; cr.countries = res.countries; //get country isd code during edit but it's not working right now. //cr.country_details = res.isd_code.isd_code; cr.regions = res.reigons; cr.parentsCountries = res.parent_countries; cr.susat_exam_date = res.susat_exam_date; cr.exam_status = res.exam_status; if (cr.usr.city_id != '-1') { cr.usr.city = ''; } cr.getCities(cr.usr.state_id, true); cr.setEduStatus(); cr.open_form(true); $timeout(function () { setBsDatepicker(); }); } ); } cr.updateLead = function () { var frm = $("#leadForm"); hide_form_errors(frm); show_loader(); $http({ url: API_URL + 'leads/updateLead', method: 'POST', data: (frm.serialize()) }).success( function (res) { if (res.success == 'T') { hideModal($("#leadFormModal")); cr.lists(cr.app.id ? cr.sdata.p : 1); show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); show_form_errors(res.errors, frm); } } ); } cr.send_to_ps = function (id) { show_loader(); $http({ url: API_URL + 'leads/send_to_ps/' + id }).success( function (res) { if (res.success) { show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.clearDocument = function(documentType) { if (documentType === 'tenth_document') { $scope.cr.usr.tenth_document = null; $scope.cr.usr.tenth_document_name = null; } else if (documentType === 'twth_document') { $scope.cr.usr.twth_document = null; $scope.cr.usr.twth_document_name = null; } }; /** Issues Modal **/ cr.open_issues_model = function (applicant_id, applicant_name, application_no) { cr.issue = {}; cr.issue.applicant_name = applicant_name; cr.issue.application_no = application_no; cr.issue.applicant_id = applicant_id; cr.getIssueList(); } cr.getIssueList = function (reload_leads) { show_loader(); $http({ url: API_URL + 'issues/lists', params: { applicant_id: cr.issue.applicant_id } }).success( function (res) { cr.issueList = res.result; showModal($("#issueListModal"), true, true); if (reload_leads) { cr.lists(cr.sdata.p); } } ); } cr.issueDetail = function (id) { cr.issue.yourComment = ''; show_loader(); $http({ url: API_URL + 'issues/detail/' + id }).success( function (res) { cr.issueDtl = res.dtl; showModal($("#issueDtlModal"), true); } ); } cr.addIssueComment = function () { show_loader(); console.log(cr.issue); $http({ url: API_URL + 'issues/addComment', method: 'POST', data: (({ id: cr.issueDtl.id, comment: cr.issue.YourComment })) }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); cr.issue.YourComment = ''; cr.issueDtl = res.dtl; } else { show_alert_msg(res.msg, 'E'); } } ); } cr.deleteIssueComment = function (id) { if (!confirm("Are you sure to delete?")) { return; } show_loader(); $http({ url: API_URL + 'issues/deleteComment', method: 'POST', data: (({ id: id, parent_id: cr.issueDtl.id })) }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); cr.issueDtl = res.dtl; } else { show_alert_msg(res.msg, 'E'); } } ); } cr.deleteIssue = function (id) { if (!confirm("Are you sure to delete?")) { return; } show_loader(); $http({ url: API_URL + 'issues/delete', method: 'POST', data: (({ id: id })) }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); cr.getIssueList(cr.issue.applicant_id); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.updateIssueStatus = function (id, st) { show_loader(); $http({ url: API_URL + 'issues/updateStatus', method: 'POST', data: { id: id, status: st } }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); cr.getIssueList(true); hideModal($("#issueDtlModal")); } else { show_alert_msg(res.msg, 'E'); } } ); } /** */ cr.detail = function (rowOb) { if (rowOb.is_phd) { //$rootScope.goto("edit-phd-form", {app_id:rowOb.id}); //return; } cr.rowOb = rowOb; $('[href="#ltab_1"]').click(); show_loader(); $http({ url: API_URL + 'leads/detail/' + rowOb.id + '/' + rowOb.step_completed }).success( function (res) { $scope.ldtl = res.dtl; $scope.ldtl.leadpage = true; cr.exam_date = res.susat_exam_date; cr.users_details = res.users_details; showModal($("#leadDtlModal"), true); } ); } cr.checkPayTxnStatus = function (id) { show_loader(); $http({ url: API_URL + 'pay/checkPayTxnStatus', method: 'POST', data: { trans_id: id } }).success( function (res) { if (res.success == 'T') { cr.payres = res.payres; showModal($("#payresModal"), true); if (res.statusUpdated == 'T') { $scope.ldtl = res.dtl; cr.rowOb.step_completed = res.dtl.step_completed; cr.rowOb.txn_status = res.dtl.txn_status; cr.rowOb.txn_id = res.dtl.txn_id; cr.rowOb.payment_status = res.dtl.payment_status; cr.rowOb.payment_status_text = res.dtl.payment_status_text; cr.rowOb.payment_mode = res.dtl.payment_mode; cr.rowOb.step3date = res.dtl.step3date; cr.rowOb.pay_order_id = res.dtl.pay_order_id; if (res.noti_id) { sendFirebaseNotification(res.noti_id); } } } else { show_alert_msg(res.msg, 'E'); } } ); } cr.openReceiveCash = function (id) { cr.coupan_amt = 0; cr.coupan_used = ''; show_loader(); $http({ url: API_URL + 'leads/appDtlNdCoupans/' + id }).success( function (res) { cr.appDtl = res.appDtl; cr.coupans = res.coupans; showModal($("#recCashModal"), true); } ); } cr.calcNetAmt = function (coupan_id) { cr.coupan_amt = 0; cr.coupanUsed = ''; $.each(cr.coupans, function (k, v) { if (coupan_id == v.id) { cr.coupan_amt = v.amt; cr.coupan_used = v.title; } }); cr.appDtl.netAmt = cr.appDtl.fee - cr.coupan_amt; } cr.recordCash = function (id) { show_loader(); $http({ url: API_URL + 'leads/recordCash', method: 'POST', data: { application_id: cr.appDtl.id, fee: cr.appDtl.fee, coupan_used: cr.coupan_used, coupan_amt: cr.coupan_amt } }).success( function (res) { if (res.success) { $scope.ldtl = res.dtl; cr.usr.is_campus_offline = 'Y'; cr.rowOb.payment_status = res.dtl.payment_status; cr.rowOb.step_completed = res.dtl.step_completed; cr.rowOb.payment_status = res.dtl.payment_status; cr.rowOb.payment_status_text = res.dtl.payment_status_text; cr.rowOb.payment_mode = res.dtl.payment_mode; cr.rowOb.step3date = res.dtl.step3date; cr.rowOb.payment_date = res.dtl.payment_date; cr.rowOb.pay_order_id = res.dtl.pay_order_id; show_alert_msg(res.msg); $("#recCashModal").modal('hide'); sendFirebaseNotification(res.noti_id); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.cancelCashReceipt = function () { if (!confirm("Are you sure to cancel?")) { return; } show_loader(); $http({ url: API_URL + 'leads/cancelCashReceipt', method: 'POST', data: { application_id: $scope.ldtl.id } }).success( function (res) { if (res.success) { $scope.ldtl = res.dtl; cr.rowOb.step_completed = res.dtl.step_completed; cr.rowOb.payment_status = res.dtl.payment_status; cr.rowOb.payment_status_text = res.dtl.payment_status_text; cr.rowOb.payment_mode = res.dtl.payment_mode; cr.rowOb.step3date = res.dtl.step3date; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.sendPaymentLink = function (appid) { if (!confirm("Are you sure?")) { return; } show_loader(); $http({ url: API_URL + 'leads/send_payment_link/' + appid }).success( function (res) { if (res.success) { cr.app = res.appdtl; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } /** Follow-up */ cr.rlead = {}; cr.open_follow_up = function (rob, is_after_paid) { cr.rlead = rob; show_loader(); $http({ url: API_URL + 'leads/get_follow_ups/' + cr.rlead.id }).success( function (res) { cr.followups = res.result; //cr.followups = is_after_paid === 'Y' ? res.result.filter(v => v.is_after_paid === 'Y') : res.result; showModal($("#followupModal"), true); } ); } cr.open_remarks_form = function (dtl) { cr.rData = dtl ? dtl : { application_id: cr.rlead.id, subremarks: '' }; $("#next_followup_dt").val(''); showModal($("#remarksModal"), true); } cr.follow_up_detail = function (id) { cr.subremarks = []; show_loader(); $http({ url: API_URL + 'leads/follow_up_detail/' + id }).success( function (res) { if (res.dtl) { cr.open_remarks_form(res.dtl); cr.subremarks = res.subremarks; } } ); } cr.getSubremarks = function (remarks_id) { cr.rData.subremarks = ''; cr.subremarks = []; $.each(cr.remarks, function (k, v) { if (v.id == remarks_id) { cr.subremarks = v.subremarks; } }); } cr.addRemark = function (complete) { var frm = $("#fdbackfrm"); hide_form_errors(frm); var formData = new FormData(frm[0]); formData.append("complete", complete || ''); show_loader(); $http({ url: API_URL + 'leads/save_follow_up', method: 'POST', data: formData, headers: { 'Content-Type': undefined } }).success( function (res) { if (res.success) { show_alert_msg(res.msg); cr.followups = res.result; cr.rlead.followup_by = res.followup_by; cr.rlead.followup_count = res.followup_count; cr.rlead.followup_count_all = res.followup_count_all; cr.rlead.next_followup = res.next_followup; hideModal($("#remarksModal")); } else { show_form_errors(res.errors, frm); show_alert_msg(res.msg, 'E'); } } ); } cr.delete_follow_up = function (id) { if (!confirm("Are you sure to delete?")) { return; } var data = new FormData(); data.append('id', id); show_loader(); $http({ url: API_URL + 'leads/delete_follow_up', method: 'POST', data, headers: { 'Content-Type': undefined } }).success( function (res) { if (res.success) { show_alert_msg(res.msg); cr.followups = res.result; cr.rlead.followup_by = res.followup_by; cr.rlead.followup_count = res.followup_count; cr.rlead.followup_count_all = res.followup_count_all; hideModal($("#remarksModal")); } else { show_form_errors(res.errors, frm); show_alert_msg(res.msg, 'E'); } } ); } /** \ */ /** Filter Options */ cr.show_search_modal = function () { showModal($('#searchModal'), true); } cr.set_empty_sdd_utm_source_id = function () { cr.sdata.utm_source_id = ''; $("#sdd_utm_source_id").val(''); $("#sdd_utm_source_id").change(); } $scope.get_sdd_comp_med = function () { cr.s_utm_campaigns = []; cr.s_utm_mediums = []; var ids = $("#sdd_utm_source_id").val(); if (ids) { cr.s_utm_sources.forEach(function (v) { if (ids.indexOf(v.id) >= 0) { v.campaigns.forEach(function (c) { if (cr.s_utm_campaigns.indexOf(c) == -1) { cr.s_utm_campaigns.push(c); } }); v.mediums.forEach(function (c) { if (cr.s_utm_mediums.indexOf(c) == -1) { cr.s_utm_mediums.push(c); } }); } }); } $timeout(function () { $("#sdd_utm_campaign").change(); $("#sdd_utm_medium").change(); }); } $scope.get_sdd_plans = function () { cr.s_plans = []; var ids = $("#sdd_program_id").val(); if (ids) { cr.all_plans.forEach(function (v) { if (ids.indexOf(v.program_id) >= 0) { cr.s_plans.push(v); } }); } $timeout(function () { $("#sdd_plan_id").change(); }); } $scope.get_sdd_cities = function () { cr.s_cities = []; var ids = $("#sdd_state_id").val(); if (ids) { cr.all_cities.forEach(function (v) { if (ids.indexOf(v.state_id) >= 0) { cr.s_cities.push(v); } }); } $timeout(function () { $("#sdd_city_id").change(); }); } $scope.get_sdd_subremarks = function () { cr.s_subremarks = []; var ids = $("#sdd_remarks").val(); if (ids) { cr.remarks.forEach(function (v) { if (ids.indexOf(v.id) >= 0) { v.subremarks.forEach(sr => { cr.s_subremarks.push(sr.title); }) } }); } $timeout(function () { $("#sdd_subremarks").change(); }); } /** \ */ /** Marl Dead */ cr.mark_as_dead = function (rob) { cr.rlead = rob; var callback = function () { show_loader(); $http({ url: API_URL + 'leads/mark_as_dead', method: 'POST', data: { id: rob.id } }).success( function (res) { if (res.success) { cr.rlead.isdead = 'Y'; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } var msg = '<h4 class="font-purple bold">Are you sure to marks as dead?</hr>'; open_confirm_bootbox("Confirmation", msg, callback); } cr.open_remark_modal = function (application_id) { cr.adminRremarkData = { id: '', application_id: application_id, remarks: '' }; cr.admin_remark_list(application_id); } cr.admin_remark_list = function (application_id) { show_loader(); $http({ url: API_URL + 'leads/superuser_remarks/' + application_id }).success( function (res) { if (res.success) { cr.admin_reviews = res.result; showModal($('#adminRemarkModal'), true); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.addAdminRemark = function () { let form_data = cr.adminRremarkData; show_loader(); $http({ url: API_URL + '/leads/add_superuser_remark', method: 'POST', data: { ...form_data } }).success( function (res) { if (res.success) { cr.adminRremarkData = { id: '', application_id: cr.adminRremarkData.application_id, remarks: '' } show_alert_msg(res.msg); cr.admin_remark_list(cr.adminRremarkData.application_id); cr.lists(cr.sdata.p); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.delete_admin_remark = function (remark_id, application_id) { if (!confirm("Are you sure to delete remark?")) { return true; } $http({ url: API_URL + '/leads/delete_superuser_remark/' + remark_id }).success( function (res) { if (res.success) { cr.admin_remark_list(application_id); cr.lists(cr.sdata.p); show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } /** Email */ cr.open_email_form = function (is_letter, id, email, name) { cr.is_letter_temp = is_letter; cr.to_app_id = id; cr.to_email = email; cr.to_name = name; cr.to_mob = null; cr.attachc = [1]; cr.email_templates_dd = cr.email_templates.filter(r => r.type !== 'WHATSAPP' && ((cr.is_letter_temp && r.type === 'LETTER') || (!cr.is_letter_temp && r.type !== 'LETTER'))); show_loader(); $http({ url: API_URL + 'leads/get_sent_emails', method: 'POST', data: { to_email: cr.to_email, is_letter } }).success( function (res) { res.list.forEach(v => { v.body_sm = `${v.body.replace(/(<([^>]+)>)/gi, "").replace(/ /gi, " ").substring(0, 100)}...`; }); cr.sent_email = res.list; showModal($("#emailModal"), true); } ); } cr.open_whatsapp_form = (id, mob, name) => { cr.to_app_id = id; cr.to_mob = mob; cr.to_name = name; cr.attachc = [1]; cr.email_templates_dd = cr.email_templates.filter(r => r.type === 'WHATSAPP'); show_loader(); $http({ url: API_URL + 'leads/get_sent_whatsapp', method: 'POST', data: { app_id: id } }).success( function (res) { res.list.forEach(v => { v.subject = 'WhatsApp Message'; v.body = v.msg; v.body_sm = `${v.body.replace(/(<([^>]+)>)/gi, "").replace(/ /gi, " ").substring(0, 100)}...`; }); cr.sent_email = res.list; showModal($("#emailModal"), true); } ); } cr.showEmailContent = (row) => { bootboxAlert(row.subject, `<div class="emailbodyleadspage cscroll" style="height:650px">${row.body.replace(/\n/g, '<br />')}</div>`, null, null, 'large'); } cr.send_email = function () { tinyMCE.triggerSave(false, true); var frm = $("#email_frm"); var formData = new FormData(frm[0]); formData.append("id", cr.to_app_id); formData.append("is_letter", cr.is_letter_temp); show_loader(); const url = `${API_URL}leads/${cr.to_mob ? 'send_whatsapp' : 'send_email'}`; $http({ url: url, method: 'POST', data: formData, headers: { 'Content-Type': undefined } }).success( function (res) { if (res.success) { show_alert_msg(res.msg); hideModal($("#emailModal")); cr.close_email_form(); cr.lists(cr.sdata.p); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.selectEmailTemplate = () => { let id = cr.email_temp_id; if (!id) { $("#email_sub").val(""); if (!cr.to_mob) { tinymce.EditorManager.get('email_body').setContent(''); } else { $("#whatsapp_body").val(""); } } else { show_loader(); $http({ url: API_URL + 'reports/campaign_template_detail/' + id + '/' + cr.to_app_id }).success( function (res) { if (!cr.to_mob) { $("#email_sub").val(res.dtl.subject); tinymce.EditorManager.get('email_body').setContent(res.dtl.msg); } else { $("#whatsapp_body").val(res.dtl.msg); } } ) } } cr.close_email_form = function () { cr.sent_email = []; $("#email_frm").find('input[name="subject"], input[type="file"], textarea').val(''); cr.email_temp_id = ''; tinymce.EditorManager.get('email_body').setContent(''); } /** SMS */ cr.open_sms_form = function (id, mob, name) { cr.to_app_id = id; cr.to_mob = mob; cr.to_name = name; show_loader(); $http({ url: API_URL + 'leads/get_sent_sms', method: 'POST', data: { application_id: id } }).success( function (res) { cr.sent_sms = res.list; showModal($("#smsModal"), true); } ); } cr.send_sms = function () { var frm = $("#sms_frm"); var formData = new FormData(frm[0]); formData.append("application_id", cr.to_app_id); show_loader(); $http({ url: API_URL + 'leads/send_sms', method: 'POST', data: formData, headers: { 'Content-Type': undefined } }).success( function (res) { if (res.success) { show_alert_msg(res.msg); hideModal($("#smsModal")); cr.close_sms_form(); cr.lists(cr.sdata.p); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.selectSMSTemplate = () => { let id = cr.sms_temp_id; if (!id) { $("#sms_msg").val(""); } else { show_loader(); $http({ url: API_URL + 'reports/campaign_template_detail/' + id }).success( function (res) { $("#sms_msg").val(res.dtl.msg); } ) } } cr.close_sms_form = function () { cr.sent_sms = []; $("#sms_frm").find('textarea, select').val(''); cr.sms_temp_id = ''; } /** Assign */ cr.open_assign_form = function (app_id) { show_loader(); $http({ url: API_URL + 'leads/application_assign_detail/' + app_id }).success( function (res) { cr.assign_dtl = res; cr.assign_rw = { id: res.id, remarks: '', assigned_to: res.assigned_to }; showModal($("#assignModal"), true); $timeout(function () { apply_select2($("#assigned_usersdd")); }); } ); } cr.assign_lead = function () { cr.assign_rw.assigned_to = $("#assigned_usersdd").val(); show_loader(); $http({ url: API_URL + 'leads/assign_lead', method: 'POST', data: cr.assign_rw }).success( function (res) { if (res.success) { show_alert_msg(res.msg); cr.lists(cr.sdata.p); hideModal($("#assignModal")); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.resolveLead = (rob) => { if (rob.isresolved == 'Y') { return; } if (!confirm("Are you sure?")) { return; } show_loader(); $http({ url: API_URL + 'leads/resolveLead', method: 'POST', data: { id: rob.id } }).success( function (res) { if (res.success) { rob.isresolved = 'Y'; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.makeNonDeadLead = (rob) => { if (rob.isdead == 'N') { return; } if (!confirm("Are you sure?")) { return; } show_loader(); $http({ url: API_URL + 'leads/makeNonDeadLead', method: 'POST', data: { id: rob.id } }).success( function (res) { if (res.success) { rob.isdead = 'N'; show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.uploadSuatDetails = () => { var frm = $("#exfrm"); var fd = new FormData(frm[0]); show_loader(); $http({ url: API_URL + 'leads/uploadSuatDetails', method: 'POST', data: fd, headers: { 'Content-Type': undefined } }).success( function (res) { $("#exfile").val(''); if (res.success) { //cr.lists(); show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.uploadFollowups = () => { var frm = $("#exfrm1"); var fd = new FormData(frm[0]); show_loader(); $http({ url: API_URL + 'leads/uploadFollowups', method: 'POST', data: fd, headers: { 'Content-Type': undefined } }).success( function (res) { $("#exfile1").val(''); if (res.success) { //cr.lists(); show_alert_msg(res.msg); } else { show_alert_msg(res.msg, 'E'); } } ); } cr.phdPendingFormSms = () => { show_loader(); $http({ url: API_URL + 'cron/phdPendingFormSms' }).success( function (res) { if (res) { show_alert_msg(res); } } ); } cr.openUtmChangeForm = (rob) => { //console.log(rob) cr.rowOb = rob; cr.rowOb.new_utm_source_id = rob.utm_source_id; $("#changeUtmForm").modal(); } cr.changeUtmSource = () => { show_loader(); $http({ url: API_URL + 'leads/changeUtmSource', method: 'POST', data: { applicant_id: cr.rowOb.applicant_id, utm_source_id: cr.rowOb.new_utm_source_id } }).success( function (res) { if (res.success) { cr.rowOb.utm_source_id = res.utm_source_id; cr.rowOb.utm_source = res.utm_source; $("#changeUtmForm").modal("hide"); show_alert_msg(res.msg); } } ); } cr.openVisitHistory = (applicant_id, name, application_no) => { cr.vhDtl = { name, application_no }; show_loader(); $http({ url: API_URL + 'leads/visitHistory', method: 'POST', data: { applicant_id } }).success( function (res) { if (res.success) { cr.vhDtl.result = res.result; showModalNew($("#visitHistoryModal"), true); } } ); } cr.getDB = () => { if (getCookie('prevyeardb') === '1') { return 2020; } return 2021; } cr.leadFromOldToNew = (id) => { if (!confirm("Are you sure to move it into curreny year?")) { return; } let btn = $("#movebtn" + id); show_loader(); $http({ url: API_URL + 'leads/leadFromOldToNew', method: 'POST', data: { id } }).success( function (res) { if (res.success) { show_alert_msg(res.msg); btn.after(`<div class="text-muted">Has been moved to current year</div>`); btn.remove(); } else { show_alert_msg(res.msg, "E"); } } ); } /** Init **/ cr.init = function () { hide_loader(); cr.loading = true; set_tinymce("#email_body"); cr.edu_keys = [{ k: '10th', lbl: '10th Exam Detials', ins: 'B' }, { k: '12th', lbl: '12th Exam Detials', ins: 'B' }, { k: 'dip', lbl: 'Diploma Exam Detials', ins: 'B' }, { k: 'ug', lbl: 'Graduation Detials', ins: 'U' }, { k: 'pg', lbl: 'Post Graduation Detials', ins: 'U' }]; cr.s_utm_campaigns = []; cr.s_utm_mediums = []; cr.s_programs = []; cr.s_plans = []; cr.s_cities = []; cr.s_subremarks = []; setBsDatepicker(); init_adv_daterange_picker($("#lead_date_range"), $("#fromDate"), $("#toDate")); //show_loader(); $http({ url: API_URL + 'leads/init' }).success( function (res) { //cr.result=res.result; //cr.page=res.page; cr.USER_ID = res.USER_ID; cr.s_utm_groups = res.utm_groups; cr.s_utm_sources = res.utm_sources; cr.s_prog_types = res.programTypes; cr.s_acs = res.academicCareers; cr.s_lpages = res.lpages; cr.s_disciplines = res.disciplines; cr.s_programs = res.programs; cr.all_plans = res.plans; cr.s_states = res.states; cr.all_cities = res.cities; cr.programTypes = res.programTypes; cr.states = res.states; cr.applicantCats = res.applicantCats; cr.religions = res.religions; cr.boards = res.boards; cr.universities = res.universities; cr.markingSchemes = res.markingSchemes; cr.academicCareers = res.academicCareers; cr.pyears = res.pyears; cr.markingSchemesValues = res.markingSchemesValues; cr.remarks_cats = res.remarks_cats; cr.remarks = res.remarks; cr.ps_app_status_list = res.ps_app_status_list; cr.lead_sources = res.lead_sources; cr.lead_source_states = res.lead_source_states; cr.lead_restrict = res.lead_restrict; cr.comm_modes = res.comm_modes; cr.all_users = res.all_users; cr.campuses = res.campuses; cr.email_templates = res.email_templates; cr.sms_templates = res.sms_templates; $timeout(function () { apply_select2($("#sdd_utm_source_id")); apply_select2($("#sdd_utm_campaign")); apply_select2($("#sdd_utm_medium")); apply_select2($("#ps_app_status")); apply_select2($("#sdd_steps"), "Step Completed"); apply_select2($("#sdd_remarks")); apply_select2($("#sdd_subremarks")); apply_select2($("#sdd_ac_id")); apply_select2($("#sdd_discipline_id")); apply_select2($("#sdd_program_id")); apply_select2($("#sdd_plan_id")); apply_select2($("#sdd_state_id")); apply_select2($("#sdd_city_id")); apply_select2($("#sdd_lpage_id")); $(".ng-vis-hid").removeClass("ng-vis-hid"); }); cr.lists(); } ); } cr.init(); }); function get_sdd_comp_med() { angular.element($("#sform")[0]).scope().get_sdd_comp_med(); } function get_sdd_plans() { angular.element($("#sform")[0]).scope().get_sdd_plans(); } function get_sdd_cities() { angular.element($("#sform")[0]).scope().get_sdd_cities(); } function get_sdd_subremarks() { angular.element($("#sform")[0]).scope().get_sdd_subremarks(); } function show_lmodal_actions(tab) { var ob = $("#leadFormModal .modal-footer"); ob.find(".action").hide(); ob.find(".t" + tab).show(); } function uploadLeads() { angular.element($("#sform")[0]).scope().cr.uploadLeads(); } function uploadSuatDetails() { angular.element($("#sform")[0]).scope().cr.uploadSuatDetails(); } function uploadFollowups() { angular.element($("#sform")[0]).scope().cr.uploadFollowups(); } /** PSLeads **/ angular.module('MetronicApp').controller("PSLeads", function ($scope, $http, $state, $location, $timeout, Auth) { var cr = this; cr.sdata = { p: 1, from_db: 'Lms' }; cr.lists = function (p) { show_loader(); cr.sdata.p = p ? p : 1; $http({ url: API_URL + 'ps/lists', params: cr.sdata }).success( function (res) { cr.result = res.result; cr.page = res.page; } ); } cr.exportLists = function () { location.href = API_URL + 'ps/exportLists?' + $.param(cr.sdata); } cr.add_to_oracle_db = function () { show_loader(); $http({ url: API_URL + 'ps/add_to_oracle_db', params: cr.sdata }).success( function (res) { if (res.success) { show_alert_msg(res.msg); } else { show_alert_msg(res.msg, "E"); } } ); } cr.delete = function (id) { if (!confirm("Are you sure to delete?")) { return; } show_loader(); $http({ url: API_URL + 'ps/delete', method: 'POST', data: { id: id, from_db: cr.sdata.from_db } }).success( function (res) { if (res.success == 'T') { show_alert_msg(res.msg); var pg = cr.sdata.p; if (cr.page.total == 1) { pg = 1; } cr.lists(pg); } else { show_alert_msg(res.msg, 'E'); } } ); } /** Init **/ cr.init = function () { setBsDatepicker(); cr.lists(); } cr.init(); }); //EOF