{"version":3,"sources":["scripts/app.js"],"names":["angular","module","ModalUploadController","$scope","$API","DialogService","self","this","file","documentos","documentosObrigatorios","documentosObrigatoriosSlug","progressPercentage","uploading","name","title","$onInit","lead","resolve","instituicao","docs","getDocumentosObrigatorios","forEach","e","NOME","ok","close","$value","cancel","dismiss","filesLength","c","Object","keys","hasOwnProperty","OBRIGATORIO","push","filesObrigatoriosSelected","indexOf","$formIsValid","length","upload","status","then","result","data","CodigoResposta","error","message","parseInt","loaded","total","$submit","formFiles","$valid","controller","component","templateUrl","bindings","modalInstance","ModalProgressBarController","$state","$rootScope","modalComponentProgressPercentage","$watch","v","ModalSouCadastradoController","$q","$location","Instituicao","PathService","localCpf","listDados","cpfNaoEncontradoMsg","retunDirectiveCpf","site","$instituicao","modelValue","params","search","def","defer","cc","undefined","url","replace","ID_CAMPUS","get","Dados","continueLead","index","post","email","ID_CAMPUS_CURSO","Candidato","IdCampus","ID_CANDIDATO","r","campusCurso","CAMPUS_CURSO","candidato","selected","cpf","CPF","nome","EMAIL","celular","CELULAR","telefone","TELEFONE","CAMPUS","estado","ESTADO","cidade","CIDADE","curso","CURSO","ID_ESTADO","ID_CIDADE","CAMPUS_EXTENSO","CURSO_EXTENSO","ORIGEM_CANDIDATO","instituicaoSelecionado","RENDA","RENDA_FAMILIAR","NOTA_ENEM","MATRICULA","DT_NASCIMENTO","STR_DT_NASCIMENTO","CEP","estadoCivil","FL_ESTADO_CIVIL","FL_VETERANO","CONJUGE_CPF","CONJUGE_NOME","RESPONSAVEL_CPF","RESPONSAVEL_NOME","corresponsaveisFinanceiros","RESPONSAVEL_SERASA","alunoVeterano","membrosFamilia","MEMBROS_FAMILIA","PASSOS","documentosAluno","documentosConjuge","documentosResponsavel","responsaveisFinanceiros","documentosFamilia","documentosFiador","STATUS","FLAG","listaArquivos","LOGRADOURO","BAIRRO","UF","NUMERO","COMPLEMENTO","console","log","ID_CHECK_LIST_DOC_CAMPUS","Status","go","estados","cidades","instituicoes","cursos","ModalPendenciaAlertController","openModalPendencia","dialogPendencia","dialog","backdrop","action","continue","secondButton","resultButton","resp","html","HTMLTemplateElement","ModalPendenciaController","pending","showMessage","noSelected","files","situacao","loadInstituicoes","campus","REJEITADO","rejeitado","LEAD","leadStatus","SEM_MATRICULA","semMatricula","NOME_FANTASIA","NomeCampus","PENDENTE","Pendente","Rejeitado","SemMatricula","Lead","getPendencias","pendenciaDocumento","response","success","SITE","continuePendencia","slides","addSlide","slide","transclude","slidesCtrl","require","srcSm","srcMd","srcLg","PaymentBoletoController","downloadService","API_SETTINGS","ENV","showLoader","getBoleto","ret","JSON","parse","localStorage","getItem","CREDUC_API","IdRecebivel","res","ReturnData","obj","Result","filename","format","download","controllerAs","contrato","PaymentCreditcardController","$filter","parcelas","dadosCartao","numero","bandeira","validadeMes","validadeAno","qtdCaracters","qtdCartao","txt","parcelaSelecionada","ccv","$onChanges","currentValue","qtdCampus","qtdeParcelas","i","qtdParcelas","descricao","Valor","getParcelas","setBandeira","numeroCartao","marca","valido","test","pagar","year","Date","getFullYear","isNaN","split","tipoRecebivel","idRecebivel","nomePortador","validadeCartao","Sucesso","StrCode","MessageAlert","window","location","reload","MensagemCustom","err","onPagamentoRealizado","NavbarController","$stateParams","Escolha","urlInstituicao","ListParametrosGrupo","update","value","onChange","isHotsite","$isHotsite","bloqueiaSimulacao","parametro","exibe","parametros","it","SLUG","existe","VALOR","exibeCampo","restrict","toggle","navbarStatus","LoadingController","$http","isLoading","pendingRequests","document","pathname","LinkController","parseUrl","href","target","newWindow","closeNavbar","getInstituicao","endpoint","startWith","changeHotsite","ABSOLUTE_URL","class","InscricaoComponentController","Estado","HelperService","$uibModal","promiseEstadoSuccess","pegaIncricaoLocalEstado","promiseCidadeSuccess","pegaIncricaoLocalCidade","promiseInstituicoesSuccess","pegaIncricaoLocalInstituicao","promiseCursosSuccess","listaCursos","auxList","map","p","MODALIDADE","listaTipoGraduacao","vet","filter","distincArray","selecionadoTipoGraduacao","auxFindGraduacao","DESCRICAO","GRAU","TIPO","TURNO","pegaIncricaoLocalCurso","promiseInscricaoSuccess","promiseInscricaoFallback","campi","statesWithFlags","flag","rendaFamiliar","pessoasFamilia","dataNascimento","notaEnem","chamadaInicial","selected1","disabled","emailvalido","creducHome","NomeCidade1","open","customSelected","gravaIncricaoEstadoLocal","gravaIncricaoCidadeLocal","cidadeSelecionado","buscarCampus","setItem","stringify","gravaIncricaoInstituicaoLocal","gravaSelectedCurso","cursoSelecionado","changeEstado","sessionStorage","clear","NomeCidade","dataAsync","SOLICITAR_RENDA","EXIBIR_CAMPO_PESSOAS_FAMILIA","EXIBIR_CAMPO_DT_NASCIMENTO","EXIBIR_CAMPO_NOTA_ENEM","all","completaInscricao","mail","ca","ForcarSolicitarDocumentos","ForcarSolicitarFiador","TIPO_CURSO","removeItem","ies","getCidades","deleteSelected","getInstituicoesCreduc","$item","getInstituicoes","$item2","resultadoEmReais","getCursos","alert","getCursos1","HotSite","getTituloRenda","TEXTO_CAMPO_RENDA","getDicaRenda","TEXTO_INFORMATIVO_RENDA","VAlidaInscricao","submit","fkitem","getSelectedValue","exibeRegulamento","regulamentoAceito","IdUsuarioTeste","UserTeste","IdUser","toUpperCase","FL_STATUS","IdLogin","IsCandidatoCampusPeriodo","windowClass","Alerta","ExceptionMessage","inscricao","validarEmail","BuscarInstituicoes","instiuicoes","BuscarCidade","selecionarModalidade","souCadastrado","limparCursoInstituicao","HeaderController","showScript","slug","navbarIsOpened","goHome","onUpdate","FooterController","date","showBrand","PATH_SETTINGS","$absoluteUrl","$$protocol","$$host","$$port","init","Boolean","STATIC_URL","ASSETS_URL","service","LeadService","factory","InstituicaoService","deferred","id","idCampus","idCidade","_get","fromJson","promise","parametrosCampusAsync","toJson","HotsiteService","parceiros","key","property","defaultValue","EstadoService","idEstado","contentType","byteCharacters","atob","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","blob","Blob","type","navigator","msSaveBlob","URL","webkitURL","downloadUrl","createObjectURL","a","createElement","body","appendChild","click","setTimeout","revokeObjectURL","defaultOptions","_dialog","options","size","extend","progress","percent","dialogInstance","validate","cleanCPF","digits","substring","checker","join","checker1","calcCheck","checker2","toString","sum","j","charAt","lastSumChecker1","k","lastSumChecker2","ContatoService","faleConosco","dados","getContactInfos","queroSerParceiro","ApiService","Upload","headers","config","getHeaders","getAbsoluteUrl","absoluteUrl","postUpload","json","BASE_API_CREDUC","BASE_URL","Content-Type","cache","ValidatePhoneDirective","link","$elem","$attrs","$ctrl","on","val","$validators","phone","viewValue","modelLength","$formatters","unshift","$modelValue","$parsers","slice","directive","scope","attrs","ctrl","ddd","ValidateCpfDirective","CpfService","newValue","oldValue","ValidateBirthDirective","validateBirth","getIdade","ageMin","ageMax","dtNascimento","birth","d","currentMonth","getMonth","currentDay","getDate","birthMonth","birthDay","age","checkCpf","dialogoSouCadastrado","$asyncValidators","reject","UrlFilter","String","prototype","str","n","nLength","cpfLength","SimuladorController","find","hotsite","IdCampusSelecionado","listaTipoModalidade","auxModalidade","FlModalidade","modalidade","dataParcelas","mostrarMensagemErro","rangeMin","valorMensalidadeDesejada","valorMensalidadeDepois","porcentagemParcela","valorMensalidade","qtdeSemestresParcelamento","semestreInicio","qtdeMesesPosGraduacao","percMaximo","travarSimulador","valorMinimoPorcentagem","arrayParcelasDurante","arrayParcelasDepois","listaSemestres","listValorPagar","isSolicitaCurso","teste","containsGraducaoPos","SolicitarCurso","ListPecentual","TravarSimulador","PercMaximo","auxModalidade2","calcularPorcentagem","porcentagemParcelaAux","toFixed","replicarSemestres","replicarMeses","atualizaResultadoPagamentoMes","atualizaValorDesejadoEmRelacaoPorcentagem","qtdeMeses","valorTotalDurante","Durante","valorTotalDepois","valorTotal","posicao","semestre","parcelasDurante","parcelasDepois","Depois","dadosSemestre","copy","imprimirSimulacao","QueroSerParceiroController","CREDUC","resultEstado","contato","ID","PendenciaController","$log","fileExists","exibeDadosResponsavel","pendenciaResponsavel","exibeDadosConjuge","pendenciaConjuge","exibeMembrosDaFamilia","pendenciaMembroFamilia","exibeResponsaveisFinanceiros","pendenciaFiador","listaObrigatoria","deleteEmptyFile","getParentescoDescricao","FL_PARENTESCO","formInscricao","$invalid","pendenciaAluno","clearEmptyFiles","isValid","idCandidato","docObrigatorioAluno","DocumentosNecessarios","FAKE_ID","FILES","docObrigatorioConjuge","candidatoConjuge","CANDIDATO_CONJUGE","docObrigatorioResponsavel","candidatoResponsavel","CANDIDATO_RESPONSAVEL","listaMembros","docObrigatorioMembroFamilia","membro","listaFiador","docObrigatorioFiador","fiador","$dialogProgress","removeFile","$apiInstituicao","$apiGetCandidato","getCandidato","Pendencias","PendenciaConjuge","PendenciaResponsavel","PendenciaMembrosFamilia","PendenciaFiadorModel","InstituicaoController","$anchorScroll","promiseGetInstituicaoError","promiseGetInstituicaoSuccess","src","sm","getBanner","md","temp1","BANNER_HOTSITE","TAMANHO","aux","urlTextoComercialSM","ARQUIVO","STATIC_PATH","urlTextoComercialMD","urlComparacaoFiesSM","urlComparacaoFiesMD","CreducVsFies","COMPARACAO_FIES","SEO_TITLE","$seo_keywords","SEO_KEYWORDS","$seo_description","SEO_DESCRIPTION","$favicon","FAVICON","showBannerOqE","mostrarMsgAvaliacao","showIESvxFIesBanner","showIESvxFIesBannerDoctum","mostrarMensagemInscricao","Id","userTeste","bloqueiaInscricao","getTituloImplantacao","TITULO_IMPLANTACAO","getNomeParcelamento","PROGRAMA_CREDITO","getTexto","ordem","texto","TEXTO_IMPLANTACAO","ORDEM","isArray","TEXTO","linkIrPara","hash","mostarMensagemAvaliacao","mostrarMsgAdesao","mostrarMsgAprovacao","mostarMensagemAdesao","mostarMensagemAprovacao","tamanho","banner","NOME_ARQUIVO","ParceirosController","Hotsite","goHotsite","InscricaoController","$interval","$sce","listaBannerConclusao","textoConclusao","exibeImgTextoConclusao","UrlRetornoFacebook","AUTENTICAR","vagasDisponiveis","enderecoAluno","$id","pId","path","InfoPasso","BTNSalvar","BTNPular","exibeDocumentos","candidatoMenorIdade","rt","conjuge","responsavel","_passo","mostrar_tudo","showGmaps","membroFamilia","instituicaoNome","habilitaLoading","passoDadosAcademicos","passoDadosPessoais","passoDadosMembrosFamilia","passoDadosFinanceiros","passoDadosDocumentos","passoDadosTermoCompromiso","passoConclusao","showPagamento","adicionarMembroResponsavel","tipoCadastro","getElementById","membroResponsavel","arrdt","arrdt1","parseFloat","tipoResponsavel","habilitaAceiteContratoOnline","idade","idaderesponsavel","exigeResponsaveisFinanceiros","lista","repetido","verificaCpfRepetido","SalvarMembroFamilia","SalvarResponsavelFinanceiro","showFormFamilia","showFormFiador","removerMembroResponsavel","tipo","objeto","RemoverResponsavelFinanceiro","RemoverMembroFamilia","SENHA_CADASTRO","listaConsultor","idConsultor","ListaDocumentosAnexadosAluno","ListaDocumentosAnexadosFamilia","ListaDocumentosAnexadosFiador","ListaDocumentosAnexadosConjuge","ListaDocumentosAnexadosResponsavel","pagaVeterano","paramTermoCompromisso","userIp","temAceiteTermo","botaoTermoAceite","buscarIP","verificarPendenciaAluno","ListaParametros","ita","itp","itf","itf2","itf3","itf4","showPagamentoVeterano","_inscricao","mudarRota","s","substr","passoPagamento","Enviado","FL_TIPO_DOC","selectedInstituicao","TEXTO_CONCLUSAO","EXIBE_IMG_TEXTO_CONCLUSAO","MontarListaConsultores","consultarCepAlunoRet","getOS","os","osVersao","userAgent","appVersion","clientStrings","cs","exec","getBrowser","versaoIndex","nomeIndex","ix","browser","appName","versao","versaoMaior","lastIndexOf","toLowerCase","verificarDocumento","mr","doc","IdPessoa","ID_MEMBROS_FAMILIA","verificarDocumentoFiador","ID_RESPONSAVEL_SERASA","GerarSenhaPortalAluno","GerarNovaSenha","PORTAL_ALUNO_CREDUC","enviou","idPessoa","idCheklist","enviado","divDoc","classList","add","divDoc1","idInstituicaoFiltro","ID_PAI","Menor","rota","mudarRotaTopo","gravaDadosaAcademicos","insc","consultarCepAluno","Logradouro","Cidade","Bairro","VerificarStatusAprovado","userInfo","exigeMembrosDaFamilia","exibeResponsaveisFinanceirosDoc","salvarPasso","scrollTo","SalvarDadosAcademicos","SalvarDadosPessoais","SalvarDadosFamilia","SalvarDadosFinanceiro","temPendenciaTermo","aceitarTermo","mudarPasso","Concluir","pulaDocumentos","ExibirPagamento","verterna","ID_CONSULTOR","IdConsultor","passoAtual","conclusaoOk","buscarVagasDisponiveis","conclusaoInscricao","AtualizarEnderecoAluno","endereco","IdCandidato","Numero","Complemento","dtMon","dtMont","saida","ID_CANDIDATO_RESPONSAVEL","ID_CANDIDATO_CONJUGE","rendaPercapita","objetosend","splice","uploadImage","item","idDoc","addSpinner","documentoPessoa","subiu","NOME_DOCUMENTO","divDoc4","divDoc5","divDoc6","divDoc7","remove","VerificarArquivo","idfile","valor","_familiaRenda","exibeCampoMatricula","exibeCampoNotaEnem","exibirSolicitaRenda","subiuAntes","f","candInfo","resultado","TipoPendencia","trim","nomeArquivo","trustAsResourceUrl","Chave","aceite","$","getJSON","ip","HomeController","random","Math","imgURL","imgURLA","inputInstituicao","modalCadastroOpen","new","lg","onSelect","innerHTML","openOrCloseModalCadastro","entrada","FaleConoscoController","emailInstituicao","telefoneInstituicao","getContactInfo","getCampi","campusSelecionado","EmailCampus","Email","EducaMaisBrasilController","runBlock","$window","$path","$status","custom_theme_dynamic","filecss","$on","toState","pageClass","yOffset","element","isScrolling","pageYOffset","$apply","run","routerConfig","$stateProvider","$urlRouterProvider","state","otherwise","local","pregQuote","string","delimiter","RegExp","stringToRegex","ENVIRONMENT","host","match","info","constant","PROD","HOMOLOGACAO","DEV","$logProvider","$locationProvider","$compileProvider","debugEnabled","debugInfoEnabled","html5Mode","rule","$injector","normalized"],"mappings":"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","file":"scripts/app-2e15908d6f.js","sourcesContent":["(function () {\r\n 'use strict';\r\n //var myApp = angular.module('creduc.app', []);\r\n angular.module('creduc.app', [\r\n 'ngAnimate',\r\n 'ngSanitize',\r\n 'ngAria',\r\n\r\n 'ui.router',\r\n 'ui.bootstrap',\r\n 'ui.select',\r\n 'ui.utils.masks',\r\n 'ui.utils.masks.br',\r\n\r\n 'ngFileUpload',\r\n\r\n 'creduc.config',\r\n 'creduc.constants',\r\n 'creduc.routes',\r\n 'creduc.filters',\r\n 'creduc.services',\r\n 'creduc.components',\r\n 'creduc.directives',\r\n 'creduc.controllers'\r\n ]);\r\n\r\n angular.module('creduc.config', []);\r\n angular.module('creduc.constants', []);\r\n angular.module('creduc.routes', []);\r\n angular.module('creduc.filters', []);\r\n angular.module('creduc.services', []);\r\n angular.module('creduc.components', []);\r\n angular.module('creduc.directives', []);\r\n angular.module('creduc.controllers', []);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalUploadController', ModalUploadController);\r\n\r\n /** @ngInject */\r\n function ModalUploadController($scope, $API, DialogService) {\r\n var self = this;\r\n\r\n self.file = {};\r\n self.documentos = [];\r\n self.documentosObrigatorios = [];\r\n self.documentosObrigatoriosSlug = [];\r\n self.progressPercentage = 50;\r\n self.uploading = false;\r\n\r\n self.name = 'modal-upload';\r\n self.title = 'Adicione documentos das pessoas consideradas na composição da renda informada';\r\n\r\n self.$onInit = function () {\r\n self.lead = self.resolve.lead;\r\n self.instituicao = self.resolve.instituicao;\r\n self.documentos = self.resolve.instituicao.docs;\r\n\r\n self.getDocumentosObrigatorios();\r\n\r\n angular.forEach(self.documentos, function (e) {\r\n self.file[e.NOME] = null;\r\n });\r\n };\r\n\r\n self.ok = function () {\r\n self.close({ $value: '' });\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n\r\n self.filesLength = function () {\r\n var c = 0;\r\n angular.forEach(Object.keys(self.file), function (e) {\r\n if (self.file.hasOwnProperty(e) && self.file[e])\r\n c++;\r\n });\r\n return c;\r\n };\r\n\r\n self.getDocumentosObrigatorios = function () {\r\n self.documentosObrigatorios = [];\r\n angular.forEach(self.documentos, function (e) {\r\n if (e.OBRIGATORIO == true) {\r\n self.documentosObrigatorios.push(e);\r\n self.documentosObrigatoriosSlug.push(e.NOME);\r\n }\r\n });\r\n };\r\n\r\n self.filesObrigatoriosSelected = function () {\r\n var c = 0;\r\n angular.forEach(Object.keys(self.file), function (e) {\r\n if (self.documentosObrigatoriosSlug.indexOf(e) > -1 && self.file.hasOwnProperty(e) && self.file[e]) {\r\n c++;\r\n }\r\n });\r\n return c;\r\n };\r\n\r\n\r\n self.$formIsValid = function () {\r\n if (self.documentosObrigatorios.length > 0) {\r\n return self.filesObrigatoriosSelected() == self.documentosObrigatorios.length;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n self.upload = function () {\r\n self.uploading = true;\r\n self.progressPercentage = 0;\r\n self.lead.status = 'L';\r\n\r\n angular.forEach(self.documentos, function (e) {\r\n if (self.file.hasOwnProperty(e.NOME)) {\r\n self.lead[e.NOME] = self.file[e.NOME];\r\n }\r\n });\r\n\r\n $API\r\n .upload('/candidato/add/upload/', { lead: self.lead })\r\n .then(function (result) {\r\n if (result.data.CodigoResposta == 1) {\r\n self.uploading = false;\r\n self.close({ $value: result });\r\n }\r\n }, function () {\r\n self.uploading = false;\r\n DialogService.error({\r\n title: 'Erro!',\r\n message: 'Ocorreu um erro.'\r\n });\r\n }, function (e) {\r\n self.progressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n };\r\n\r\n self.$submit = function () {\r\n if ($scope.formFiles.$valid) {\r\n self.upload();\r\n } else {\r\n DialogService.error({\r\n title: 'Atenção!',\r\n message: 'Não foi possível concluir a inscrição pois o formulário contém erros. Por favor envie apenas arquivos PDF, JPG ou PNG.'\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-upload/modal-upload.html',\r\n controller: 'ModalUploadController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalUpload', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalProgressBarController', ModalProgressBarController);\r\n\r\n /** @ngInject */\r\n function ModalProgressBarController($state, $scope, $rootScope) {\r\n var self = this;\r\n\r\n self.name = 'modal-progress-bar';\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.modalComponentProgressPercentage = $rootScope.modalComponentProgressPercentage;\r\n };\r\n\r\n $scope.$watch(function () {\r\n return $rootScope.modalComponentProgressPercentage;\r\n }, function (v) {\r\n self.modalComponentProgressPercentage = v;\r\n });\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-progress-bar/modal-progress-bar.html',\r\n controller: 'ModalProgressBarController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalProgressBar', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalSouCadastradoController', ModalSouCadastradoController);\r\n\r\n /** @ngInject */\r\n function ModalSouCadastradoController($q, $API, $location, Instituicao, PathService, $state) {\r\n var self = this;\r\n self.localCpf = '';\r\n self.listDados = [];\r\n self.cpfNaoEncontradoMsg = '';\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.localCpf = self.resolve.message.localCpf ? self.resolve.message.localCpf : '';\r\n self.listDados = self.resolve.message.listDados ? self.resolve.message.listDados : [];\r\n\r\n\r\n if (self.localCpf) {\r\n self.retunDirectiveCpf();\r\n }\r\n\r\n };\r\n\r\n self.ok = function () {\r\n self.close({$value: true});\r\n };\r\n\r\n self.cancel = function () {\r\n // //console.log(self.localCpf);\r\n self.close({$value: true});\r\n };\r\n\r\n\r\n self.site = function () {\r\n return PathService.$instituicao();\r\n };\r\n\r\n\r\n\r\n self.retunDirectiveCpf = function _checkCpf() {\r\n var modelValue = self.localCpf;\r\n if (!modelValue || modelValue.length < 11) {\r\n self.listDados = [];\r\n self.cpfNaoEncontradoMsg = '';\r\n return;\r\n }\r\n\r\n var params = $location.search();\r\n var def = $q.defer();\r\n if (params.cc == null || params.cc == undefined) {\r\n var url = '/instituicao/{idCampus}/candidato/{cpf}/pendencias';\r\n url = url.replace('{idCampus}', Instituicao.data().ID_CAMPUS);\r\n url = url.replace('{cpf}', modelValue);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados.length == 0) {\r\n self.cpfNaoEncontradoMsg = '*CPF não encontrado';\r\n def.resolve();\r\n } else {\r\n\r\n self.listDados = result.data.Dados;\r\n\r\n // result.data.Dados.map(p => self.listDados.push(p));\r\n // //console.log(self.listDados);\r\n }\r\n });\r\n }\r\n return;\r\n };\r\n\r\n\r\n\r\n self.continueLead = function (index) {\r\n\r\n // //console.log(self.listDados[index]);\r\n\r\n $API.post('/candidato/lead/' + self.localCpf, {\r\n email: '',\r\n ID_CAMPUS_CURSO: self.listDados[index].Candidato.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: self.listDados[index].IdCampus,\r\n ID_CANDIDATO: self.listDados[index].Candidato.ID_CANDIDATO\r\n }).then(function (r) {\r\n if (r.data.Dados) {\r\n var data = r.data.Dados;\r\n var campusCurso = data.CAMPUS_CURSO;\r\n\r\n var candidato = {};\r\n var selected = {};\r\n var estados = [];\r\n var cidades = [];\r\n var cursos = [];\r\n var instituicoes = [];\r\n\r\n candidato.cpf = data.CPF;\r\n candidato.nome = data.NOME;\r\n candidato.email = data.EMAIL;\r\n candidato.celular = data.CELULAR;\r\n candidato.telefone = data.TELEFONE;\r\n candidato.ID_CAMPUS = campusCurso.CAMPUS.ID_CAMPUS;\r\n\r\n selected.estado = data.ESTADO || {};\r\n selected.cidade = data.CIDADE || {};\r\n selected.curso = data.CAMPUS_CURSO.CURSO || {};\r\n selected.instituicao = data.CAMPUS_CURSO.CAMPUS || {};\r\n\r\n\r\n var lead = {\r\n ID_CANDIDATO: data.ID_CANDIDATO,\r\n ID_CAMPUS: data.ID_CAMPUS,\r\n CPF: data.CPF,\r\n NOME: data.NOME,\r\n CELULAR: data.CELULAR,\r\n EMAIL: data.EMAIL,\r\n ID_ESTADO: data.ID_ESTADO,\r\n ID_CIDADE: data.ID_CIDADE,\r\n CAMPUS_EXTENSO: data.CAMPUS_EXTENSO,\r\n CURSO_EXTENSO: data.CAMPUS_CURSO.CURSO.NOME,\r\n ID_CAMPUS_CURSO: data.ID_CAMPUS_CURSO,\r\n ORIGEM_CANDIDATO: 'H',\r\n instituicaoSelecionado: data.CAMPUS_CURSO.CAMPUS,\r\n RENDA: data.RENDA,\r\n RENDA_FAMILIAR: data.RENDA_FAMILIAR,\r\n TELEFONE: data.TELEFONE,\r\n NOTA_ENEM: data.NOTA_ENEM,\r\n MATRICULA: data.MATRICULA,\r\n DT_NASCIMENTO: data.STR_DT_NASCIMENTO,\r\n CEP: data.CEP,\r\n estadoCivil: data.FL_ESTADO_CIVIL,\r\n FL_VETERANO: data.FL_VETERANO,\r\n CONJUGE_CPF: data.CONJUGE_CPF,\r\n CONJUGE_NOME: data.CONJUGE_NOME,\r\n RESPONSAVEL_CPF: data.RESPONSAVEL_CPF,\r\n RESPONSAVEL_NOME: data.RESPONSAVEL_NOME,\r\n corresponsaveisFinanceiros: data.RESPONSAVEL_SERASA,\r\n alunoVeterano: data.FL_VETERANO == 'S',\r\n membrosFamilia: data.MEMBROS_FAMILIA,\r\n PASSOS: data.PASSOS,\r\n documentosAluno: data.documentosAluno,\r\n documentosConjuge: data.documentosConjuge,\r\n documentosResponsavel: data.documentosResponsavel,\r\n responsaveisFinanceiros: data.corresponsaveisFinanceiros,\r\n documentosFamilia: data.documentosFamilia,\r\n documentosFiador: data.documentosFiador,\r\n status: data.STATUS.FLAG,\r\n listaArquivos: [],\r\n LOGRADOURO: data.LOGRADOURO,\r\n BAIRRO: data.BAIRRO,\r\n CIDADE: data.CIDADE,\r\n ESTADO: data.ESTADO,\r\n UF: data.UF,\r\n NUMERO: data.NUMERO,\r\n COMPLEMENTO: data.COMPLEMENTO\r\n };\r\n console.log(lead);\r\n \r\n\r\n angular.forEach(lead.documentosAluno, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosConjuge, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosResponsavel, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosFamilia, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosFiador, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n\r\n // self.continue();\r\n self.cancel();\r\n\r\n $state.go('instituicao-inscricao-dados-academicos', {\r\n instituicao: self.site(),\r\n candidato: lead,\r\n selected: selected,\r\n estados: estados || [],\r\n cidades: cidades || [],\r\n instituicoes: instituicoes || [],\r\n cursos: cursos || []\r\n });\r\n\r\n }\r\n }, function () {\r\n // DialogService.error({\r\n // message: 'Erro ao carregar inscrição'\r\n // });\r\n });\r\n };\r\n\r\n\r\n\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-sou-cadastrado/modal-sou-cadastrado.html',\r\n controller: 'ModalSouCadastradoController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalSouCadastrado', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalPendenciaAlertController', ModalPendenciaAlertController);\r\n\r\n /** @ngInject */\r\n function ModalPendenciaAlertController(Instituicao, DialogService) {\r\n var self = this;\r\n\r\n self.name = 'modal-pendencia-alert';\r\n self.instituicao = {};\r\n self.lead = {};\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.instituicao = Instituicao.data();\r\n self.lead = self.resolve.lead;\r\n };\r\n\r\n self.ok = function () {\r\n self.close({ $value: '' });\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n\r\n self.openModalPendencia = function () {\r\n var dialogPendencia = DialogService.dialog({\r\n component: 'creducModalPendencia',\r\n backdrop: 'static',\r\n resolve: {\r\n instituicao: self.instituicao,\r\n lead: self.lead\r\n }\r\n });\r\n\r\n dialogPendencia.result.then(function(result) {\r\n if (result.action == 'UPLOAD_SUCCESS') {\r\n self.close({ $value: result })\r\n }\r\n });\r\n\r\n return dialogPendencia;\r\n };\r\n\r\n self.continue = function () {\r\n self.close({ $value: { action: 'CONTINUE' } });\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-pendencia-alert/modal-pendencia-alert.html',\r\n controller: 'ModalPendenciaAlertController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalPendenciaAlert', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalDialogController', ModalDialogController);\r\n\r\n /** @ngInject */\r\n function ModalDialogController() {\r\n var self = this;\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.message = self.resolve.message.message;\r\n self.status = self.resolve.message.status;\r\n self.secondButton = self.resolve.message.secondButton;\r\n };\r\n\r\n self.ok = function () {\r\n if (self.status) {\r\n self.close({ $value: true });\r\n } else {\r\n self.cancel();\r\n }\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n\r\n self.resultButton = function (resp) {\r\n self.close({ $value: resp });\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-dialog/modal-dialog.html',\r\n controller: 'ModalDialogController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalDialog', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalDialogDefaultController', ModalDialogDefaultController);\r\n\r\n /** @ngInject */\r\n function ModalDialogDefaultController() {\r\n var self = this;\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.message = self.resolve.message.message;\r\n self.html = self.resolve.message.HTMLTemplateElement;\r\n };\r\n\r\n self.ok = function () {\r\n self.close({ $value: '' });\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-dialog/modal-dialog-default.html',\r\n controller: 'ModalDialogDefaultController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalDialogDefault', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalPendenciaController', ModalPendenciaController);\r\n\r\n /** @ngInject */\r\n function ModalPendenciaController($scope, $API, DialogService, $state) {\r\n var self = this;\r\n\r\n self.name = 'modal-pendencia';\r\n self.pending = true;\r\n self.uploading = false;\r\n self.showMessage = false;\r\n self.noSelected = true;\r\n self.instituicoes = [];\r\n self.documentos = [];\r\n self.documentosObrigatorios = [];\r\n self.documentosObrigatoriosSlug = [];\r\n self.files = {};\r\n self.candidato = {};\r\n\r\n self.$onInit = function () {\r\n self.title = 'Pendências';\r\n self.instituicao = self.resolve.instituicao;\r\n self.lead = self.resolve.lead;\r\n self.situacao = self.resolve.situacao;\r\n \r\n\r\n self.loadInstituicoes();\r\n\r\n if (self.instituicoes.length == 1) {\r\n self.noSelected = false;\r\n\r\n self.campus = self.instituicoes[0];\r\n\r\n if ('REJEITADO' in self.campus && self.campus.REJEITADO) {\r\n self.pending = true;\r\n self.rejeitado = true;\r\n }\r\n else if ('LEAD' in self.campus && self.campus.LEAD) {\r\n self.pending = true;\r\n self.leadStatus = true;\r\n }\r\n else if ('SEM_MATRICULA' in self.campus && self.campus.SEM_MATRICULA) {\r\n self.pending = true;\r\n self.semMatricula = true;\r\n }\r\n else {\r\n self.showMessage = true;\r\n }\r\n }\r\n };\r\n\r\n self.loadInstituicoes = function () {\r\n angular.forEach(self.situacao, function (e) {\r\n self.instituicoes.push({\r\n ID_CAMPUS: e.IdCampus,\r\n ID_CAMPUS_CURSO: e.Candidato.ID_CAMPUS_CURSO,\r\n NOME_FANTASIA: e.NomeCampus,\r\n PENDENTE: e.Pendente,\r\n REJEITADO: e.Rejeitado,\r\n SEM_MATRICULA: e.SemMatricula,\r\n LEAD: e.Lead\r\n })\r\n });\r\n };\r\n\r\n self.ok = function () {\r\n self.close({ $value: '' });\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n\r\n self.continue = function () {\r\n self.close({ $value: { action: 'CONTINUE' } });\r\n };\r\n\r\n self.getPendencias = function (campus) {\r\n if (!campus || !campus.ID_CAMPUS) {\r\n self.pending = true;\r\n self.noSelected = true;\r\n self.showMessage = false;\r\n self.rejeitado = false;\r\n self.leadStatus = false;\r\n self.pendenciaDocumento = false;\r\n return false;\r\n }\r\n\r\n self.pending = true;\r\n self.showMessage = false;\r\n self.noSelected = false;\r\n self.rejeitado = false;\r\n self.leadStatus = false;\r\n self.pendenciaDocumento = false;\r\n\r\n angular.forEach(self.documentos, function (e) {\r\n self.files[e.NOME] = null;\r\n });\r\n\r\n var url = '/campus/{idCampus}/candidato/{cpf}/pendencias';\r\n url = url.replace('{idCampus}', campus.ID_CAMPUS);\r\n url = url.replace('{cpf}', self.lead.cpf);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados) {\r\n var data = result.data.Dados;\r\n\r\n self.campus = {\r\n ID_CAMPUS: data.IdCampus,\r\n ID_CAMPUS_CURSO: data.Candidato.ID_CAMPUS_CURSO,\r\n LEAD: data.Lead,\r\n NOME_FANTASIA: data.NomeCampus,\r\n PENDENTE: data.Pendente,\r\n REJEITADO: data.Rejeitado,\r\n SEM_MATRICULA: data.SemMatricula\r\n };\r\n\r\n if ('REJEITADO' in self.campus && self.campus.REJEITADO) {\r\n self.pending = true;\r\n self.rejeitado = true;\r\n }\r\n else if ('LEAD' in self.campus && self.campus.LEAD) {\r\n self.pending = true;\r\n self.leadStatus = true;\r\n }\r\n else if ('SEM_MATRICULA' in self.campus && self.campus.SEM_MATRICULA) {\r\n self.pending = true;\r\n self.semMatricula = true;\r\n }\r\n else {\r\n self.showMessage = true;\r\n }\r\n\r\n }\r\n }, function () {\r\n self.showMessage = true;\r\n });\r\n };\r\n\r\n self.upload = function () {\r\n self.uploading = true;\r\n self.progressPercentage = 0;\r\n\r\n self.lead.ID_CAMPUS = self.campus.ID_CAMPUS;\r\n\r\n angular.forEach(self.documentos, function (e) {\r\n if (self.files.hasOwnProperty(e.NOME)) {\r\n self.lead[e.NOME] = self.files[e.NOME];\r\n }\r\n });\r\n\r\n $API\r\n .upload('/candidato/pendencias/upload/', { lead: self.lead })\r\n .then(function (result) {\r\n if (result.data.CodigoResposta == 1) {\r\n self.uploading = false;\r\n var response = {\r\n action: 'UPLOAD_SUCCESS',\r\n message: {\r\n success: self.semMatricula ? 'Informação salva com sucesso!' : 'Documentos enviados com sucesso!'\r\n }\r\n };\r\n self.close({ $value: response });\r\n }\r\n }, function () {\r\n self.uploading = false;\r\n DialogService.error({\r\n title: 'Erro!',\r\n message: 'Ocorreu um erro.'\r\n });\r\n }, function (e) {\r\n self.progressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n };\r\n\r\n self.filesLength = function () {\r\n var c = 0;\r\n angular.forEach(Object.keys(self.files), function (e) {\r\n if (self.files.hasOwnProperty(e) && self.files[e])\r\n c++;\r\n });\r\n return c;\r\n };\r\n\r\n self.filesObrigatoriosSelected = function () {\r\n var c = 0;\r\n angular.forEach(Object.keys(self.files), function (e) {\r\n if (self.documentosObrigatoriosSlug.indexOf(e) > -1 && self.files.hasOwnProperty(e) && self.files[e]) {\r\n c++;\r\n }\r\n });\r\n return c;\r\n };\r\n\r\n self.getDocumentosObrigatorios = function () {\r\n self.documentosObrigatorios = [];\r\n angular.forEach(self.documentos, function (e) {\r\n if (e.OBRIGATORIO == true) {\r\n self.documentosObrigatorios.push(e);\r\n self.documentosObrigatoriosSlug.push(e.NOME);\r\n }\r\n });\r\n };\r\n\r\n self.$formIsValid = function () {\r\n if (self.documentosObrigatorios.length > 0) {\r\n return self.filesObrigatoriosSelected() == self.documentosObrigatorios.length;\r\n }\r\n return true;\r\n };\r\n\r\n self.continueLead = function () {\r\n\r\n if (self.email) {\r\n $API.post('/candidato/lead/' + self.lead.cpf, {\r\n email: self.email,\r\n ID_CAMPUS_CURSO: self.campus.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: self.campus.ID_CAMPUS,\r\n ID_CANDIDATO: self.situacao[0].Candidato.ID_CANDIDATO\r\n }).then(function (r) {\r\n if (r.data.Dados) {\r\n var data = r.data.Dados;\r\n var campusCurso = data.CAMPUS_CURSO;\r\n\r\n var candidato = {}\r\n var selected = {};\r\n var estados = [];\r\n var cidades = [];\r\n var cursos = [];\r\n var instituicoes = [];\r\n\r\n candidato.cpf = data.CPF;\r\n candidato.nome = data.NOME;\r\n candidato.email = data.EMAIL;\r\n candidato.celular = data.CELULAR;\r\n candidato.telefone = data.TELEFONE;\r\n candidato.ID_CAMPUS = campusCurso.CAMPUS.ID_CAMPUS;\r\n\r\n //data.ESTADO.UF = data.ESTADO.COD_ESTADO;\r\n // data.CAMPUS_CURSO.CAMPUS.CAMPUS = data.CAMPUS_CURSO.CAMPUS.NOME_FANTASIA;\r\n //data.CAMPUS_CURSO.CURSO.DESCRICAO = '' + campusCurso.CURSO.NOME + ' ' + campusCurso.MODALIDADE.DESCRICAO + ' ' + campusCurso.GRAU.DESCRICAO + ' ' + campusCurso.TIPO_CURSO.DESCRICAO + ' ' + campusCurso.TURNO.NOME + '';\r\n\r\n //estados.push(data.ESTADO);\r\n //cidades.push(data.CIDADE);\r\n //cursos.push(data.CAMPUS_CURSO.CURSO);\r\n //instituicoes.push(data.CAMPUS_CURSO.CAMPUS);\r\n\r\n selected.estado = data.ESTADO || {};\r\n selected.cidade = data.CIDADE || {};\r\n selected.curso = data.CAMPUS_CURSO.CURSO || {};\r\n selected.instituicao = data.CAMPUS_CURSO.CAMPUS || {};\r\n\r\n\r\n var lead = {\r\n ID_CANDIDATO: data.ID_CANDIDATO,\r\n ID_CAMPUS: data.ID_CAMPUS,\r\n CPF: data.CPF,\r\n NOME: data.NOME,\r\n CELULAR: data.CELULAR,\r\n EMAIL: data.EMAIL,\r\n ID_ESTADO: data.ID_ESTADO,\r\n ID_CIDADE: data.ID_CIDADE,\r\n CAMPUS_EXTENSO: data.CAMPUS_EXTENSO,\r\n CURSO_EXTENSO: data.CAMPUS_CURSO.CURSO.NOME,\r\n ID_CAMPUS_CURSO: data.ID_CAMPUS_CURSO,\r\n ORIGEM_CANDIDATO: 'H',\r\n instituicaoSelecionado: data.CAMPUS_CURSO.CAMPUS,\r\n RENDA: data.RENDA,\r\n RENDA_FAMILIAR: data.RENDA_FAMILIAR,\r\n TELEFONE: data.TELEFONE,\r\n NOTA_ENEM: data.NOTA_ENEM,\r\n MATRICULA: data.MATRICULA,\r\n DT_NASCIMENTO: data.STR_DT_NASCIMENTO,\r\n CEP: data.CEP,\r\n estadoCivil: data.FL_ESTADO_CIVIL,\r\n FL_VETERANO: data.FL_VETERANO,\r\n CONJUGE_CPF: data.CONJUGE_CPF,\r\n CONJUGE_NOME: data.CONJUGE_NOME,\r\n RESPONSAVEL_CPF: data.RESPONSAVEL_CPF,\r\n RESPONSAVEL_NOME: data.RESPONSAVEL_NOME,\r\n corresponsaveisFinanceiros: data.RESPONSAVEL_SERASA,\r\n alunoVeterano: data.FL_VETERANO == 'S',\r\n membrosFamilia: data.MEMBROS_FAMILIA,\r\n PASSOS: data.PASSOS,\r\n documentosAluno: data.documentosAluno,\r\n documentosConjuge: data.documentosConjuge,\r\n documentosResponsavel: data.documentosResponsavel,\r\n responsaveisFinanceiros: data.corresponsaveisFinanceiros,\r\n documentosFamilia: data.documentosFamilia,\r\n documentosFiador: data.documentosFiador,\r\n status: data.STATUS.FLAG,\r\n listaArquivos: []\r\n };\r\n\r\n angular.forEach(lead.documentosAluno, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosConjuge, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosResponsavel, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosFamilia, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n angular.forEach(lead.documentosFiador, function (e) {\r\n if (lead.status == \"LEA\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n } else if (e.Status == \"VAL\") {\r\n lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS);\r\n }\r\n });\r\n\r\n\r\n self.continue();\r\n\r\n $state.go('instituicao-inscricao-dados-academicos', {\r\n instituicao: self.instituicao.SITE,\r\n candidato: lead,\r\n selected: selected,\r\n estados: estados || [],\r\n cidades: cidades || [],\r\n instituicoes: instituicoes || [],\r\n cursos: cursos || []\r\n });\r\n\r\n }\r\n }, function () {\r\n DialogService.error({\r\n message: 'Erro ao verificar E-mail.'\r\n });\r\n });\r\n }\r\n };\r\n\r\n self.continuePendencia = function () {\r\n if (self.email) {\r\n self.continueLead();\r\n }\r\n };\r\n\r\n self.$submit = function () {\r\n if (self.$formIsValid()) {\r\n self.upload();\r\n } else {\r\n var message = null;\r\n\r\n if (self.filesLength() == 0) {\r\n message = 'Nenhum arquivo foi selecionado.
Por favor envie apenas arquivos PDF, JPG ou PNG.';\r\n }\r\n\r\n DialogService.error({\r\n title: 'Atenção!',\r\n message: message || 'Não foi possível concluir a inscrição pois o formulário contém erros.
Por favor envie apenas arquivos PDF, JPG ou PNG.'\r\n });\r\n }\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-pendencia/modal-pendencia.html',\r\n controller: 'ModalPendenciaController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalPendencia', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ModalInscricaoController', ModalInscricaoController);\r\n\r\n /** @ngInject */\r\n function ModalInscricaoController() {\r\n var self = this;\r\n\r\n self.$onInit = function () {\r\n self.title = self.resolve.message.title;\r\n self.message = self.resolve.message.message;\r\n };\r\n\r\n self.ok = function () {\r\n self.close({ $value: '' });\r\n };\r\n\r\n self.cancel = function () {\r\n self.dismiss({ $value: 'cancel' });\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/modals/modal-inscricao/modal-inscricao.html',\r\n controller: 'ModalInscricaoController',\r\n bindings: {\r\n resolve: '<',\r\n close: '&',\r\n dismiss: '&',\r\n modalInstance: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducModalInscricao', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('SlidesController', SlidesController);\r\n\r\n /** @ngInject */\r\n function SlidesController() {\r\n var self = this;\r\n var slides = self.slides = [];\r\n\r\n self.addSlide = function (slide) {\r\n slides.push(slide);\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n transclude: true,\r\n templateUrl: 'app/components/slides/slides.html',\r\n controller: 'SlidesController',\r\n bindings: {}\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducSlides', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('SlideController', SlideController);\r\n\r\n /** @ngInject */\r\n function SlideController() {\r\n var self = this;\r\n\r\n self.$onInit = function () {\r\n self.slidesCtrl.addSlide(self);\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n transclude: true,\r\n templateUrl: 'app/components/slide/slide.html',\r\n controller: 'SlideController',\r\n require: {\r\n slidesCtrl: '^creducSlides'\r\n },\r\n bindings: {\r\n title: '=',\r\n srcSm: '=',\r\n srcMd: '=',\r\n srcLg: '='\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducSlide', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('PaymentBoletoController', PaymentBoletoController);\r\n\r\n /** @ngInject */\r\n function PaymentBoletoController($API, downloadService, DialogService, API_SETTINGS, ENV) {\r\n var self = this;\r\n\r\n self.name = 'payment-boleto';\r\n self.showLoader = false;\r\n\r\n\r\n self.getBoleto = function () {\r\n self.showLoader = true;\r\n var ret = JSON.parse(localStorage.getItem(\"recebivel\"));\r\n \r\n\r\n var url = API_SETTINGS[ENV].CREDUC_API + '/api/Aluno/GetBoleto?idRecebivel=' + ret.IdRecebivel;\r\n\r\n\r\n\r\n $API.get(url)\r\n .then(function (res) {\r\n\r\n\r\n if (res.data.ReturnData) {\r\n var obj = {\r\n data: res.data.ReturnData.Result,\r\n filename: 'boleto',\r\n format: 'pdf'\r\n };\r\n downloadService.download(obj);\r\n }\r\n\r\n }, function () {\r\n // $API.ProcessarErro(ex, 'Não foi possível gerar o boleto!');\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/payment-boleto/payment-boleto.html',\r\n controller: 'PaymentBoletoController',\r\n controllerAs: 'paymentb',\r\n bindings: {\r\n contrato: '<'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducPaymentBoleto', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('PaymentCreditcardController', PaymentCreditcardController);\r\n\r\n /** @ngInject */\r\n function PaymentCreditcardController($filter, $API, DialogService, API_SETTINGS, ENV) {\r\n var self = this;\r\n\r\n\r\n self.name = 'payment-creditcard';\r\n self.parcelas = [];\r\n\r\n self.dadosCartao = {\r\n numero: null,\r\n bandeira: null,\r\n validadeMes: null,\r\n validadeAno: null,\r\n nome: null,\r\n qtdCaracters: null,\r\n qtdCartao: null,\r\n txt: false,\r\n parcelaSelecionada: null,\r\n ccv: null\r\n\r\n\r\n };\r\n\r\n self.showLoader = false;\r\n\r\n self.$onChanges = function (c) {\r\n if (c.contrato.currentValue) getParcelas();\r\n };\r\n var qtdeParcelas = 6;\r\n\r\n function getParcelas() {\r\n\r\n var ret = JSON.parse(localStorage.getItem(\"recebivel\"));\r\n\r\n if (ret.qtdCampus != null && ret.qtdCampus > 0) {\r\n\r\n qtdeParcelas = ret.qtdCampus;\r\n }\r\n\r\n\r\n if (qtdeParcelas == 0)\r\n qtdeParcelas = 6;\r\n\r\n for (var i = 1; i <= qtdeParcelas; i++) {\r\n self.parcelas.push({\r\n qtdParcelas: i,\r\n descricao:\r\n i + 'x de ' + $filter('currency')(ret.Valor / i)\r\n });\r\n }\r\n self.dadosCartao.parcelaSelecionada = self.parcelas[0];\r\n }\r\n\r\n // Código copiado do portal do aluno antigo.\r\n self.setBandeira = function () {\r\n\r\n var numeroCartao = self.dadosCartao.numero;\r\n\r\n var marca = {\r\n VISA: {\r\n valido: function (numeroCartao) {\r\n return /^4\\d{15}$/.test(numeroCartao);\r\n }\r\n },\r\n MASTERCARD: {\r\n valido: function (numeroCartao) {\r\n return /^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[01]|2720)[0-9]{0,}$/.test(\r\n numeroCartao\r\n );\r\n }\r\n },\r\n DISCOVER: {\r\n valido: function (numeroCartao) {\r\n return /^(6011|65|64[4-9]|622)/.test(numeroCartao);\r\n }\r\n },\r\n DINERS: {\r\n valido: function (numeroCartao) {\r\n return /^3[0,6,8]\\d{12}$/.test(numeroCartao);\r\n }\r\n },\r\n\r\n ELO: {\r\n valido: function (numeroCartao) {\r\n return /^4011|438935|45(1416|76)|50(4175|6699|67|90[4-7])|63(6297|6368)/.test(numeroCartao);\r\n }\r\n },\r\n HIPERCARD: {\r\n valido: function (numeroCartao) {\r\n return /^(606282\\d{10}(\\d{3})?)|(3841\\d{15})/.test(numeroCartao);\r\n }\r\n },\r\n AMEX: {\r\n valido: function (numeroCartao) {\r\n return /^3[47][0-9]{13}$/.test(numeroCartao);\r\n }\r\n },\r\n\r\n };\r\n\r\n self.dadosCartao.bandeira = null;\r\n\r\n if (marca.ELO.valido(numeroCartao)) {\r\n self.dadosCartao.bandeira = 'elo';\r\n self.dadosCartao.qtdCaracters = 16;\r\n }\r\n if (marca.VISA.valido(numeroCartao)) {\r\n self.dadosCartao.qtdCaracters = 16;\r\n self.dadosCartao.bandeira = 'visa';\r\n }\r\n if (marca.MASTERCARD.valido(numeroCartao)) {\r\n self.dadosCartao.qtdCaracters = 16;\r\n self.dadosCartao.bandeira = 'mastercard';\r\n }\r\n if (marca.DINERS.valido(numeroCartao)) {\r\n self.dadosCartao.bandeira = 'diners';\r\n self.dadosCartao.qtdCaracters = 14;\r\n }\r\n if (marca.DISCOVER.valido(numeroCartao)) {\r\n self.dadosCartao.bandeira = 'discover';\r\n self.dadosCartao.qtdCaracters = 16;\r\n }\r\n if (marca.HIPERCARD.valido(numeroCartao)) {\r\n self.dadosCartao.bandeira = 'hipercard';\r\n self.dadosCartao.qtdCaracters = 16;\r\n }\r\n if (marca.AMEX.valido(numeroCartao)) {\r\n self.dadosCartao.qtdCaracters = 15;\r\n self.dadosCartao.bandeira = 'amex';\r\n }\r\n\r\n };\r\n\r\n self.pagar = function () {\r\n var year = new Date;\r\n year = year.getFullYear();\r\n\r\n\r\n if (isNaN(self.dadosCartao.numero)) {\r\n DialogService.error({\r\n title: 'Verifique o número do cartão',\r\n message: 'Ano inválido'\r\n });\r\n return;\r\n }\r\n if (isNaN(self.dadosCartao.validadeMes) || (self.dadosCartao.validadeMes < 1 || self.dadosCartao.validadeMes > 12)) {\r\n DialogService.error({\r\n title: 'Verifique o mês do cartão',\r\n message: 'Mês inválido'\r\n });\r\n return;\r\n }\r\n if (isNaN(self.dadosCartao.validadeAno) || (self.dadosCartao.validadeAno < year)) {\r\n DialogService.error({\r\n title: 'Verifique o Ano do cartão',\r\n message: 'Ano inválido'\r\n });\r\n return;\r\n }\r\n if (self.dadosCartao.nome.split(' ').length < 2) {\r\n DialogService.error({\r\n title: 'Verifique o nome impresso no cartão',\r\n message: 'Nome inválido'\r\n });\r\n return;\r\n }\r\n self.showLoader = true;\r\n var ret = JSON.parse(localStorage.getItem(\"recebivel\"));\r\n\r\n\r\n var params = {\r\n tipoRecebivel: 6,\r\n idRecebivel: ret.IdRecebivel,\r\n nomePortador: self.dadosCartao.nome,\r\n bandeira: self.dadosCartao.bandeira,\r\n numeroCartao: self.dadosCartao.numero,\r\n validadeCartao: self.dadosCartao.validadeAno + self.dadosCartao.validadeMes,\r\n qtdParcelas: self.dadosCartao.parcelaSelecionada.qtdParcelas\r\n };\r\n\r\n if (params.bandeira == null || params.bandeira == '') {\r\n DialogService.error({\r\n title: 'Escolha a bandeira do cartão',\r\n message: 'Não foi possivel reconhecer a bandeira do seu cartão'\r\n });\r\n self.showLoader = false;\r\n return;\r\n }\r\n\r\n\r\n $API.post(API_SETTINGS[ENV].CREDUC_API + '/api/Aluno/PagamentoCartaoCredito', params).then(function (res) {\r\n\r\n\r\n var dialog = {};\r\n if (res.data.ReturnData.Sucesso) {\r\n dialog = DialogService.success({\r\n title: res.data.StrCode,\r\n message: res.data.MessageAlert\r\n });\r\n dialog.result.then(function () {\r\n self.selected = {};\r\n self.lead = {};\r\n window.location.reload();\r\n });\r\n } else {\r\n DialogService.error({\r\n title: 'Erro ao processar seu pagamento',\r\n message: res.data.ReturnData.MensagemCustom\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n self.showLoader = false;\r\n },\r\n function (err) {\r\n if (err && err.status === 500) {\r\n DialogService.error({\r\n title: 'Erro ao realizar o pagamento',\r\n message:\r\n 'Ocorreu um problema interno no servidor.
Tente novamente. Se o problema persistir entre em contato com a instituição.
'\r\n });\r\n }\r\n self.showLoader = false;\r\n }\r\n );\r\n\r\n };\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/payment-creditcard/payment-creditcard.html',\r\n controller: 'PaymentCreditcardController',\r\n controllerAs: 'paymentcc',\r\n bindings: {\r\n contrato: '<',\r\n onPagamentoRealizado: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducPaymentCreditcard', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('NavbarController', NavbarController)\r\n\r\n /** @ngInject */\r\n function NavbarController($stateParams, PathService, $filter) {\r\n var self = this;\r\n self.Escolha = false;\r\n self.urlInstituicao = $stateParams.instituicao;\r\n self.ListParametrosGrupo = [];\r\n if (localStorage.getItem(\"Escolha\") == null) {\r\n self.Escolha = true;\r\n }\r\n\r\n self.update = function (value) {\r\n // self.navbarIsOpened = value;\r\n self.onChange({ value: value });\r\n };\r\n\r\n self.isHotsite = function () {\r\n return PathService.$isHotsite();\r\n };\r\n\r\n self.site = function () {\r\n return PathService.$instituicao();\r\n }\r\n\r\n self.bloqueiaSimulacao = function () {\r\n self.ListParametrosGrupo = JSON.parse(localStorage.getItem(\"parametros\"));\r\n return exibeCampo(\"BLOQUEAR_SIMULACAO\");\r\n };\r\n\r\n function exibeCampo(parametro) {\r\n var exibe = false;\r\n if (self.ListParametrosGrupo) {\r\n self.parametros = self.ListParametrosGrupo;\r\n if (self.parametros != undefined) {\r\n\r\n var it = $filter('filter')(self.parametros, { 'SLUG': parametro });\r\n\r\n if (it.length > 0) {\r\n var existe = it[0];\r\n\r\n if (self.parametros && existe.VALOR == \"S\") {\r\n exibe = true;\r\n return exibe;\r\n }\r\n }\r\n\r\n }\r\n }\r\n return exibe;\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n restrict: 'E',\r\n templateUrl: 'app/components/navbar/navbar.html',\r\n controller: 'NavbarController',\r\n bindings: {\r\n onChange: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducNavbar', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('NavbarBtnController', NavbarBtnController)\r\n\r\n /** @ngInject */\r\n function NavbarBtnController() {\r\n var self = this;\r\n\r\n self.toggle = function () {\r\n self.onChange({ value: !self.navbarStatus });\r\n };\r\n }\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n restrict: 'E',\r\n templateUrl: 'app/components/navbar/navbar-btn.html',\r\n controller: 'NavbarBtnController',\r\n bindings: {\r\n navbarStatus: '=',\r\n onChange: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducNavbarBtn', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('LoadingController', LoadingController);\r\n\r\n /** @ngInject */\r\n function LoadingController($scope, $http) {\r\n var self = this;\r\n\r\n self.name = 'loading';\r\n self.isLoading = false;\r\n\r\n $scope.$watch(function () {\r\n return $http.pendingRequests.length;\r\n }, function (v) {\r\n if (document.location.pathname != '/')\r\n \r\n //if (document.location.pathname != '/creduc/inscricao/documentos-candidato')\r\n self.isLoading = v > 0;\r\n });\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/loading/loading.html',\r\n controller: 'LoadingController',\r\n bindings: {}\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducLoading', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('LinkController', LinkController);\r\n\r\n /** @ngInject */\r\n function LinkController(PathService, $state, $stateParams) {\r\n var self = this;\r\n\r\n self.$instituicao = $stateParams.instituicao || $state.params.instituicao || '';\r\n\r\n self.$onInit = function () {\r\n self.url = self.parseUrl(self.href);\r\n self.target = self.newWindow ? '_blank' : '_self';\r\n };\r\n\r\n self.closeNavbar = function () {\r\n self.onChange({ value: false });\r\n };\r\n\r\n self.getInstituicao = function () {\r\n return self.$instituicao = $stateParams.instituicao || $state.params.instituicao || '';\r\n };\r\n\r\n self.parseUrl = function (endpoint) {\r\n if (endpoint.startWith('http') || !self.changeHotsite) {\r\n return endpoint;\r\n }\r\n\r\n var url = PathService.ABSOLUTE_URL();\r\n\r\n if (self.getInstituicao()) {\r\n url += '/' + self.getInstituicao();\r\n }\r\n\r\n if (!endpoint.startWith('#')) {\r\n url += '/'\r\n }\r\n\r\n url += endpoint.replace('/', '');\r\n\r\n return url;\r\n };\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/link/link.html',\r\n controller: 'LinkController',\r\n bindings: {\r\n title: '@',\r\n href: '@',\r\n changeHotsite: '@',\r\n newWindow: '@',\r\n class: '@',\r\n onChange: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducLink', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/inscricao/inscricao.html',\r\n controller: 'InscricaoComponentController',\r\n bindings: {\r\n instituicao: '='\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducInscricao', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('InscricaoComponentController', InscricaoComponentController);\r\n\r\n /** @ngInject */\r\n function InscricaoComponentController(Estado, Instituicao, Lead, HelperService, DialogService, PathService, $uibModal, $scope, $API, $state, $location, $filter) {\r\n\r\n var self = this;\r\n\r\n self.estados = [];\r\n self.cidades = [];\r\n self.cidade = {};\r\n self.instituicoes = [];\r\n $scope.campi = [];\r\n $scope.statesWithFlags = [{ 'name': 'Alabama', 'flag': '5/5c/Flag_of_Alabama.svg/45px-Flag_of_Alabama.svg.png' },\r\n { 'name': 'Alaska', 'flag': 'e/e6/Flag_of_Alaska.svg/43px-Flag_of_Alaska.svg.png' },\r\n { 'name': 'Arizona', 'flag': '9/9d/Flag_of_Arizona.svg/45px-Flag_of_Arizona.svg.png' }, { 'name': 'Arkansas', 'flag': '9/9d/Flag_of_Arkansas.svg/45px-Flag_of_Arkansas.svg.png' }, { 'name': 'California', 'flag': '0/01/Flag_of_California.svg/45px-Flag_of_California.svg.png' }, { 'name': 'Colorado', 'flag': '4/46/Flag_of_Colorado.svg/45px-Flag_of_Colorado.svg.png' }, { 'name': 'Connecticut', 'flag': '9/96/Flag_of_Connecticut.svg/39px-Flag_of_Connecticut.svg.png' }, { 'name': 'Delaware', 'flag': 'c/c6/Flag_of_Delaware.svg/45px-Flag_of_Delaware.svg.png' }, { 'name': 'Florida', 'flag': 'f/f7/Flag_of_Florida.svg/45px-Flag_of_Florida.svg.png' }, { 'name': 'Georgia', 'flag': '5/54/Flag_of_Georgia_%28U.S._state%29.svg/46px-Flag_of_Georgia_%28U.S._state%29.svg.png' }, { 'name': 'Hawaii', 'flag': 'e/ef/Flag_of_Hawaii.svg/46px-Flag_of_Hawaii.svg.png' }, { 'name': 'Idaho', 'flag': 'a/a4/Flag_of_Idaho.svg/38px-Flag_of_Idaho.svg.png' }, { 'name': 'Illinois', 'flag': '0/01/Flag_of_Illinois.svg/46px-Flag_of_Illinois.svg.png' }, { 'name': 'Indiana', 'flag': 'a/ac/Flag_of_Indiana.svg/45px-Flag_of_Indiana.svg.png' }, { 'name': 'Iowa', 'flag': 'a/aa/Flag_of_Iowa.svg/44px-Flag_of_Iowa.svg.png' }, { 'name': 'Kansas', 'flag': 'd/da/Flag_of_Kansas.svg/46px-Flag_of_Kansas.svg.png' }, { 'name': 'Kentucky', 'flag': '8/8d/Flag_of_Kentucky.svg/46px-Flag_of_Kentucky.svg.png' }, { 'name': 'Louisiana', 'flag': 'e/e0/Flag_of_Louisiana.svg/46px-Flag_of_Louisiana.svg.png' }, { 'name': 'Maine', 'flag': '3/35/Flag_of_Maine.svg/45px-Flag_of_Maine.svg.png' }, { 'name': 'Maryland', 'flag': 'a/a0/Flag_of_Maryland.svg/45px-Flag_of_Maryland.svg.png' }, { 'name': 'Massachusetts', 'flag': 'f/f2/Flag_of_Massachusetts.svg/46px-Flag_of_Massachusetts.svg.png' }, { 'name': 'Michigan', 'flag': 'b/b5/Flag_of_Michigan.svg/45px-Flag_of_Michigan.svg.png' }, { 'name': 'Minnesota', 'flag': 'b/b9/Flag_of_Minnesota.svg/46px-Flag_of_Minnesota.svg.png' }, { 'name': 'Mississippi', 'flag': '4/42/Flag_of_Mississippi.svg/45px-Flag_of_Mississippi.svg.png' }, { 'name': 'Missouri', 'flag': '5/5a/Flag_of_Missouri.svg/46px-Flag_of_Missouri.svg.png' }, { 'name': 'Montana', 'flag': 'c/cb/Flag_of_Montana.svg/45px-Flag_of_Montana.svg.png' }, { 'name': 'Nebraska', 'flag': '4/4d/Flag_of_Nebraska.svg/46px-Flag_of_Nebraska.svg.png' }, { 'name': 'Nevada', 'flag': 'f/f1/Flag_of_Nevada.svg/45px-Flag_of_Nevada.svg.png' }, { 'name': 'New Hampshire', 'flag': '2/28/Flag_of_New_Hampshire.svg/45px-Flag_of_New_Hampshire.svg.png' }, { 'name': 'New Jersey', 'flag': '9/92/Flag_of_New_Jersey.svg/45px-Flag_of_New_Jersey.svg.png' }, { 'name': 'New Mexico', 'flag': 'c/c3/Flag_of_New_Mexico.svg/45px-Flag_of_New_Mexico.svg.png' }, { 'name': 'New York', 'flag': '1/1a/Flag_of_New_York.svg/46px-Flag_of_New_York.svg.png' }, { 'name': 'North Carolina', 'flag': 'b/bb/Flag_of_North_Carolina.svg/45px-Flag_of_North_Carolina.svg.png' }, { 'name': 'North Dakota', 'flag': 'e/ee/Flag_of_North_Dakota.svg/38px-Flag_of_North_Dakota.svg.png' }, { 'name': 'Ohio', 'flag': '4/4c/Flag_of_Ohio.svg/46px-Flag_of_Ohio.svg.png' }, { 'name': 'Oklahoma', 'flag': '6/6e/Flag_of_Oklahoma.svg/45px-Flag_of_Oklahoma.svg.png' }, { 'name': 'Oregon', 'flag': 'b/b9/Flag_of_Oregon.svg/46px-Flag_of_Oregon.svg.png' }, { 'name': 'Pennsylvania', 'flag': 'f/f7/Flag_of_Pennsylvania.svg/45px-Flag_of_Pennsylvania.svg.png' }, { 'name': 'Rhode Island', 'flag': 'f/f3/Flag_of_Rhode_Island.svg/32px-Flag_of_Rhode_Island.svg.png' }, { 'name': 'South Carolina', 'flag': '6/69/Flag_of_South_Carolina.svg/45px-Flag_of_South_Carolina.svg.png' }, { 'name': 'South Dakota', 'flag': '1/1a/Flag_of_South_Dakota.svg/46px-Flag_of_South_Dakota.svg.png' }, { 'name': 'Tennessee', 'flag': '9/9e/Flag_of_Tennessee.svg/46px-Flag_of_Tennessee.svg.png' }, { 'name': 'Texas', 'flag': 'f/f7/Flag_of_Texas.svg/45px-Flag_of_Texas.svg.png' }, { 'name': 'Utah', 'flag': 'f/f6/Flag_of_Utah.svg/45px-Flag_of_Utah.svg.png' }, { 'name': 'Vermont', 'flag': '4/49/Flag_of_Vermont.svg/46px-Flag_of_Vermont.svg.png' },\r\n { 'name': 'Virginia', 'flag': '4/47/Flag_of_Virginia.svg/44px-Flag_of_Virginia.svg.png' }, { 'name': 'Washington', 'flag': '5/54/Flag_of_Washington.svg/46px-Flag_of_Washington.svg.png' }, { 'name': 'West Virginia', 'flag': '2/22/Flag_of_West_Virginia.svg/46px-Flag_of_West_Virginia.svg.png' }, { 'name': 'Wisconsin', 'flag': '2/22/Flag_of_Wisconsin.svg/45px-Flag_of_Wisconsin.svg.png' }, { 'name': 'Wyoming', 'flag': 'b/bc/Flag_of_Wyoming.svg/43px-Flag_of_Wyoming.svg.png' }]\r\n self.instituicao = {};\r\n self.rendaFamiliar = false;\r\n self.pessoasFamilia = false;\r\n self.dataNascimento = false;\r\n self.notaEnem = false;\r\n self.chamadaInicial = true;\r\n self.cursos = [];\r\n self.listaCursos = [];\r\n self.selected = {};\r\n self.selected1 = {};\r\n self.disabled = true;\r\n self.$isHotsite = PathService.$isHotsite;\r\n self.emailvalido = false;\r\n self.creducHome = false;\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n // self.modalidade = \"G\";\r\n $scope.NomeCidade1 = '';\r\n $scope.$watch($scope.NomeCidade1, function () {\r\n\r\n }, true);\r\n\r\n $scope.openModalPendencia = function () {\r\n var modalUpload = $uibModal.open({\r\n component: 'creducModalPendencia',\r\n backdrop: 'static',\r\n resolve: {\r\n instituicao: self.instituicao,\r\n lead: self.lead\r\n }\r\n });\r\n\r\n return modalUpload;\r\n };\r\n $scope.customSelected = null;\r\n $scope.gravaIncricaoEstadoLocal = function () {\r\n\r\n //if (localStorage.getItem(\"inscricao\") != null && localStorage.getItem(\"inscricao\") != undefined && localStorage.getItem(\"inscricao\") != 'undefined') {\r\n // self.lead = JSON.parse(localStorage.getItem(\"inscricao\"));\r\n //}\r\n //if (self.lead != null) {\r\n // self.lead.estadoSelecionado = estado;\r\n //} else {\r\n // self.lead = {};\r\n // self.lead.estadoSelecionado = estado;\r\n\r\n //}\r\n //if (!inicio) {\r\n // self.lead.cidadeSelecionado = null;\r\n // self.lead.cursoSelecionado = null;\r\n // self.lead.instituicaoSelecionado = null;\r\n //}\r\n\r\n //localStorage. o\", JSON.stringify(self.lead))\r\n\r\n };\r\n $scope.gravaIncricaoCidadeLocal = function (cidade) {\r\n if (self.lead != null) {\r\n self.lead.cidadeSelecionado = cidade;\r\n } else {\r\n self.lead = {};\r\n self.lead.cidadeSelecionado = cidade;\r\n\r\n }\r\n\r\n\r\n\r\n };\r\n\r\n $scope.buscarCampus = function (cidade) {\r\n localStorage.setItem(\"ciu\", JSON.stringify(cidade));\r\n $API.post('api/campus/BuscarPorLocalidade_a', cidade).then(function (r) {\r\n $scope.campi = r.data.ReturnData;\r\n }, function () {\r\n });\r\n\r\n };\r\n $scope.gravaIncricaoInstituicaoLocal = function (instituicao) {\r\n\r\n if (self.lead != null) {\r\n self.lead.instituicaoSelecionado = instituicao;\r\n } else {\r\n self.lead = {};\r\n self.lead.instituicaoSelecionado = instituicao;\r\n }\r\n };\r\n\r\n $scope.gravaSelectedCurso = function (curso) {\r\n\r\n\r\n\r\n if (self.lead != null) {\r\n self.lead.cursoSelecionado = curso;\r\n } else {\r\n self.lead = {};\r\n self.lead.cursoSelecionado = curso;\r\n }\r\n\r\n };\r\n $scope.pegaIncricaoLocalEstado = function () {\r\n\r\n };\r\n\r\n $scope.pegaIncricaoLocalInstituicao = function () {\r\n\r\n };\r\n $scope.pegaIncricaoLocalCidade = function () {\r\n\r\n };\r\n $scope.pegaIncricaoLocalCurso = function () {\r\n\r\n };\r\n $scope.changeEstado = function () {\r\n\r\n };\r\n self.$onInit = function () {\r\n //localStorage.removeItem(\"_inscricao\");\r\n //localStorage.removeItem(\"inscricaoFK\");\r\n sessionStorage.clear();\r\n\r\n\r\n if (localStorage.getItem(\"ciu\") != null && localStorage.getItem(\"ciu\") != \"undefined\") {\r\n self.NomeCidade = JSON.parse(localStorage.getItem(\"ciu\"));\r\n $scope.buscarCampus(self.NomeCidade);\r\n }\r\n if (PathService.$isHotsite()) {\r\n\r\n Instituicao.dataAsync().then(function (data) {\r\n self.instituicao = data;\r\n self.rendaFamiliar = self.instituicao.SOLICITAR_RENDA;\r\n self.pessoasFamilia = self.instituicao.EXIBIR_CAMPO_PESSOAS_FAMILIA;\r\n self.dataNascimento = self.instituicao.EXIBIR_CAMPO_DT_NASCIMENTO;\r\n self.notaEnem = self.instituicao.EXIBIR_CAMPO_NOTA_ENEM;\r\n Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n self.completaInscricao();\r\n });\r\n\r\n\r\n // //Pegar arquivo local Json, nao chama valores do Back, precisa existir a pasta local\r\n // var slug = $state.params.instituicao;\r\n // $http.get('app/dados/'+slug+'/data.json').then(function(data) {\r\n // self.instituicao = data.data.Dados;\r\n // self.rendaFamiliar = self.instituicao.SOLICITAR_RENDA;\r\n // self.pessoasFamilia = self.instituicao.EXIBIR_CAMPO_PESSOAS_FAMILIA;\r\n // self.dataNascimento = self.instituicao.EXIBIR_CAMPO_DT_NASCIMENTO;\r\n // self.notaEnem = self.instituicao.EXIBIR_CAMPO_NOTA_ENEM;\r\n // Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n // self.completaInscricao();\r\n // //console.log('CARREGANDO ARQUIVOS JSON DA PASTA LOCAL');\r\n // //console.log(data);\r\n //\r\n // }, function() {\r\n // //console.log('Não achou folder local');\r\n // Instituicao.dataAsync().then(function (data) {\r\n // self.instituicao = data;\r\n // self.rendaFamiliar = self.instituicao.SOLICITAR_RENDA;\r\n // self.pessoasFamilia = self.instituicao.EXIBIR_CAMPO_PESSOAS_FAMILIA;\r\n // self.dataNascimento = self.instituicao.EXIBIR_CAMPO_DT_NASCIMENTO;\r\n // self.notaEnem = self.instituicao.EXIBIR_CAMPO_NOTA_ENEM;\r\n // Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n // self.completaInscricao();\r\n // });\r\n // });\r\n\r\n } else {\r\n //Estado.all().then(promiseEstadoSuccess);\r\n }\r\n };\r\n\r\n self.completaInscricao = function () {\r\n\r\n var params = $location.search();\r\n if (params.cc == null || params.cc == undefined) {\r\n return;\r\n }\r\n\r\n\r\n $API.post('/candidato/lead/' + params.candidato, {\r\n email: params.mail,\r\n ID_CAMPUS_CURSO: params.cc,\r\n ID_CAMPUS: params.c,\r\n ID_CANDIDATO: params.ca\r\n }).then(function (r) {\r\n if (r.data.Dados) {\r\n var data = r.data.Dados;\r\n \r\n var campusCurso = data.CAMPUS_CURSO;\r\n\r\n var candidato = {};\r\n var selected = {};\r\n var estados = [];\r\n var cidades = [];\r\n var cursos = [];\r\n var instituicoes = [];\r\n\r\n\r\n candidato.cpf = data.CPF;\r\n candidato.nome = data.NOME;\r\n candidato.email = data.EMAIL;\r\n candidato.celular = data.CELULAR;\r\n candidato.telefone = data.TELEFONE;\r\n candidato.ID_CAMPUS = campusCurso.CAMPUS.ID_CAMPUS;\r\n candidato.ForcarSolicitarDocumentos = data.ForcarSolicitarDocumentos;\r\n candidato.ForcarSolicitarFiador = data.ForcarSolicitarFiador;\r\n\r\n\r\n //data.ESTADO.UF = data.ESTADO.COD_ESTADO;\r\n data.CAMPUS_CURSO.CAMPUS.CAMPUS = data.CAMPUS_CURSO.CAMPUS.NOME_FANTASIA;\r\n data.CAMPUS_CURSO.CURSO.DESCRICAO = '' + campusCurso.CURSO.NOME + ' ' + campusCurso.MODALIDADE.DESCRICAO + ' ' + campusCurso.GRAU.DESCRICAO + ' ' + campusCurso.TIPO_CURSO.DESCRICAO + ' ' + campusCurso.TURNO.NOME + '';\r\n\r\n estados.push(data.ESTADO);\r\n cidades.push(data.CIDADE);\r\n cursos.push(data.CAMPUS_CURSO.CURSO);\r\n instituicoes.push(data.CAMPUS_CURSO.CAMPUS);\r\n\r\n selected.estado = data.ESTADO || {};\r\n selected.cidade = data.CIDADE || {};\r\n selected.curso = data.CAMPUS_CURSO.CURSO || {};\r\n selected.instituicao = data.CAMPUS_CURSO.CAMPUS || {};\r\n\r\n\r\n self.lead = {\r\n ID_CANDIDATO: data.ID_CANDIDATO,\r\n ID_CAMPUS: data.ID_CAMPUS,\r\n CPF: data.CPF,\r\n NOME: data.NOME,\r\n CELULAR: data.CELULAR,\r\n EMAIL: data.EMAIL,\r\n ID_ESTADO: data.ID_ESTADO,\r\n ID_CIDADE: data.ID_CIDADE,\r\n CAMPUS_EXTENSO: data.CAMPUS_EXTENSO,\r\n CURSO_EXTENSO: data.CAMPUS_CURSO.CURSO.NOME,\r\n ID_CAMPUS_CURSO: data.ID_CAMPUS_CURSO,\r\n ORIGEM_CANDIDATO: 'H',\r\n instituicaoSelecionado: data.CAMPUS_CURSO.CAMPUS,\r\n RENDA: data.RENDA,\r\n RENDA_FAMILIAR: data.RENDA_FAMILIAR,\r\n TELEFONE: data.TELEFONE,\r\n NOTA_ENEM: data.NOTA_ENEM,\r\n MATRICULA: data.MATRICULA,\r\n DT_NASCIMENTO: data.STR_DT_NASCIMENTO,\r\n CEP: data.CEP,\r\n estadoCivil: data.FL_ESTADO_CIVIL,\r\n FL_VETERANO: data.FL_VETERANO,\r\n CONJUGE_CPF: data.CONJUGE_CPF,\r\n CONJUGE_NOME: data.CONJUGE_NOME,\r\n RESPONSAVEL_CPF: data.RESPONSAVEL_CPF,\r\n RESPONSAVEL_NOME: data.RESPONSAVEL_NOME,\r\n corresponsaveisFinanceiros: data.RESPONSAVEL_SERASA,\r\n alunoVeterano: data.FL_VETERANO,\r\n membrosFamilia: data.MEMBROS_FAMILIA,\r\n PASSOS: data.PASSOS,\r\n documentosAluno: data.documentosAluno,\r\n documentosConjuge: data.documentosConjuge,\r\n documentosResponsavel: data.documentosResponsavel,\r\n responsaveisFinanceiros: data.corresponsaveisFinanceiros,\r\n documentosFamilia: data.documentosFamilia,\r\n documentosFiador: data.documentosFiador,\r\n status: data.STATUS.FLAG,\r\n listaArquivos: [],\r\n ForcarSolicitarDocumentos: data.ForcarSolicitarDocumentos,\r\n ForcarSolicitarFiador: data.ForcarSolicitarFiador\r\n };\r\n\r\n\r\n angular.forEach(self.documentosAluno, function (e) {\r\n self.lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n });\r\n\r\n angular.forEach(self.documentosConjuge, function (e) {\r\n self.lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n });\r\n\r\n angular.forEach(self.documentosResponsavel, function (e) {\r\n self.lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n });\r\n\r\n angular.forEach(self.documentosFamilia, function (e) {\r\n self.lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n });\r\n\r\n\r\n angular.forEach(self.documentosFiador, function (e) {\r\n self.lead.listaArquivos.push(e.ID_CHECK_LIST_DOC_CAMPUS)\r\n });\r\n\r\n localStorage.removeItem(\"_inscricao\");\r\n //localStorage.setItem(\"_inscricao\", JSON.stringify(self.lead));\r\n var ies = localStorage.getItem(\"lastInstituicao\")\r\n\r\n $state.go('instituicao-inscricao-dados-academicos', {\r\n instituicao: ies,\r\n candidato: self.lead,\r\n selected: selected,\r\n estados: estados || [],\r\n cidades: cidades || [],\r\n instituicoes: instituicoes || [],\r\n cursos: cursos || []\r\n });\r\n\r\n\r\n }\r\n }, function () {\r\n DialogService.error({\r\n message: 'Erro ao verificar E-mail.'\r\n });\r\n });\r\n }\r\n self.getCidades = function (estado) {\r\n if (!estado) {\r\n return false;\r\n }\r\n\r\n // $scope.gravaIncricaoEstadoLocal(estado, inicio);\r\n\r\n HelperService.deleteSelected(self.selected, 'cidade');\r\n HelperService.deleteSelected(self.selected, 'instituicao');\r\n HelperService.deleteSelected(self.selected, 'curso');\r\n HelperService.deleteSelected(self, 'cidades');\r\n HelperService.deleteSelected(self, 'instituicoes');\r\n HelperService.deleteSelected(self, 'listaCursos');\r\n\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n\r\n if (PathService.$isHotsite()) {\r\n Estado.campus.cidades(self.instituicao.ID_CAMPUS, estado.ID_ESTADO).then(promiseCidadeSuccess);\r\n } else {\r\n Estado.cidades(estado.ID_ESTADO).then(promiseCidadeSuccess);\r\n }\r\n };\r\n\r\n self.getInstituicoesCreduc = function ($item) {\r\n if (!$item) {\r\n return false;\r\n }\r\n $scope.gravaIncricaoCidadeLocal($item);\r\n HelperService.deleteSelected(self.selected, 'instituicao');\r\n\r\n if ($item && $item.ID_CIDADE) {\r\n Instituicao.filter.cidade(null, $item.ID_CIDADE, null).then(promiseInstituicoesSuccess);\r\n }\r\n };\r\n\r\n self.getInstituicoes = function ($item, $item2) {\r\n //HelperService.deleteSelected(self.selected, 'instituicao');\r\n //HelperService.deleteSelected(self.selected, 'curso');\r\n //HelperService.deleteSelected(self, 'instituicoes');\r\n //HelperService.deleteSelected(self, 'listaCursos');\r\n // var CPF = null;\r\n\r\n // if (self.lead && self.lead.CPF) {\r\n // CPF = self.lead.CPF.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n // }\r\n\r\n if (!$item) {\r\n return false;\r\n }\r\n\r\n //var json = '{ \"ID_CIDADE\":\"' + $item.ID_CIDADE + '\" , \"Nome\":\"' + $item.NOME_CIDADE + '\" , \"Uf\":\"' + $item2.UF + '\" }';\r\n //$API.post('api/Campus/BuscarPorUfCidadeCampus/?idCampus=' + self.instituicao.ID_CAMPUS, json).then(function (r) {\r\n // self.instituicoes = r.data.ReturnData;\r\n //}, function () {\r\n //});\r\n\r\n\r\n $API.post('/campus/{idCampus}/ufCpf/?idCampus=' + self.instituicao.ID_CAMPUS + '&uf=' + $item2.UF, $item).then(function (r) {\r\n self.instituicoes = r.data.Dados.Result;\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n self.resultadoEmReais = null;\r\n }, function () {\r\n });\r\n //console.log($scope.campi);\r\n $scope.gravaIncricaoCidadeLocal($item);\r\n //Instituicao.filter.cidade(self.instituicao.ID_CAMPUS, $item.ID_CIDADE, CPF).then(promiseInstituicoesSuccess);\r\n //console.log(self.instituicoes);\r\n\r\n };\r\n\r\n self.getCursos = function ($item) {\r\n HelperService.deleteSelected(self.selected, 'curso');\r\n\r\n if (!$item || !$item.hasOwnProperty('ID_CAMPUS')) {\r\n return false;\r\n }\r\n $scope.gravaIncricaoInstituicaoLocal($item);\r\n\r\n if (!PathService.$isHotsite() && $item.hasOwnProperty('SLUG') && $item.SLUG) {\r\n DialogService.alert({\r\n message: 'Você está sendo redirecionado para o hotsite da instituição:
' + $item.CAMPUS + ''\r\n });\r\n\r\n $state.go('instituicao', {\r\n instituicao: $item.SLUG\r\n });\r\n }\r\n\r\n if ($item && $item.hasOwnProperty('ID_CAMPUS') && $item.ID_CAMPUS) {\r\n Instituicao.cursos($item.ID_CAMPUS).then(promiseCursosSuccess);\r\n }\r\n };\r\n\r\n\r\n $scope.getCursos1 = function ($item) {\r\n\r\n DialogService.alert({\r\n message: 'Você está sendo redirecionado para o hotsite da instituição:
' + $item.HotSite + ''\r\n });\r\n\r\n $state.go('instituicao', {\r\n instituicao: $item.HotSite\r\n });\r\n\r\n };\r\n\r\n self.getTituloRenda = function () {\r\n return self.instituicao.TEXTO_CAMPO_RENDA;\r\n };\r\n\r\n self.getDicaRenda = function () {\r\n return self.instituicao.TEXTO_INFORMATIVO_RENDA;\r\n };\r\n self.VAlidaInscricao = function (lead) {\r\n\r\n if (lead.CPF == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o CPF'\r\n });\r\n return false;\r\n }\r\n\r\n if (lead.NOME == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o NOME'\r\n });\r\n return false;\r\n }\r\n if (lead.CELULAR == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o CELULAR'\r\n });\r\n return false;\r\n }\r\n if (lead.EMAIL == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o E-MAIL'\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n self.submit = function () {\r\n var lead = {};\r\n\r\n if (localStorage.getItem(\"inscricaoFK\") != null) {\r\n var fkitem = JSON.parse(localStorage.getItem(\"inscricaoFK\"));\r\n\r\n if (self.lead.CPF == null) {\r\n\r\n self.lead.CPF = fkitem.CPF;\r\n\r\n }\r\n if (self.lead.NOME == null) {\r\n self.lead.NOME = fkitem.NOME;\r\n }\r\n if (self.lead.CELULAR == null) {\r\n self.lead.CELULAR = fkitem.CELULAR;\r\n }\r\n if (self.lead.EMAIL == null) {\r\n self.lead.EMAIL = fkitem.EMAIL;\r\n }\r\n }\r\n if (HelperService.getSelectedValue(self.selected, 'estado', 'ID_ESTADO', null) == null && PathService.$isHotsite()) {\r\n DialogService.error({\r\n message: 'Escolha um Estado'\r\n });\r\n return false;\r\n }\r\n if (HelperService.getSelectedValue(self.selected, 'cidade', 'ID_CIDADE', null) == null && PathService.$isHotsite()) {\r\n DialogService.error({\r\n message: 'Escolha uma Cidade'\r\n });\r\n return false;\r\n }\r\n if (HelperService.getSelectedValue(self.selected, 'instituicao', 'CAMPUS') == null && PathService.$isHotsite()) {\r\n DialogService.error({\r\n message: 'Escolha uma Instituição de Interesse'\r\n });\r\n return false;\r\n }\r\n if (HelperService.getSelectedValue(self.selected, 'curso', 'NOME') == null && PathService.$isHotsite()) {\r\n DialogService.error({\r\n message: 'Escolha um curso'\r\n });\r\n return false;\r\n }\r\n if (self.exibeRegulamento() && !self.regulamentoAceito) {\r\n DialogService.error({\r\n message: 'Marque a opção Confirmo que li e estou de acordo com o regulamento'\r\n });\r\n return false;\r\n\r\n }\r\n\r\n var IdUsuarioTeste = 0;\r\n\r\n var UserTeste = localStorage.getItem('userTeste');\r\n\r\n if (UserTeste != null) {\r\n IdUsuarioTeste = JSON.parse(UserTeste).IdUser;\r\n }\r\n lead = {\r\n CPF: self.lead.CPF != null ? self.lead.CPF : null,\r\n NOME: self.lead.NOME != null ? self.lead.NOME.toUpperCase() : null,\r\n CELULAR: self.lead.CELULAR,\r\n EMAIL: self.lead.EMAIL != null ? self.lead.EMAIL.toUpperCase() : null,\r\n ID_ESTADO: HelperService.getSelectedValue(self.selected, 'estado', 'ID_ESTADO', null),\r\n ID_CIDADE: HelperService.getSelectedValue(self.selected, 'cidade', 'ID_CIDADE', null),\r\n CAMPUS_EXTENSO: HelperService.getSelectedValue(self.selected, 'instituicao', 'CAMPUS') != null ? HelperService.getSelectedValue(self.selected, 'instituicao', 'CAMPUS').toUpperCase() : null,\r\n CURSO_EXTENSO: HelperService.getSelectedValue(self.selected, 'curso', 'NOME') != null ? HelperService.getSelectedValue(self.selected, 'curso', 'NOME').toUpperCase() : null,\r\n ID_CAMPUS_CURSO: HelperService.getSelectedValue(self.selected, 'curso', 'ID_CAMPUS_CURSO', null),\r\n ORIGEM_CANDIDATO: PathService.$isHotsite() ? 'H' : 'S',\r\n UserTeste: IdUsuarioTeste\r\n };\r\n\r\n if (!self.VAlidaInscricao(lead)) {\r\n return false;\r\n }\r\n\r\n if (PathService.$isHotsite()) {\r\n\r\n lead.FL_STATUS = \"LEAD\";\r\n\r\n $API.post('/candidato/add', lead).then(function (r) {\r\n self.lead.ID_CAMPUS = self.selected.curso.ID_CAMPUS;\r\n self.lead.ID_CANDIDATO = r.data.Dados.ID_CANDIDATO;\r\n self.lead.IdLogin = r.data.Dados.IdLogin;\r\n localStorage.removeItem(\"inscricaoFK\");\r\n\r\n if (r.data.Dados.IsCandidatoCampusPeriodo) {\r\n\r\n $uibModal.open({\r\n component: 'creducModalSouCadastrado',\r\n modalInstance: null,\r\n backdrop: 'static',\r\n windowClass: 'my-modal',\r\n resolve: {\r\n message: {\r\n title: r.data.Dados.Alerta,\r\n localCpf: self.lead.CPF\r\n }\r\n }\r\n });\r\n\r\n } else {\r\n $state.go('instituicao-inscricao-dados-academicos', {\r\n instituicao: self.instituicao.SITE,\r\n candidato: self.lead,\r\n selected: self.selected,\r\n estados: self.estados || [],\r\n cidades: self.cidades || [],\r\n instituicoes: self.instituicoes || [],\r\n cursos: self.cursos || []\r\n });\r\n }\r\n\r\n }, function (e) {\r\n\r\n\r\n if (e.data.ExceptionMessage) {\r\n DialogService.error({\r\n message: e.data.ExceptionMessage\r\n });\r\n }\r\n else {\r\n DialogService.error({\r\n message: 'Não foi possível salvar os dados de inscrição. Tente novamente!'\r\n });\r\n }\r\n });\r\n\r\n }\r\n else {\r\n Lead\r\n .inscricao(lead)\r\n .then(promiseInscricaoSuccess, promiseInscricaoFallback);\r\n }\r\n };\r\n\r\n self.exibeRegulamento = function () {\r\n return exibeCampo(\"EXIGIR_ACEITE_REGULAMENTO\");\r\n };\r\n\r\n function exibeCampo(parametro) {\r\n var exibe = false;\r\n if (localStorage.getItem(\"parametros\") != undefined) {\r\n var parametros = JSON.parse(localStorage.getItem(\"parametros\"))\r\n if (parametros != undefined) {\r\n\r\n var existe = $filter('filter')(parametros, { 'SLUG': parametro });\r\n if (parametros && existe.length > 0 && existe[0].VALOR == \"S\") {\r\n\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return exibe;\r\n }\r\n\r\n self.validarEmail = function () {\r\n\r\n\r\n self.submit();\r\n\r\n };\r\n\r\n // BUSCAR INSTITUIÇÕES\r\n self.BuscarInstituicoes = function (instituicao) {\r\n self.isLoading = false;\r\n self.disabled = false;\r\n\r\n if (instituicao.length == '') {\r\n self.isLoading = false;\r\n self.instiuicoes = [];\r\n }\r\n\r\n if (instituicao.length > 2) {\r\n self.isLoading = false;\r\n $API.get('api/cidade/GetFiltro?nome=' + instituicao).then(function (r) {\r\n self.instituicoes = r.data.ReturnData;\r\n }, function () {\r\n });\r\n }\r\n }\r\n\r\n\r\n // BUSCAR CIDADES\r\n self.BuscarCidade = function (nome) {\r\n self.isLoading = false;\r\n\r\n if (nome.length == '') {\r\n self.disabled = true;\r\n self.isLoading = false;\r\n self.cidades = [];\r\n self.instituicoes = [];\r\n }\r\n\r\n if (nome.length > 2) {\r\n self.disabled = false;\r\n self.isLoading = true;\r\n $API.get('api/cidade/GetFiltro?nome=' + nome).then(function (r) {\r\n self.isLoading = false;\r\n self.cidades = r.data.ReturnData;\r\n }, function () {\r\n });\r\n }\r\n };\r\n $scope.$watch($scope.customSelected, function () {\r\n\r\n\r\n }, true);\r\n function promiseEstadoSuccess(result) {\r\n self.estados = result.data.Dados;\r\n $scope.pegaIncricaoLocalEstado();\r\n }\r\n\r\n function promiseCidadeSuccess(result) {\r\n self.cidades = result.data.Dados;\r\n $scope.pegaIncricaoLocalCidade();\r\n }\r\n\r\n function promiseInstituicoesSuccess(result) {\r\n self.instituicoes = result.data.Dados;\r\n $scope.pegaIncricaoLocalInstituicao();\r\n }\r\n\r\n\r\n function distincArray(vet) {\r\n if (vet && vet.length) {\r\n var result = [];\r\n var aux;\r\n for (var i = 0; i < vet.length; i++) {\r\n aux = result.filter(function (p) {\r\n return p === vet[i];\r\n })[0];\r\n\r\n if (!aux) {\r\n result.push(vet[i]);\r\n }\r\n\r\n }\r\n\r\n return result;\r\n }\r\n return [];\r\n }\r\n\r\n function promiseCursosSuccess(result) {\r\n self.cursos = result.data.Dados;\r\n self.listaCursos = [];\r\n\r\n var auxList = self.cursos.map(function (p) {\r\n return p.MODALIDADE;\r\n });\r\n self.listaTipoGraduacao = distincArray(auxList);\r\n\r\n if (!self.selecionadoTipoGraduacao) {\r\n var auxFindGraduacao = self.listaTipoGraduacao.filter(function (p) {\r\n return p === 'Graduação'\r\n });\r\n auxFindGraduacao.length > 0 ? self.selecionadoTipoGraduacao = auxFindGraduacao[0] : self.selecionadoTipoGraduacao = self.listaTipoGraduacao[0];\r\n }\r\n\r\n if (self.listaTipoGraduacao.length > 1) {\r\n angular.forEach(self.cursos, function (e) {\r\n if (e && e.hasOwnProperty('ID_CAMPUS_CURSO') && e.ID_CAMPUS_CURSO && e.MODALIDADE === self.selecionadoTipoGraduacao) {\r\n self.listaCursos.push({\r\n ID_CAMPUS_CURSO: e.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: e.ID_CAMPUS,\r\n DESCRICAO: '' + e.NOME + ' ' + e.GRAU + ' ' + e.TIPO + ' ' + e.TURNO + '',\r\n VALOR: e.VALOR,\r\n NOME: e.NOME\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n angular.forEach(self.cursos, function (e) {\r\n if (e && e.hasOwnProperty('ID_CAMPUS_CURSO') && e.ID_CAMPUS_CURSO && e.MODALIDADE === self.selecionadoTipoGraduacao) {\r\n self.listaCursos.push({\r\n ID_CAMPUS_CURSO: e.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: e.ID_CAMPUS,\r\n DESCRICAO: '' + e.NOME + ' ' + e.MODALIDADE + ' ' + e.GRAU + ' ' + e.TIPO + ' ' + e.TURNO + '',\r\n VALOR: e.VALOR,\r\n NOME: e.NOME\r\n });\r\n }\r\n });\r\n }\r\n\r\n $scope.pegaIncricaoLocalCurso();\r\n }\r\n\r\n function promiseInscricaoSuccess(result) {\r\n if (result.data.CodigoResposta == 1) {\r\n var dialog = DialogService.success({\r\n title: 'Parabéns!',\r\n message: 'Sua inscrição foi realizada com sucesso!'\r\n });\r\n\r\n dialog.result.then(function () {\r\n self.selected = {};\r\n self.lead = {};\r\n });\r\n } else {\r\n DialogService.error({\r\n message: 'Não foi possível efetuar a inscrição. Tente novamente!'\r\n });\r\n }\r\n }\r\n\r\n function promiseInscricaoFallback() {\r\n DialogService.error({\r\n message: 'Não foi possível efetuar a inscrição. Tente novamente!'\r\n });\r\n }\r\n self.selecionarModalidade = function () {\r\n // //console.log(self.modalidade);\r\n }\r\n\r\n self.souCadastrado = function () {\r\n var modalInstance = $uibModal.open({\r\n component: 'creducModalSouCadastrado',\r\n modalInstance: null,\r\n backdrop: 'static',\r\n windowClass: 'my-modal',\r\n resolve: {\r\n message: {\r\n title: \"Já sou cadastrado\",\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(function (response) {\r\n // //console.log('saiu sou cadastrado, resultado = ' + response);\r\n if (response == true) {\r\n self.limparCursoInstituicao();\r\n }\r\n });\r\n };\r\n\r\n\r\n self.limparCursoInstituicao = function () {\r\n // self.selected.instituicao = '';\r\n // self.selected.curso = '';\r\n };\r\n\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('HeaderController', HeaderController);\r\n\r\n /** @ngInject */\r\n function HeaderController($state, $stateParams, PathService, Instituicao) {\r\n var self = this;\r\n self.showScript = false;\r\n var slug = window.location.pathname.split('/')[1];\r\n\r\n self.navbarIsOpened = false;\r\n\r\n self.isHotsite = function () {\r\n return !PathService.$isHotsite();\r\n }; \r\n if (slug == \"arnaldo\") {\r\n self.showScript = true;\r\n }\r\n\r\n self.goHome = function () {\r\n \r\n \r\n if (PathService.$isHotsite()) {\r\n $state.go('instituicao', {\r\n instituicao: Instituicao.data().SITE\r\n });\r\n } else {\r\n $state.go('home');\r\n }\r\n };\r\n\r\n self.update = function (value) {\r\n self.navbarIsOpened = value;\r\n self.onUpdate({ value: self.navbarIsOpened });\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/header/header.html',\r\n controller: 'HeaderController',\r\n bindings: {\r\n onUpdate: '&'\r\n }\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducHeader', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('FooterController', FooterController);\r\n\r\n /** @ngInject */\r\n function FooterController (PathService,$scope) {\r\n var self = this;\r\n\r\n self.date = new Date();\r\n $scope.Escolha = false;\r\n if (localStorage.getItem(\"Escolha\") == null) {\r\n $scope.Escolha = true;\r\n }\r\n\r\n self.showBrand = function () {\r\n return !PathService.$isHotsite();\r\n };\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var component = {\r\n templateUrl: 'app/components/footer/footer.html',\r\n controller: 'FooterController'\r\n };\r\n\r\n angular\r\n .module('creduc.components')\r\n .component('creducFooter', component);\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .service('PathService', PathService);\r\n\r\n /** @ngInject */\r\n function PathService(PATH_SETTINGS, $location, ENV) {\r\n var self = this;\r\n\r\n self.$stateParams = null;\r\n self.$absoluteUrl = $location.$$protocol + '://' + $location.$$host;\r\n\r\n if ($location.$$port && $location.$$port != 80) {\r\n self.$absoluteUrl += ':' + $location.$$port;\r\n }\r\n\r\n var PathService = {\r\n init: _init,\r\n $instituicao: _instituicao,\r\n $isHotsite: _isHotsite,\r\n STATIC_URL: _getStaticPath,\r\n ABSOLUTE_URL: _getAbsoluteUrl,\r\n ASSETS_URL: _getAssetsPath\r\n };\r\n\r\n return PathService;\r\n\r\n function _init($stateParams) {\r\n self.$stateParams = $stateParams;\r\n return PathService;\r\n }\r\n\r\n function _instituicao() {\r\n return self.$stateParams && 'instituicao' in self.$stateParams ? self.$stateParams.instituicao : null\r\n }\r\n\r\n function _isHotsite() {\r\n return 'instituicao' in self.$stateParams && Boolean(self.$stateParams.instituicao);\r\n }\r\n\r\n function _getStaticPath() {\r\n return PATH_SETTINGS[ENV].STATIC_URL;\r\n }\r\n\r\n function _getAbsoluteUrl() {\r\n return self.$absoluteUrl;\r\n }\r\n\r\n function _getAssetsPath() {\r\n return PATH_SETTINGS[ENV].ASSETS_URL;\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('Lead', LeadService);\r\n\r\n /** @ngInject */\r\n function LeadService($API) {\r\n var LeadService = {\r\n inscricao: _inscricao\r\n };\r\n\r\n return LeadService;\r\n\r\n function _inscricao(lead) {\r\n var params = lead;\r\n return $API.post('/candidato/add', params);\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('Instituicao', InstituicaoService);\r\n\r\n /** @ngInject */\r\n function InstituicaoService($API, PathService, $q) {\r\n var self = this\r\n var deferred = $q.defer();\r\n\r\n self.data = {};\r\n\r\n var InstituicaoService = {\r\n cidade: _cidade,\r\n cursos: _cursos,\r\n filter: {\r\n cidade: _filterCidade\r\n },\r\n get: _get,\r\n data: _getData,\r\n dataAsync: _getDataAsync,\r\n parametrosCampusAsync: _getParametrosCampusAsync\r\n };\r\n\r\n return InstituicaoService;\r\n\r\n function _cidade(id) {\r\n return $API.get('/campus/cidade/{id}'.replace('{id}', id));\r\n }\r\n\r\n function _cursos(id) {\r\n return $API.get('/campus/{id}/curso/'.replace('{id}', id));\r\n }\r\n\r\n function _filterCidade(idCampus, idCidade, cpf) {\r\n var url = '/campus/{idCampus}/cidade/{idCidade}/candidato/{cpf}';\r\n\r\n if (cpf == undefined) {\r\n cpf = \"00000000000\";\r\n }\r\n\r\n url = url.replace('{idCampus}', idCampus);\r\n url = url.replace('{cpf}', cpf);\r\n\r\n\r\n url = url.replace('{idCidade}', idCidade);\r\n\r\n return $API.get(url);\r\n }\r\n\r\n function _get(slug) {\r\n return $API\r\n .get('/campus/hotsite/{slug}'.replace('{slug}', slug))\r\n .then(function (result) {\r\n\r\n self.data = result.data.Dados;\r\n sessionStorage.instituicao = angular.toJson(self.data);\r\n\r\n return result;\r\n });\r\n }\r\n\r\n function _getParametrosCampusAsync(idCampus) {\r\n return $API\r\n .get('/campus/{idCampus}/parametros'.replace('{idCampus}', idCampus))\r\n .then(function (result) {\r\n return result.data.Dados;\r\n });\r\n }\r\n\r\n function _getData() {\r\n var data = angular.fromJson(sessionStorage.instituicao);\r\n return data;\r\n }\r\n\r\n function _getDataAsync() {\r\n var data = angular.fromJson(sessionStorage.instituicao);\r\n if (!data) {\r\n _get(PathService.$instituicao()).then(function (result) {\r\n data = result.data.Dados;\r\n deferred.resolve(data)\r\n });\r\n } else {\r\n deferred.resolve(data);\r\n }\r\n return deferred.promise;\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('Hotsite', HotsiteService);\r\n\r\n /** @ngInject */\r\n function HotsiteService($API) {\r\n var HotsiteService = {\r\n parceiros: _parceiros\r\n };\r\n\r\n return HotsiteService;\r\n\r\n function _parceiros() {\r\n return $API.get('/hotsite/parceiros');\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('HelperService', HelperService);\r\n\r\n /** @ngInject */\r\n function HelperService () {\r\n var HelperService = {\r\n deleteSelected: _deleteSelected,\r\n getSelectedValue: _getSelectedValue\r\n };\r\n\r\n return HelperService;\r\n\r\n function _deleteSelected(obj, key) {\r\n if (obj.hasOwnProperty(key) && obj[key] && Object.keys(obj[key]).length) {\r\n delete obj[key];\r\n }\r\n }\r\n\r\n function _getSelectedValue (obj, key, property, defaultValue) {\r\n if (typeof defaultValue === \"undefined\") {\r\n defaultValue = true;\r\n }\r\n\r\n if (obj.hasOwnProperty(key)) {\r\n if (defaultValue) {\r\n return typeof obj[key] == \"string\" ? obj[key] : obj[key][property];\r\n }\r\n return obj[key][property] || null;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('Estado', EstadoService);\r\n\r\n /** @ngInject */\r\n function EstadoService($API) {\r\n var EstadoService = {\r\n all: _all,\r\n cidades: _cities,\r\n campus: {\r\n all: _campusEstados,\r\n cidades: _campusCidades\r\n }\r\n };\r\n\r\n return EstadoService;\r\n\r\n function _all() {\r\n return $API.get('/estado');\r\n }\r\n\r\n function _cities(id) {\r\n return $API.get('/cidades/{id}'.replace('{id}', id));\r\n }\r\n\r\n function _campusEstados(id) {\r\n return $API.get('/campus/{id}/estados'.replace('{id}', id));\r\n }\r\n\r\n function _campusCidades(idCampus, idEstado) {\r\n var url = '/campus/{idCampus}/estado/{idEstado}/cidades';\r\n url = url.replace('{idCampus}', idCampus);\r\n url = url.replace('{idEstado}', idEstado);\r\n return $API.get(url);\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('downloadService', DownloadService);\r\n\r\n /** @ngInject */\r\n function DownloadService () {\r\n var DownloadService = {\r\n download: downloadFile\r\n };\r\n\r\n return DownloadService;\r\n\r\n /**\r\n * @params {object}: response\r\n * @params {response.data}: dados do arquivo\r\n * @params {response.filename}: nome do arquivo\r\n * @params {response.format}: formato do arquivo\r\n * @return {void}\r\n */\r\n function downloadFile(response) {\r\n var filename = response.filename;\r\n\r\n response.contentType = contentType(response.format);\r\n\r\n var byteCharacters = atob(response.data);\r\n var byteNumbers = new Array(byteCharacters.length);\r\n\r\n for (var i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n\r\n var byteArray = new Uint8Array(byteNumbers);\r\n var blob = new Blob([byteArray], { type: response.contentType });\r\n\r\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n window.navigator.msSaveBlob(blob, filename);\r\n } else {\r\n var URL = window.URL || window.webkitURL;\r\n var downloadUrl = URL.createObjectURL(blob);\r\n\r\n if (filename) {\r\n var a = document.createElement(\"a\");\r\n if (typeof a.download === 'undefined') {\r\n window.location = downloadUrl;\r\n } else {\r\n a.href = downloadUrl;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n }\r\n } else {\r\n window.location = downloadUrl;\r\n }\r\n\r\n setTimeout(function () { URL.revokeObjectURL(downloadUrl); }, 100);\r\n }\r\n }\r\n\r\n function contentType(format) {\r\n if (format == 'pdf') {\r\n return 'application/pdf';\r\n }\r\n\r\n if (format == 'xls') {\r\n return 'application/vnd.ms-excel';\r\n }\r\n\r\n if (format == 'docx') {\r\n return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n }\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('DialogService', DialogService);\r\n\r\n /** @ngInject */\r\n function DialogService($uibModal) {\r\n var defaultOptions = {\r\n modalInstance: null,\r\n component: 'creducModalDialogDefault',\r\n resolve: {\r\n message: {\r\n title: \"Aviso!\",\r\n message: \"\"\r\n }\r\n }\r\n };\r\n\r\n var DialogService = {\r\n dialog: _dialog,\r\n success: _success,\r\n error: _error,\r\n alert: _alert,\r\n progress: _progress\r\n };\r\n\r\n return DialogService;\r\n\r\n function _dialog(options) {\r\n options = options || {};\r\n\r\n var dialogInstance = $uibModal.open(angular.extend({}, defaultOptions, options));\r\n\r\n dialogInstance.result.then(function () {\r\n if (typeof defaultOptions.modalInstance === \"object\" && defaultOptions.modalInstance && typeof defaultOptions.modalInstance.close === \"function\") {\r\n defaultOptions.modalInstance.close();\r\n }\r\n });\r\n\r\n return dialogInstance;\r\n }\r\n\r\n function _progress(value, options) {\r\n var defaultOptions = {\r\n title: 'Enviando'\r\n };\r\n\r\n var message = angular.extend({}, defaultOptions, options);\r\n\r\n return _dialog({\r\n component: 'creducModalProgressBar',\r\n size: 'sm',\r\n backdrop: 'static',\r\n resolve: { message: message, percent: function () { return value; } }\r\n }, true);\r\n }\r\n\r\n function _alert(options) {\r\n var defaultOptions = {\r\n title: 'Aviso!',\r\n message: 'Operação concluída com sucesso!',\r\n status: true\r\n };\r\n\r\n var message = angular.extend({}, defaultOptions, options);\r\n\r\n return _dialog({\r\n size: 'sm',\r\n backdrop: 'static',\r\n resolve: { message: message }\r\n }, true);\r\n }\r\n\r\n function _success(options) {\r\n var defaultOptions = {\r\n title: 'Sucesso!',\r\n message: 'Operação concluída com sucesso!',\r\n status: true\r\n };\r\n\r\n var message = angular.extend({}, defaultOptions, options);\r\n\r\n return _dialog({\r\n component: 'creducModalDialog',\r\n size: 'sm',\r\n backdrop: 'static',\r\n resolve: { message: message }\r\n }, true);\r\n }\r\n\r\n function _error(options) {\r\n var defaultOptions = {\r\n title: 'Ops!',\r\n message: 'Ocorreu um erro ao tentar realizar a operação.',\r\n status: false\r\n };\r\n\r\n var message = angular.extend({}, defaultOptions, options);\r\n\r\n return _dialog({\r\n component: 'creducModalDialog',\r\n size: 'sm',\r\n backdrop: 'static',\r\n resolve: { message: message }\r\n }, true);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('CpfService', CpfService);\r\n\r\n /** @ngInject */\r\n function CpfService() {\r\n var CpfService = {\r\n validate: _validate\r\n };\r\n \r\n return CpfService;\r\n\r\n function calcCheck(digits) {\r\n var sum = null;\r\n \r\n if (digits.length == 9) {\r\n for (var j = 0; j < 9; ++j) {\r\n sum += digits.toString().charAt(j) * (10 - j);\r\n }\r\n\r\n var lastSumChecker1 = sum % 11;\r\n \r\n return lastSumChecker1 < 2 ? 0 : 11 - lastSumChecker1;\r\n } else if (digits.length == 10) {\r\n for (var k = 0; k < 10; ++k) {\r\n sum += digits.toString().charAt(k) * (11 - k);\r\n }\r\n\r\n var lastSumChecker2 = sum % 11;\r\n\r\n return lastSumChecker2 < 2 ? 0 : 11 - lastSumChecker2;\r\n } else {\r\n throw '[CPF] Error!';\r\n }\r\n }\r\n\r\n function _validate(cpf) {\r\n if (typeof cpf !== \"string\" && cpf.length !== 11) {\r\n return false;\r\n }\r\n \r\n var cleanCPF = cpf.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n var digits = cleanCPF.substring(0, 9);\r\n var checker = cleanCPF.substring(9, 11);\r\n\r\n //console.log(cleanCPF);\r\n //console.log(digits);\r\n //console.log(checker);\r\n\r\n\r\n if (cleanCPF.length !== 11) {\r\n return false;\r\n }\r\n\r\n for (var i = 0; i < 10; i++) {\r\n if ('' + digits + checker === Array(12).join(i)) {\r\n return false;\r\n }\r\n }\r\n\r\n var checker1 = calcCheck(digits);\r\n var checker2 = calcCheck(digits + '' + checker1);\r\n // //console.log(checker.toString() === checker1.toString() + checker2.toString());\r\n return checker.toString() === checker1.toString() + checker2.toString();\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('ContatoService', ContatoService);\r\n\r\n /** @ngInject */\r\n function ContatoService ($API) {\r\n var ContatoService = {\r\n faleConosco: _faleConosco,\r\n getContactInfos: _getContactInfos,\r\n queroSerParceiro: _queroSerParceiro\r\n };\r\n\r\n return ContatoService;\r\n\r\n function _faleConosco (dados) {\r\n var params = dados;\r\n return $API.post('/contato/fale-conosco', params);\r\n }\r\n\r\n function _queroSerParceiro (dados) {\r\n var params = dados;\r\n return $API.post('/contato/quero-ser-parceiro', params);\r\n }\r\n function _getContactInfos (slug) {\r\n return $API.get('/site/'+slug+'/contato/fale-conosco/' , \"\");\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.services')\r\n .factory('$API', ApiService);\r\n\r\n /** @ngInject */\r\n function ApiService($http, API_SETTINGS, ENV, Upload) {\r\n var ApiService = {\r\n get: _get,\r\n post: _post,\r\n upload: _upload,\r\n postUpload: _postUpload,\r\n parseUrl: _parseUrl\r\n };\r\n\r\n return ApiService;\r\n\r\n function _get(url, data, headers) {\r\n var config = getHeaders(headers);\r\n if (data) {\r\n config.data = data;\r\n }\r\n // //console.log('fdfd')\r\n \r\n return $http.get(getAbsoluteUrl(url), config);\r\n }\r\n\r\n function _post(url, data, headers) {\r\n return $http.post(getAbsoluteUrl(url), data, getHeaders(headers));\r\n }\r\n\r\n function _upload(url, data, absoluteUrl) {\r\n absoluteUrl = typeof absoluteUrl === \"undefined\" ? true : absoluteUrl;\r\n url = absoluteUrl ? getAbsoluteUrl(url) : url;\r\n\r\n return Upload.upload({\r\n url: url,\r\n data: data || null\r\n });\r\n }\r\n\r\n function _postUpload(url, data, absoluteUrl) {\r\n absoluteUrl = typeof absoluteUrl === \"undefined\" ? true : absoluteUrl;\r\n url = absoluteUrl ? getAbsoluteUrl(url) : url;\r\n\r\n return Upload.upload({\r\n url: url,\r\n data: {\r\n file: data,\r\n data: Upload.json(data)\r\n }\r\n });\r\n }\r\n\r\n function _parseUrl(url) {\r\n // TODO\r\n return url;\r\n }\r\n\r\n function getAbsoluteUrl(url) {\r\n \r\n if (url.substring(0, 3) == \"api\") {\r\n return API_SETTINGS[ENV].BASE_API_CREDUC + url;\r\n } else if (url.substring(0, 4) == \"http\") {\r\n return url;\r\n } else {\r\n return API_SETTINGS[ENV].BASE_URL + url;\r\n }\r\n }\r\n\r\n function getHeaders(headers) {\r\n return headers || {\r\n headers: { 'Content-Type': 'application/json' },\r\n cache: false\r\n };\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.directives')\r\n .directive('validatePhone', ValidatePhoneDirective);\r\n\r\n /** @ngInject */\r\n function ValidatePhoneDirective($filter) {\r\n var ValidatePhoneDirective = {\r\n restrict: \"A\",\r\n require: 'ngModel',\r\n link: function ($scope, $elem, $attrs, $ctrl) {\r\n\r\n $elem.on('keyup', function () {\r\n var value = ($elem[0].value || \"\").toString().replace(/[^\\d]/g, '');\r\n $elem.val($filter('phone')(value));\r\n });\r\n\r\n $elem.on('blur', function () {\r\n var value = $elem[0].value.toString().replace(/[^\\d]/g, '');\r\n $elem.val($filter('phone')(value));\r\n });\r\n\r\n $ctrl.$validators.phone = function _validatePhone(modelValue, viewValue) {\r\n var modelLength = viewValue && viewValue.toString().replace(/[^\\d]/g, '').length;\r\n\r\n if (modelLength < 10 || modelLength > 11) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n $ctrl.$formatters.unshift(function () {\r\n return $filter('phone')($ctrl.$modelValue);\r\n });\r\n\r\n $ctrl.$parsers.unshift(function (viewValue) {\r\n var plainValue = viewValue && viewValue.replace(/[^\\d]/g, '').slice(0, 11);\r\n return plainValue;\r\n });\r\n }\r\n };\r\n\r\n return ValidatePhoneDirective;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.directives')\r\n .directive('validateDdd', ValidateDDDDirective);\r\n\r\n /** @ngInject */\r\n function ValidateDDDDirective() {\r\n var ValidateDDDDirective = {\r\n require: 'ngModel',\r\n link: function (scope, e, attrs, ctrl){\r\n ctrl.$validators.ddd = _validateDDD;\r\n\r\n function _validateDDD (modelValue) {\r\n modelValue = modelValue || \"\";\r\n\r\n if (modelValue.length < 10) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n return ValidateDDDDirective;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.directives')\r\n .directive('validateCpf', ValidateCpfDirective);\r\n\r\n /** @ngInject */\r\n function ValidateCpfDirective(CpfService, $filter) {\r\n var ValidateCpfDirective = {\r\n restrict: \"A\",\r\n require: 'ngModel',\r\n link: function ($scope, $elem, $attrs, $ctrl) {\r\n \r\n \r\n \r\n\r\n $elem.on('keyup', function () {\r\n var value = ($elem[0].value || \"\").toString().replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n $elem.val($filter('cpf')(value));\r\n });\r\n\r\n $elem.on('blur', function () {\r\n \r\n var value = $elem[0].value.toString().replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n $elem.val($filter('cpf')(value));\r\n });\r\n\r\n $ctrl.$validators.cpf = function _validateCpf(modelValue, viewValue) {\r\n \r\n var modelLength = viewValue && viewValue.toString().replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\").length;\r\n \r\n if (modelLength != 11) {\r\n return false;\r\n }\r\n \r\n return CpfService.validate(modelValue);\r\n };\r\n\r\n $ctrl.$formatters.unshift(function () {\r\n \r\n return $filter('cpf')($ctrl.$modelValue);\r\n });\r\n\r\n $ctrl.$parsers.unshift(function (viewValue) {\r\n var plainValue = viewValue && viewValue.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\").slice(0, 11);\r\n return plainValue;\r\n });\r\n\r\n $scope.$watch($attrs['ngModel'], function (newValue, oldValue) {\r\n newValue = newValue || \"\";\r\n\r\n var value = newValue && newValue.toString().replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n if (value.length >= 11) {\r\n newValue = oldValue;\r\n }\r\n return newValue;\r\n });\r\n }\r\n };\r\n\r\n return ValidateCpfDirective;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.directives')\r\n .directive('validateBirth', ValidateBirthDirective);\r\n\r\n /** @ngInject */\r\n function ValidateBirthDirective(DialogService) {\r\n var ValidateBirthDirective = {\r\n require: 'ngModel',\r\n link: function (scope, e, attrs, ctrl) {\r\n ctrl.$validators.validateBirth = _validateBirth;\r\n\r\n function _validateBirth(modelValue, viewValue) {\r\n if (viewValue && viewValue.toString().length != 10) {\r\n return false;\r\n }\r\n\r\n if (modelValue && attrs.hasOwnProperty('ageMin') && getIdade(modelValue) < attrs.ageMin) {\r\n DialogService.alert({\r\n message: 'A idade do candidato não pode ser menor que ' + attrs.ageMin + ' anos de idade.'\r\n });\r\n return false;\r\n }\r\n\r\n if (modelValue && attrs.hasOwnProperty('ageMax') && getIdade(modelValue) > attrs.ageMax) {\r\n DialogService.alert({\r\n message: 'A idade do candidato não pode ser maior que ' + attrs.ageMax + ' anos de idade.'\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n return ValidateBirthDirective;\r\n }\r\n\r\n function getIdade(dtNascimento) {\r\n var birth = new Date(dtNascimento) || null;\r\n\r\n if (!birth) {\r\n return 0\r\n }\r\n\r\n var d = new Date(),\r\n currentMonth = d.getMonth() + 1,\r\n currentDay = d.getDate(),\r\n\r\n birthMonth = birth.getMonth() + 1,\r\n birthDay = birth.getDate(),\r\n\r\n age = d.getFullYear() - birth.getFullYear();\r\n\r\n if (currentMonth < birthMonth || (currentMonth == birthMonth && currentDay < birthDay)) {\r\n age--;\r\n }\r\n\r\n return age < 0 ? 0 : age;\r\n }\r\n\r\n})();\r\n\n//(function () {\r\n\r\n// 'use strict';\r\n\r\n// angular\r\n// .module('creduc.directives')\r\n// .directive('numberOnly', function () {\r\n// return {\r\n// restrict: 'A',\r\n// require: 'ngModel',\r\n// link: function (scope, element, attrs, ngModel) {\r\n// var negativo = '/\\-/'.test(attrs.numberOnly);\r\n// var decimal = /\\.|\\,/.test(attrs.numberOnly) ? /\\.|\\,/.exec(attrs.numberOnly)[0] : null;\r\n\r\n// var regExp = '^';\r\n// regExp += negativo ? '[\\\\-]{0,1}' : '';\r\n// regExp += '[\\\\d]+';\r\n// if (decimal != null) {\r\n// regExp += '[\\\\' + decimal + '][\\\\d]+|';\r\n// if (negativo) {\r\n// regExp += '[\\\\-]{0,1}'\r\n// }\r\n// regExp += '[\\\\d]+'\r\n// }\r\n// regExp += '';\r\n// regExp = new RegExp(regExp);\r\n\r\n// ngModel.$parsers.unshift(function (input) {\r\n// if (input === undefined) return null;\r\n// if (input === null) return;\r\n\r\n// input = input.toString().replace(/\\./, decimal);\r\n// if (input == '-') return input;\r\n// if (decimal !== null && input.charAt(input.length - 1) == decimal) return input;\r\n\r\n// input = regExp.test(input) ? regExp.exec(input)[0] : null;\r\n\r\n// var viewVal = null;\r\n\r\n// if (input !== null) {\r\n// input = decimal != null ? parseFloat(input.replace(/\\,/, '.')) : parseInt(input);\r\n// }\r\n\r\n// viewVal = isNaN(input) || input === null ? '' : input;\r\n\r\n// ngModel.$setViewValue(decimal != null ? viewVal.toString().replace(/\\./, decimal) : viewVal.toString());\r\n// ngModel.$render();\r\n\r\n// return isNaN(input) ? null : input;\r\n// });\r\n\r\n// ngModel.$formatters.unshift(function (value) {\r\n// if (value !== undefined && value !== null) {\r\n// return decimal != null ? value.toString().replace(/\\./, decimal) : value.toString();\r\n// }\r\n// });\r\n// }\r\n// }\r\n// });\r\n\r\n//})();\r\n\n(function () {\r\n\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.directives')\r\n .directive('checkCpf', checkCpf);\r\n\r\n\r\n /** @ngInject */\r\n function checkCpf($q, $API, $location, Instituicao, DialogService, $uibModal) {\r\n var dialogoSouCadastrado = null;\r\n return {\r\n require: 'ngModel',\r\n link: function (scope, e, attrs, ctrl) {\r\n ctrl.$asyncValidators.checkCpf = _checkCpf;\r\n\r\n function _checkCpf(modelValue) {\r\n if (modelValue.length != 11) {\r\n return $q.reject();\r\n }\r\n var params = $location.search();\r\n var def = $q.defer();\r\n if (params.cc == null || params.cc == undefined) {\r\n\r\n var url = '/instituicao/{idCampus}/candidato/{cpf}/pendencias';\r\n url = url.replace('{idCampus}', Instituicao.data().ID_CAMPUS);\r\n url = url.replace('{cpf}', modelValue);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados.length == 0) {\r\n def.resolve();\r\n } else {\r\n if (!dialogoSouCadastrado) {\r\n dialogoSouCadastrado = $uibModal.open({\r\n component: 'creducModalSouCadastrado',\r\n backdrop: 'static',\r\n windowClass: 'my-modal',\r\n resolve: {\r\n message: {\r\n localCpf: modelValue,\r\n listDados: result.data.Dados,\r\n title: \"Já sou cadastrado\",\r\n }\r\n }\r\n });\r\n }\r\n dialogoSouCadastrado.result.then(function(response){\r\n dialogoSouCadastrado = null;\r\n if(response == true ){\r\n def.resolve();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n return def.promise;\r\n }\r\n }\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('static_url', UrlFilter);\r\n\r\n /** @ngInject */\r\n function UrlFilter(PathService) {\r\n function Url(endpoint) {\r\n var url = PathService.STATIC_URL();\r\n\r\n url += '/' + endpoint;\r\n\r\n return url;\r\n }\r\n\r\n return Url;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('assets_url', UrlFilter);\r\n\r\n /** @ngInject */\r\n function UrlFilter(PathService) {\r\n function Url(endpoint) {\r\n var url = PathService.ASSETS_URL();\r\n\r\n url += '/' + endpoint;\r\n\r\n return url;\r\n }\r\n\r\n return Url;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n String.prototype.startWith = function (str) {\r\n return this.indexOf(str) == 0;\r\n };\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('absolute_url', UrlFilter);\r\n\r\n /** @ngInject */\r\n function UrlFilter(PathService) {\r\n function Url(endpoint) {\r\n var url = PathService.ABSOLUTE_URL();\r\n\r\n if (PathService.$isHotsite()) {\r\n url += '/' + PathService.$instituicao();\r\n }\r\n\r\n if (!endpoint.startWith('#')) {\r\n url += '/'\r\n }\r\n\r\n url += endpoint;\r\n\r\n return url;\r\n }\r\n\r\n\r\n return Url;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('phone', PhoneFilter);\r\n\r\n /** @ngInject */\r\n function PhoneFilter() {\r\n function Phone(value) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n var n = (value || \"\").toString().replace(/[^\\d]/g, '').slice(0,11);\r\n var nLength = n && n.toString().length;\r\n\r\n if (nLength < 2) {\r\n n = n.replace(/^(\\d{1,2})$/, '$1');\r\n } else if (nLength == 2) {\r\n n = n.replace(/^(\\d{1,2})$/, '($1)');\r\n } else if (nLength > 2 && nLength <= 6) {\r\n n = n.replace(/^(\\d{2})(\\d{1,4})$/, '($1) $2');\r\n } else if (nLength > 6 && nLength <= 10) {\r\n n = n.replace(/^(\\d{2})(\\d{4})(\\d{1,4})$/, '($1) $2-$3');\r\n } else {\r\n n = n.replace(/^(\\d{2})(\\d{5})(\\d{1,4})$/, '($1) $2-$3');\r\n }\r\n\r\n return n;\r\n }\r\n\r\n return Phone;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('olength', OlengthFilter);\r\n\r\n /** @ngInject */\r\n function OlengthFilter() {\r\n function Olength(value) {\r\n if (typeof value === \"object\") {\r\n return Object.keys(value).length;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n return Olength;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.filters')\r\n .filter('cpf', CpfFilter);\r\n\r\n /** @ngInject */\r\n function CpfFilter() {\r\n function Cpf(value) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n var cpf = (value || \"\").toString().replace(/[^\\d]/g, '').slice(0,11);\r\n var cpfLength = cpf && cpf.toString().length;\r\n\r\n if (cpf && cpfLength > 3 && cpfLength <= 6) {\r\n cpf = cpf.replace(/^(\\d{3})(\\d{1,3})$/, \"$1.$2\");\r\n } else if (cpf && cpfLength > 6 && cpfLength <= 9) {\r\n cpf = cpf.replace(/^(\\d{3})(\\d{3})(\\d{1,3})$/, \"$1.$2.$3\");\r\n } else if (cpf && cpfLength > 9 && cpfLength <= 11) {\r\n cpf = cpf.replace(/^(\\d{3})(\\d{3})(\\d{3})(\\d{1,2})$/, \"$1.$2.$3-$4\");\r\n } else {\r\n cpf = cpf.replace(/^(\\d{3})(\\d{3})(\\d{3})(\\d{1,2})$/, \"$1.$2.$3-$4\");\r\n }\r\n\r\n return cpf;\r\n }\r\n\r\n return Cpf;\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('SimuladorController', SimuladorController);\r\n\r\n /** @ngInject */\r\n function SimuladorController($stateParams, $state, $filter, $API, Instituicao, HelperService, DialogService, $scope, PathService, Estado) {\r\n var self = this;\r\n self.dataParcelas = null;\r\n self.$onInit = function () {\r\n\r\n self.modalidade = \"G\";\r\n self.mostrarMensagemErro = false;\r\n self.rangeMin = 0;\r\n self.valorMensalidadeDesejada = null;\r\n self.valorMensalidadeDepois = null;\r\n self.porcentagemParcela = null;\r\n self.valorMensalidade = null;\r\n self.qtdeSemestresParcelamento = 8;\r\n self.semestreInicio = \"1\";\r\n self.qtdeMesesPosGraduacao = 24;\r\n self.listaTipoModalidade = [];\r\n self.percMaximo = null;\r\n self.travarSimulador = 'N';\r\n self.valorMinimoPorcentagem = null;\r\n self.arrayParcelasDurante = [];\r\n self.arrayParcelasDepois = [];\r\n self.listaSemestres = [];\r\n\r\n self.IdCampusSelecionado = null;\r\n self.instituicao = {};\r\n self.instituicoes = [];\r\n self.estados = [];\r\n self.cidades = [];\r\n self.selected = {};\r\n self.selected1 = {};\r\n self.cursos = [];\r\n self.listaCursos = [];\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n self.$isHotsite = PathService.$isHotsite;\r\n self.selecionadoTipoGraduacao = '';\r\n\r\n self.listValorPagar = [];\r\n self.isSolicitaCurso = 'N';\r\n self.resultadoEmReais = null;\r\n self.teste = null;\r\n\r\n\r\n Instituicao.dataAsync().then(function (data) {\r\n self.instituicao = data;\r\n Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n });\r\n\r\n //Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n\r\n\r\n //Carrega os tipos de modalidade da instituicao (Graduação e Pos-Graduação)\r\n var hotsite = $stateParams.instituicao;\r\n // //console.log(self.instituicao.ID_CAMPUS)\r\n $API.get('api/campus/BuscarModalidade?hotsite=' + hotsite).then(function (r) {\r\n self.listaTipoModalidade = r.data.ReturnData;\r\n var auxModalidade = self.listaTipoModalidade.find(function (p) { return p.FlModalidade == 'G' });\r\n self.modalidade = auxModalidade ? 'G' : 'P';\r\n self.selecionarModalidade();\r\n // //console.log(r.data.ReturnData);\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n self.getInstituicoesCreduc = function ($item) {\r\n if (!$item) {\r\n return false;\r\n }\r\n $scope.gravaIncricaoCidadeLocal($item);\r\n HelperService.deleteSelected(self.selected, 'instituicao');\r\n\r\n if ($item && $item.ID_CIDADE) {\r\n Instituicao.filter.cidade(null, $item.ID_CIDADE, null).then(promiseInstituicoesSuccess);\r\n }\r\n };\r\n\r\n\r\n $scope.gravaSelectedCurso = function (curso) {\r\n self.valorMensalidade = curso.VALOR;\r\n self.porcentagemParcela = null;\r\n self.valorMensalidadeDesejada = null;\r\n self.resultadoEmReais = null;\r\n // //console.log('selecionou curso');\r\n }\r\n\r\n self.getInstituicoes = function ($item, $item2) {\r\n console.log('here 2');\r\n //HelperService.deleteSelected(self.selected, 'instituicao');\r\n //HelperService.deleteSelected(self.selected, 'curso');\r\n //HelperService.deleteSelected(self, 'instituicoes');\r\n //HelperService.deleteSelected(self, 'listaCursos');\r\n // var CPF = null;\r\n\r\n // if (self.lead && self.lead.CPF) {\r\n // CPF = self.lead.CPF.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n // }\r\n\r\n if (!$item) {\r\n return false;\r\n }\r\n\r\n //var json = '{ \"ID_CIDADE\":\"' + $item.ID_CIDADE + '\" , \"Nome\":\"' + $item.NOME_CIDADE + '\" , \"Uf\":\"' + $item2.UF + '\" }';\r\n //$API.post('api/Campus/BuscarPorUfCidadeCampus/?idCampus=' + self.instituicao.ID_CAMPUS, json).then(function (r) {\r\n // self.instituicoes = r.data.ReturnData;\r\n //}, function () {\r\n //});\r\n\r\n\r\n $API.post('/campus/{idCampus}/ufCpf/?idCampus=' + self.instituicao.ID_CAMPUS + '&uf=' + $item2.UF, $item).then(function (r) {\r\n self.instituicoes = r.data.Dados.Result;\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n }, function () {\r\n });\r\n //console.log($scope.campi);\r\n //$scope.gravaIncricaoCidadeLocal($item);\r\n //Instituicao.filter.cidade(self.instituicao.ID_CAMPUS, $item.ID_CIDADE, CPF).then(promiseInstituicoesSuccess);\r\n //console.log(self.instituicoes);\r\n\r\n };\r\n\r\n self.getCursos = function ($item) {\r\n HelperService.deleteSelected(self.selected, 'curso');\r\n\r\n self.selecionarModalidade();\r\n\r\n if (!$item || !$item.hasOwnProperty('ID_CAMPUS')) {\r\n return false;\r\n }\r\n //$scope.gravaIncricaoInstituicaoLocal($item);\r\n\r\n if (!PathService.$isHotsite() && $item.hasOwnProperty('SLUG') && $item.SLUG) {\r\n DialogService.alert({\r\n message: 'Você está sendo redirecionado para o hotsite da instituição:
' + $item.CAMPUS + ''\r\n });\r\n\r\n $state.go('instituicao', {\r\n instituicao: $item.SLUG\r\n });\r\n }\r\n\r\n if ($item && $item.hasOwnProperty('ID_CAMPUS') && $item.ID_CAMPUS) {\r\n Instituicao.cursos($item.ID_CAMPUS).then(promiseCursosSuccess);\r\n }\r\n self.IdCampusSelecionado = $item.ID_CAMPUS;\r\n };\r\n\r\n function promiseEstadoSuccess(result) {\r\n self.estados = result.data.Dados;\r\n //$scope.pegaIncricaoLocalEstado();\r\n }\r\n function promiseCidadeSuccess(result) {\r\n self.cidades = result.data.Dados;\r\n //$scope.pegaIncricaoLocalCidade();\r\n }\r\n function promiseInstituicoesSuccess(result) {\r\n self.instituicoes = result.data.Dados;\r\n $scope.pegaIncricaoLocalInstituicao();\r\n }\r\n function promiseCursosSuccess(result) {\r\n self.cursos = result.data.Dados;\r\n self.listaCursos = [];\r\n\r\n var auxList = self.cursos.map(function (p) {\r\n return p.MODALIDADE;\r\n });\r\n self.listaTipoGraduacao = distincArray(auxList);\r\n\r\n if (!self.selecionadoTipoGraduacao) {\r\n var auxFindGraduacao = self.listaTipoGraduacao.filter(function (p) {\r\n return p === 'Graduação'\r\n });\r\n auxFindGraduacao.length > 0 ? self.selecionadoTipoGraduacao = auxFindGraduacao[0] : self.selecionadoTipoGraduacao = self.listaTipoGraduacao[0];\r\n }\r\n\r\n if (self.listaTipoGraduacao.length > 1) {\r\n angular.forEach(self.cursos, function (e) {\r\n if (e && e.hasOwnProperty('ID_CAMPUS_CURSO') && e.ID_CAMPUS_CURSO && e.MODALIDADE === self.selecionadoTipoGraduacao) {\r\n self.listaCursos.push({\r\n ID_CAMPUS_CURSO: e.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: e.ID_CAMPUS,\r\n DESCRICAO: '' + e.NOME + ' ' + e.GRAU + ' ' + e.TIPO + ' ' + e.TURNO + '',\r\n VALOR: e.VALOR,\r\n NOME: e.NOME\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n angular.forEach(self.cursos, function (e) {\r\n if (e && e.hasOwnProperty('ID_CAMPUS_CURSO') && e.ID_CAMPUS_CURSO && e.MODALIDADE === self.selecionadoTipoGraduacao) {\r\n self.listaCursos.push({\r\n ID_CAMPUS_CURSO: e.ID_CAMPUS_CURSO,\r\n ID_CAMPUS: e.ID_CAMPUS,\r\n DESCRICAO: '' + e.NOME + ' ' + e.MODALIDADE + ' ' + e.GRAU + ' ' + e.TIPO + ' ' + e.TURNO + '',\r\n VALOR: e.VALOR,\r\n NOME: e.NOME\r\n });\r\n }\r\n });\r\n }\r\n\r\n //$scope.pegaIncricaoLocalCurso();\r\n\r\n\r\n var hotsite = $stateParams.instituicao;\r\n $API.get('api/campus/BuscarModalidade?hotsite=' + hotsite + '&idCampus=' + self.IdCampusSelecionado).then(function (r) {\r\n self.listaTipoModalidade = r.data.ReturnData;\r\n var auxModalidade = self.listaTipoModalidade.find(function (p) { return p.FlModalidade == 'G' });\r\n self.modalidade = auxModalidade ? 'G' : 'P';\r\n self.selecionarModalidade();\r\n // //console.log(r.data.ReturnData);\r\n }, function () {\r\n });\r\n }\r\n\r\n\r\n\r\n function distincArray(vet) {\r\n if (vet && vet.length) {\r\n var result = [];\r\n var aux;\r\n for (var i = 0; i < vet.length; i++) {\r\n aux = result.find(function (p) {\r\n return p === vet[i];\r\n });\r\n if (!aux) {\r\n result.push(vet[i]);\r\n }\r\n }\r\n return result;\r\n }\r\n return [];\r\n }\r\n\r\n self.getCidades = function (estado) {\r\n if (!estado) {\r\n return false;\r\n }\r\n\r\n // $scope.gravaIncricaoEstadoLocal(estado, inicio);\r\n\r\n HelperService.deleteSelected(self.selected, 'cidade');\r\n HelperService.deleteSelected(self.selected, 'instituicao');\r\n HelperService.deleteSelected(self.selected, 'curso');\r\n HelperService.deleteSelected(self, 'cidades');\r\n HelperService.deleteSelected(self, 'instituicoes');\r\n HelperService.deleteSelected(self, 'listaCursos');\r\n\r\n self.listaTipoGraduacao = ['Graduação'];\r\n self.selecionadoTipoGraduacao = '';\r\n\r\n if (PathService.$isHotsite()) {\r\n Estado.campus.cidades(self.instituicao.ID_CAMPUS, estado.ID_ESTADO).then(promiseCidadeSuccess);\r\n } else {\r\n Estado.cidades(estado.ID_ESTADO).then(promiseCidadeSuccess);\r\n }\r\n\r\n };\r\n\r\n self.containsGraducaoPos = function (str) {\r\n if (self.listaTipoModalidade) {\r\n var result = self.listaTipoModalidade.find(function (p) { return p.FlModalidade == str }) ? true : false;\r\n return result;\r\n }\r\n }\r\n\r\n self.selecionarModalidade = function () {\r\n\r\n self.valorMensalidadeDesejada = null;\r\n self.valorMensalidade = null;\r\n self.porcentagemParcela = null;\r\n self.valorMinimoPorcentagem = null;\r\n self.resultadoEmReais = null;\r\n\r\n //Essa parte verifica qual modo esta sendo selecionado do back!!\r\n if (self.listaTipoModalidade && self.listaTipoModalidade.length > 0) {\r\n self.isSolicitaCurso = self.listaTipoModalidade.find(function (p) { return p.SolicitarCurso === 'S' }) ? 'S' : 'N';\r\n }\r\n\r\n if (self.selecionadoTipoGraduacao && self.isSolicitaCurso == 'S') {\r\n // //console.log(self.selecionadoTipoGraduacao);\r\n // //console.log(self.modalidade);\r\n self.modalidade = self.selecionadoTipoGraduacao === 'Pós-Graduação' ? 'P' : 'G';\r\n }\r\n\r\n if (self.modalidade == 'G') {\r\n var auxModalidade = self.listaTipoModalidade.find(function (p) { return p.FlModalidade == 'G' });\r\n self.listValorPagar = auxModalidade.ListPecentual ? auxModalidade.ListPecentual : [];\r\n // //console.log(self.listValorPagar);\r\n if (auxModalidade && auxModalidade.TravarSimulador && auxModalidade.PercMaximo && auxModalidade.TravarSimulador == 'S') {\r\n self.travarSimulador = auxModalidade.TravarSimulador;\r\n self.percMaximo = auxModalidade.PercMaximo;\r\n }\r\n else {\r\n self.travarSimulador = 'N';\r\n self.percMaximo = null;\r\n }\r\n }\r\n\r\n if (self.modalidade == 'P') {\r\n var auxModalidade2 = self.listaTipoModalidade.find(function (p) { return p.FlModalidade == 'P' });\r\n self.listValorPagar = auxModalidade2.ListPecentual ? auxModalidade2.ListPecentual : [];\r\n // //console.log(self.listValorPagar);\r\n if (auxModalidade2 && auxModalidade2.TravarSimulador && auxModalidade2.PercMaximo && auxModalidade2.TravarSimulador == 'S') {\r\n self.travarSimulador = auxModalidade2.TravarSimulador;\r\n self.percMaximo = auxModalidade2.PercMaximo;\r\n }\r\n else {\r\n self.travarSimulador = 'N';\r\n self.percMaximo = null;\r\n }\r\n }\r\n\r\n }\r\n\r\n // CALCULAR A PORCENTAGEM DO PARCELAMENTO\r\n self.calcularPorcentagem = function () {\r\n self.valorMensalidadeDepois = self.valorMensalidade - self.valorMensalidadeDesejada;\r\n\r\n self.mostrarMensagemErro = false;\r\n\r\n var porcentagemParcelaAux = ((self.valorMensalidadeDesejada * 100) / self.valorMensalidade).toFixed(2);\r\n self.porcentagemParcela = (100 - porcentagemParcelaAux).toFixed(2);\r\n\r\n self.mostrarMensagemErro = false;\r\n\r\n if (self.porcentagemParcela < 0) {\r\n self.porcentagemParcela = 0;\r\n self.mostrarMensagemErro = true;\r\n }\r\n\r\n\r\n //Verifica se tem restricao e tem valor especificado de restricao e valor desejado não bater,\r\n if (self.percMaximo && self.valorMensalidadeDesejada && self.porcentagemParcela > self.percMaximo) {\r\n self.valorMinimoPorcentagem = self.valorMensalidade * (100 - self.percMaximo) / 100;\r\n }\r\n else {\r\n self.valorMinimoPorcentagem = null;\r\n\r\n if (self.valorMensalidade == '' || self.valorMensalidadeDesejada == '' || self.valorMensalidadeDesejada == null) {\r\n self.porcentagemParcela = 0;\r\n }\r\n\r\n if (self.porcentagemParcela != 0 && self.modalidade == \"G\") {\r\n self.replicarSemestres();\r\n }\r\n\r\n if (self.porcentagemParcela != 0 && self.modalidade == \"P\") {\r\n self.replicarMeses();\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n self.atualizaResultadoPagamentoMes = function () {\r\n if (!self.porcentagemParcela) {\r\n self.valorMensalidadeDesejada = null;\r\n self.resultadoEmReais = null;\r\n self.porcentagemParcela = 0;\r\n return;\r\n }\r\n self.valorMensalidadeDesejada = (100 - self.porcentagemParcela) / 100 * self.valorMensalidade;\r\n self.atualizaValorDesejadoEmRelacaoPorcentagem();\r\n }\r\n\r\n self.atualizaValorDesejadoEmRelacaoPorcentagem = function () {\r\n self.resultadoEmReais = self.porcentagemParcela / 100 * self.valorMensalidade;\r\n if (self.porcentagemParcela != 0 && self.modalidade == \"G\") {\r\n self.replicarSemestres();\r\n }\r\n\r\n if (self.porcentagemParcela != 0 && self.modalidade == \"P\") {\r\n self.replicarMeses();\r\n }\r\n\r\n self.valorMensalidadeDepois = self.valorMensalidade - self.valorMensalidadeDesejada;\r\n // self.calcularPorcentagem();\r\n }\r\n\r\n\r\n\r\n // REPLICAR MESES PÓS GRADUAÇÃO\r\n self.replicarMeses = function () {\r\n\r\n self.modalidade = 'P';\r\n\r\n var qtdeMeses = self.qtdeMesesPosGraduacao * 2;\r\n\r\n $API.get('/hotsite/GetDatas/?semestreInicio=' + self.semestreInicio + '&parcelas=' + qtdeMeses + '&valorMensalidade=' + self.valorMensalidade + '&valorPago=' + self.valorMensalidadeDesejada).then(function (r) {\r\n self.dataParcelas = r.data;\r\n\r\n self.modalidade = 'P';\r\n\r\n self.valorTotalDurante = self.valorMensalidadeDesejada * self.dataParcelas.Durante.length;\r\n self.valorTotalDepois = (self.valorMensalidade - self.valorMensalidadeDesejada) * self.dataParcelas.Durante.length\r\n\r\n self.valorTotal = self.valorTotalDurante + self.valorTotalDepois;\r\n\r\n\r\n });\r\n }\r\n\r\n // REPLICAR SEMESTRES GRADUAÇÃO\r\n self.replicarSemestres = function () {\r\n\r\n\r\n\r\n self.modalidade = \"G\"\r\n\r\n var qtdeMeses = (self.qtdeSemestresParcelamento * 6) * 2;\r\n\r\n self.listaSemestres = [];\r\n $API.get('/hotsite/GetDatas/?semestreInicio=' + self.semestreInicio + '&parcelas=' + qtdeMeses + '&valorMensalidade=' + self.valorMensalidade + '&valorPago=' + self.valorMensalidadeDesejada).then(function (r) {\r\n if (r.data) {\r\n self.listaSemestres = [];\r\n self.dataParcelas = r.data;\r\n\r\n self.valorTotalDurante = self.valorMensalidadeDesejada * self.dataParcelas.Durante.length;\r\n self.valorTotalDepois = (self.valorMensalidade - self.valorMensalidadeDesejada) * self.dataParcelas.Durante.length\r\n\r\n self.valorTotal = self.valorTotalDurante + self.valorTotalDepois;\r\n\r\n\r\n var posicao = 0;\r\n\r\n\r\n for (var i = 0; i < self.qtdeSemestresParcelamento; i++) {\r\n self.arrayParcelasDurante = [];\r\n self.arrayParcelasDepois = [];\r\n\r\n\r\n var semestre = i + 1;\r\n\r\n for (var j = 0; j < 6; j++) {\r\n\r\n\r\n self.parcelasDurante = self.dataParcelas.Durante[posicao]\r\n self.parcelasDepois = self.dataParcelas.Depois[posicao]\r\n\r\n self.arrayParcelasDurante.push(self.parcelasDurante)\r\n self.arrayParcelasDepois.push(self.parcelasDepois)\r\n\r\n posicao++\r\n\r\n }\r\n\r\n self.dadosSemestre = {\r\n semestre: semestre,\r\n parcelasDurante: angular.copy(self.arrayParcelasDurante),\r\n parcelasDepois: angular.copy(self.arrayParcelasDepois)\r\n }\r\n\r\n\r\n\r\n self.listaSemestres.push(self.dadosSemestre)\r\n\r\n self.dadosSemestre = null\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n //console.log(self.listaSemestres)\r\n\r\n });\r\n\r\n\r\n\r\n //self.qtdeMesesSemestre = self.qtdeSemestresParcelamento * 6;\r\n //self.qtdeMesesParcelamento = self.qtdeSemestresParcelamento * 12;\r\n\r\n\r\n }\r\n\r\n self.imprimirSimulacao = function () {\r\n\r\n //var pdf = new jsPDF();\r\n //pdf.fromHTML(document.getElementById(\"simulacao\"), 5, 0, { 'width': 1900 });\r\n\r\n\r\n ////pdf.addImage(img, 'JPEG', 15, 10, 180, 0);\r\n //pdf.autoPrint();\r\n //window.open(pdf.output('bloburl'), '_blank');\r\n\r\n //document.getElementById('ocultarAoImprimir').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir1').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir2').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir3').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir4').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir5').style.display = 'none';\r\n //document.getElementById('ocultarAoImprimir6').style.display = 'none';\r\n //$('.panel-info').css(\"max-height\", \"100%\");\r\n\r\n //html2canvas(document.getElementById(\"simulacao\"), {\r\n // onrendered: function (canvas) {\r\n\r\n // //var img = canvas.toDataURL(\"image/png\");\r\n // var pdf = new jsPDF();\r\n // //pdf.addImage(img, 'JPEG', 15, 10, 180, 0);\r\n // pdf.autoPrint();\r\n // window.open(pdf.output('bloburl'), '_blank');\r\n\r\n // //document.getElementById('ocultarAoImprimir').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir1').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir2').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir3').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir4').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir5').style.display = '';\r\n // //document.getElementById('ocultarAoImprimir6').style.display = '';\r\n // //$('.panel-info').css(\"max-height\", \"275px\");\r\n // }\r\n //});\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('QueroSerParceiroController', QueroSerParceiroController);\r\n\r\n /** @ngInject */\r\n function QueroSerParceiroController(Estado, $scope, HelperService, DialogService, ContatoService, CREDUC) {\r\n var self = this;\r\n\r\n self.estados = [];\r\n self.cidades = [];\r\n self.selected = {};\r\n\r\n self.$onInit = function () {\r\n Estado.all().then(resultEstado);\r\n }\r\n\r\n self.getCidades = function (estado) {\r\n HelperService.deleteSelected(self.selected, 'cidade');\r\n Estado\r\n .cidades(estado.ID_ESTADO)\r\n .then(function (result) {\r\n self.cidades = result.data.Dados;\r\n });\r\n };\r\n\r\n self.submit = function () {\r\n var contato = angular.copy($scope.contato);\r\n\r\n contato.ID_CAMPUS = CREDUC.ID;\r\n\r\n ContatoService\r\n .queroSerParceiro(contato)\r\n .then(function (result) {\r\n if (result.data.CodigoResposta == 1) {\r\n var dialog = DialogService.success({\r\n message: 'Sua mensagem foi enviada com sucesso!'\r\n });\r\n dialog.result.then(function () {\r\n $scope.contato = {};\r\n });\r\n } else {\r\n DialogService.error();\r\n }\r\n }, function () {\r\n DialogService.error();\r\n });\r\n };\r\n\r\n self.$onInit();\r\n\r\n function resultEstado(result) {\r\n self.estados = result.data.Dados || [];\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('PendenciaController', PendenciaController);\r\n\r\n /** @ngInject */\r\n function PendenciaController(Instituicao, $state, $stateParams, $scope, $filter, Estado, DialogService, $API, $log, $rootScope, $q) {\r\n var self = this;\r\n\r\n self.instituicao = {};\r\n\r\n // functions\r\n self.exibeDadosConjuge = exibeDadosConjuge;\r\n self.exibeDadosResponsavel = exibeDadosResponsavel;\r\n self.exibeMembrosDaFamilia = exibeMembrosDaFamilia;\r\n self.exibeResponsaveisFinanceiros = exibeResponsaveisFinanceiros;\r\n\r\n self.getParentescoDescricao = getParentescoDescricao;\r\n self.submit = submit;\r\n self.removeFile = removeFile;\r\n self.fileExists = fileExists;\r\n\r\n self.$onInit = function () {\r\n self.lead = $stateParams.candidato || $state.params.candidato || null;\r\n self.situacao = $stateParams.situacao || $state.params.situacao || null;\r\n\r\n var $apiInstituicao = Instituicao.dataAsync().then(function (data) {\r\n self.instituicao = data;\r\n self.rendaFamiliar = self.instituicao.SOLICITAR_RENDA;\r\n self.pessoasFamilia = self.instituicao.EXIBIR_CAMPO_PESSOAS_FAMILIA;\r\n });\r\n\r\n if (!$stateParams.cpf || !$stateParams.email || !$stateParams.ies) {\r\n $state.go('instituicao', { instituicao: self.instituicao.SITE });\r\n return;\r\n }\r\n\r\n var $apiGetCandidato = getCandidato().then(function (data) {\r\n self.lead = data;\r\n }, function (err) {\r\n $log.error(err);\r\n DialogService.error({\r\n message: 'Nenhum candidato foi encontrado.'\r\n });\r\n });\r\n\r\n $q.all([$apiInstituicao, $apiGetCandidato]).then(function () {\r\n if (!self.lead) {\r\n $state.go('instituicao', { instituicao: self.instituicao.SITE });\r\n return;\r\n }\r\n\r\n var url = '/campus/{idCampus}/candidato/{cpf}/pendencias';\r\n\r\n url = url.replace('{idCampus}', self.lead.idCampus);\r\n url = url.replace('{cpf}', self.lead.cpf);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados) {\r\n self.situacao = result.data.Dados;\r\n\r\n self.lead = {};\r\n self.lead.idCandidato = self.situacao.Candidato.ID_CANDIDATO;\r\n self.lead.idCampus = self.situacao.IdCampus;\r\n self.lead.cpf = self.situacao.Candidato.CPF;\r\n self.lead.nome = self.situacao.Candidato.NOME;\r\n self.lead.dtNascimento = self.situacao.Candidato.DT_NASCIMENTO;\r\n\r\n self.pendenciaAluno = self.situacao.Pendencias || [];\r\n self.pendenciaConjuge = self.situacao.Pendencias.PendenciaConjuge || [];\r\n self.pendenciaResponsavel = self.situacao.Pendencias.PendenciaResponsavel || [];\r\n self.pendenciaMembroFamilia = self.situacao.Pendencias.PendenciaMembrosFamilia || [];\r\n self.pendenciaFiador = self.situacao.Pendencias.PendenciaFiadorModel || [];\r\n }\r\n });\r\n });\r\n };\r\n\r\n function getCandidato() {\r\n var deferred = $q.defer();\r\n $API.post('/candidato/verifica/' + $stateParams.cpf, {\r\n email: $stateParams.email,\r\n ID_CAMPUS_CURSO: $stateParams.ies\r\n }).then(function (r) {\r\n if (r.data.Dados) {\r\n var data = r.data.Dados;\r\n\r\n var candidato = {};\r\n candidato.cpf = data.CPF;\r\n candidato.nome = data.NOME;\r\n candidato.idCampus = data.ID_CAMPUS;\r\n\r\n deferred.resolve(candidato);\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function (err) {\r\n deferred.reject(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n function fileExists(obj, index) {\r\n if (typeof obj === \"object\" && obj.hasOwnProperty(index)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function removeFile(obj, index) {\r\n if (fileExists(obj, index)) {\r\n delete obj[index];\r\n }\r\n }\r\n\r\n function getParentescoDescricao(FL_PARENTESCO) {\r\n switch (FL_PARENTESCO) {\r\n case 'P': return 'Pai/Mãe';\r\n case 'I': return 'Irmão/Irmã';\r\n case 'F': return 'Filho/Filha';\r\n case 'R': return 'Primo/Prima';\r\n case 'A': return 'Avô/Avó';\r\n case 'T': return 'Tio/Tia';\r\n case 'O': return 'Outros';\r\n default: return '';\r\n }\r\n }\r\n\r\n function exibeDadosResponsavel() {\r\n return self.pendenciaResponsavel && self.pendenciaResponsavel.length > 0;\r\n }\r\n\r\n function exibeDadosConjuge() {\r\n return self.pendenciaConjuge && self.pendenciaConjuge.length > 0;\r\n }\r\n\r\n function exibeMembrosDaFamilia() {\r\n return self.pendenciaMembroFamilia && self.pendenciaMembroFamilia.length > 0;\r\n }\r\n\r\n function exibeResponsaveisFinanceiros() {\r\n return self.pendenciaFiador && self.pendenciaFiador.length > 0;\r\n }\r\n\r\n function filesObrigatoriosSelected(listaObrigatoria, listaArquivos) {\r\n var c = 0;\r\n angular.forEach(Object.keys(listaArquivos), function (e) {\r\n if (listaObrigatoria.indexOf(e) > -1 && listaArquivos.hasOwnProperty(e) && listaArquivos[e]) {\r\n c++;\r\n }\r\n });\r\n return c;\r\n }\r\n\r\n // function validarDocumentosObrigatorios(listDocumentos, objDocumento) {\r\n // var isValid = true;\r\n // angular.forEach(listDocumentos, function (e) {\r\n // if (e.OBRIGATORIO && (!objDocumento.hasOwnProperty(e.ID_CHECK_LIST_DOC_CAMPUS) || !objDocumento[e.ID_CHECK_LIST_DOC_CAMPUS])) {\r\n // isValid = false;\r\n // }\r\n // });\r\n // return isValid;\r\n // }\r\n\r\n\r\n function deleteEmptyFile(files) {\r\n angular.forEach(Object.keys(files || []), function (k) {\r\n if (files.hasOwnProperty(k) && typeof files[k] === \"object\" && !files[k]) {\r\n delete files[k];\r\n }\r\n });\r\n }\r\n\r\n function clearEmptyFiles() {\r\n if (self.hasOwnProperty('pendenciaAluno') && self.pendenciaAluno) {\r\n deleteEmptyFile(self.pendenciaAluno.files);\r\n }\r\n\r\n angular.forEach(self.pendenciaConjuge || [], function (e) {\r\n deleteEmptyFile(e.files);\r\n });\r\n\r\n angular.forEach(self.pendenciaResponsavel || [], function (e) {\r\n deleteEmptyFile(e.files);\r\n });\r\n\r\n angular.forEach(self.pendenciaMembroFamilia || [], function (e) {\r\n deleteEmptyFile(e.files);\r\n });\r\n\r\n angular.forEach(self.pendenciaFiador || [], function (e) {\r\n deleteEmptyFile(e.files);\r\n });\r\n }\r\n\r\n function submit() {\r\n // verifica se formulário contem erros\r\n if ($scope.formInscricao.$invalid) {\r\n DialogService.error({\r\n message: \"É necessário preencher todos os campos corretamente!\"\r\n })\r\n return;\r\n }\r\n\r\n clearEmptyFiles();\r\n\r\n var isValid = true;\r\n\r\n // mapeia\r\n var candidato = {\r\n ID: self.lead.idCandidato,\r\n ID_CAMPUS: self.lead.idCampus,\r\n CPF: self.lead.cpf\r\n };\r\n\r\n // verifica documentos aluno\r\n var docObrigatorioAluno = [];\r\n angular.forEach(self.pendenciaAluno.DocumentosNecessarios || [], function (e) {\r\n if (e.OBRIGATORIO) {\r\n docObrigatorioAluno.push(e.FAKE_ID.toString());\r\n }\r\n });\r\n\r\n if (docObrigatorioAluno.length > 0 && filesObrigatoriosSelected(docObrigatorioAluno, self.pendenciaAluno.files || []) < docObrigatorioAluno.length) {\r\n DialogService.error({\r\n message: \"É necessário anexar todos os documentos obrigatórios do aluno!\"\r\n });\r\n return;\r\n }\r\n\r\n candidato.FILES = self.pendenciaAluno.files || [];\r\n candidato.FAKE_ID = [];\r\n\r\n for (var p in self.pendenciaAluno.files)\r\n candidato.FAKE_ID.push(p);\r\n\r\n\r\n if (exibeDadosConjuge()) {\r\n isValid = true;\r\n\r\n angular.forEach(self.pendenciaConjuge, function (c) {\r\n var docObrigatorioConjuge = [];\r\n\r\n angular.forEach(c.DocumentosNecessarios || [], function (e) {\r\n if (e.OBRIGATORIO) {\r\n docObrigatorioConjuge.push(e.FAKE_ID.toString());\r\n }\r\n });\r\n\r\n if (docObrigatorioConjuge.length > 0 && filesObrigatoriosSelected(docObrigatorioConjuge, c.files || []) < docObrigatorioConjuge.length) {\r\n isValid = false;\r\n return;\r\n }\r\n\r\n var candidatoConjuge = {\r\n ID: c.ID,\r\n FAKE_ID: [],\r\n FILES: c.files || []\r\n };\r\n\r\n for (var p in c.files)\r\n candidatoConjuge.FAKE_ID.push(p);\r\n\r\n candidato.CANDIDATO_CONJUGE = [candidatoConjuge];\r\n });\r\n\r\n if (!isValid) {\r\n DialogService.error({\r\n message: \"É necessário anexar todos os documentos obrigatórios do cônjuge!\"\r\n });\r\n return;\r\n }\r\n } else if (exibeDadosResponsavel()) {\r\n isValid = true;\r\n angular.forEach(self.pendenciaResponsavel, function (c) {\r\n var docObrigatorioResponsavel = [];\r\n\r\n angular.forEach(c.DocumentosNecessarios || [], function (e) {\r\n if (e.OBRIGATORIO) {\r\n docObrigatorioResponsavel.push(e.FAKE_ID.toString());\r\n }\r\n });\r\n\r\n if (docObrigatorioResponsavel.length > 0 && filesObrigatoriosSelected(docObrigatorioResponsavel, c.files || []) < docObrigatorioResponsavel.length) {\r\n isValid = false;\r\n return;\r\n }\r\n\r\n var candidatoResponsavel = {\r\n ID: c.ID,\r\n FAKE_ID: [],\r\n FILES: c.files || []\r\n };\r\n\r\n for (var p in c.files)\r\n candidatoResponsavel.FAKE_ID.push(p);\r\n\r\n candidato.CANDIDATO_RESPONSAVEL = [candidatoResponsavel];\r\n });\r\n\r\n if (!isValid) {\r\n DialogService.error({\r\n message: \"É necessário anexar todos os documentos obrigatórios do responsável do menor!\"\r\n })\r\n return;\r\n }\r\n }\r\n\r\n if (exibeMembrosDaFamilia()) {\r\n var listaMembros = [];\r\n\r\n isValid = true;\r\n\r\n angular.forEach(self.pendenciaMembroFamilia, function (c) {\r\n var docObrigatorioMembroFamilia = [];\r\n\r\n angular.forEach(c.DocumentosNecessarios || [], function (e) {\r\n if (e.OBRIGATORIO) {\r\n docObrigatorioMembroFamilia.push(e.FAKE_ID.toString());\r\n }\r\n });\r\n\r\n if (docObrigatorioMembroFamilia.length > 0 && filesObrigatoriosSelected(docObrigatorioMembroFamilia, c.files || []) < docObrigatorioMembroFamilia.length) {\r\n isValid = false;\r\n return;\r\n }\r\n\r\n var membro = {\r\n ID: c.ID,\r\n FAKE_ID: [],\r\n FILES: c.files || []\r\n };\r\n\r\n for (var p in c.files)\r\n membro.FAKE_ID.push(p);\r\n\r\n listaMembros.push(membro);\r\n });\r\n\r\n if (!isValid) {\r\n DialogService.error({\r\n message: \"É necessário anexar todos os documentos obrigatórios do membro da família!\"\r\n });\r\n return;\r\n }\r\n\r\n candidato.MEMBROS_FAMILIA = listaMembros;\r\n }\r\n\r\n if (exibeResponsaveisFinanceiros()) {\r\n var listaFiador = [];\r\n\r\n isValid = true;\r\n\r\n angular.forEach(self.pendenciaFiador, function (c) {\r\n var docObrigatorioFiador = [];\r\n\r\n angular.forEach(c.DocumentosNecessarios || [], function (e) {\r\n if (e.OBRIGATORIO) {\r\n docObrigatorioFiador.push(e.FAKE_ID.toString());\r\n }\r\n });\r\n\r\n if (docObrigatorioFiador.length > 0 && filesObrigatoriosSelected(docObrigatorioFiador, c.files || []) < docObrigatorioFiador.length) {\r\n isValid = false;\r\n return;\r\n }\r\n\r\n var fiador = {\r\n ID: c.ID,\r\n FAKE_ID: [],\r\n FILES: c.files || []\r\n };\r\n\r\n for (var p in c.files)\r\n fiador.FAKE_ID.push(p);\r\n\r\n listaFiador.push(fiador);\r\n });\r\n\r\n if (!isValid) {\r\n DialogService.error({\r\n message: \"É necessário anexar todos os documentos obrigatórios dos corrresponsáveis financeiros!\"\r\n });\r\n return;\r\n }\r\n\r\n candidato.RESPONSAVEL_SERASA = listaFiador;\r\n }\r\n\r\n $log.log(candidato);\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Enviando inscrição!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/pendencia/concluir', candidato).then(function (r) {\r\n if (r.data.Dados) {\r\n $dialogProgress.close();\r\n var $dialogSuccess = DialogService.success({\r\n message: 'Sua inscrição foi concluída com sucesso!'\r\n });\r\n\r\n $dialogSuccess.result.then(function () {\r\n $state.go('instituicao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n });\r\n }\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('InstituicaoController', InstituicaoController);\r\n\r\n /** @ngInject */\r\n function InstituicaoController(Instituicao, $state, $stateParams, $scope, $filter, $rootScope, $location, $anchorScroll) {\r\n var self = this;\r\n\r\n self.slides = [];\r\n\r\n self.instituicao = {};\r\n self.showBannerOqE = false;\r\n self.mostrarMsgAvaliacao = false;\r\n self.showIESvxFIesBanner = false;\r\n self.showIESvxFIesBannerDoctum = false;\r\n self.mostrarMensagemInscricao = false;\r\n self.parametros = null;\r\n self.urlTextoComercialSM = '';\r\n self.urlTextoComercialMD = '';\r\n self.urlComparacaoFiesSM = '';\r\n self.urlComparacaoFiesMD = '';\r\n self.urlInstituicao = '';\r\n self.CreducVsFies = [\r\n ];\r\n\r\n self.$onInit = function () {\r\n var slug = $stateParams.instituicao || $state.params.instituicao;\r\n //return;\r\n console.log(localStorage.getItem(\"parametros\"));\r\n localStorage.removeItem(\"_inscricao\");\r\n localStorage.removeItem(\"parametros\");\r\n localStorage.removeItem(\"instituicao\");\r\n localStorage.removeItem(\"docs\");\r\n localStorage.removeItem(\"estados\");\r\n localStorage.removeItem(\"Escolha\");\r\n localStorage.removeItem(\"userTeste\");\r\n localStorage.setItem(\"lastInstituicao\", slug);\r\n console.log(localStorage.getItem(\"parametros\"));\r\n\r\n\r\n\r\n if ($location.search().Id != null) {\r\n var userTeste = { IdUser: $location.search().Id };\r\n var json = JSON.stringify(userTeste);\r\n\r\n localStorage.setItem('userTeste', json);\r\n }\r\n\r\n\r\n\r\n if (slug == \"iesb\") {\r\n self.showBannerOqE = true;\r\n self.showIESvxFIesBanner = true;\r\n } else if (slug == \"doctum\") {\r\n //self.showBannerOqE = true;\r\n self.showIESvxFIesBannerDoctum = true;\r\n }\r\n\r\n self.urlInstituicao = slug;\r\n //console.log('here');\r\n //if (localStorage.getItem(\"instituicao\") != null) {\r\n // //console.log(localStorage.getItem(\"instituicao\"));\r\n // promiseGetInstituicaoSuccess(null);\r\n // // console.log(self.instituicao);\r\n\r\n //} else {\r\n Instituicao\r\n .get(slug)\r\n .then(promiseGetInstituicaoSuccess, promiseGetInstituicaoError);\r\n //}\r\n //Instituicao\r\n // .get(slug)\r\n // .then(promiseGetInstituicaoSuccess, promiseGetInstituicaoError);\r\n\r\n\r\n //Pegar arquivo local Json, nao chama valores do Back, precisa existir a pasta local\r\n // $http.get('app/dados/'+slug+'/data.json').then(function(data) {\r\n // self.instituicao = data.data.Dados;\r\n // localStorage.setItem(\"parametros\", JSON.stringify(self.instituicao.ListParametrosGrupo));\r\n // self.slides.push({\r\n // title: 'Slide 1',\r\n // src: {\r\n // sm: self.getBanner('sm'),\r\n // md: self.getBanner('md'),\r\n // lg: self.getBanner('lg')\r\n // }\r\n // });\r\n //\r\n // let aux = self.instituicao.BANNER_HOTSITE.find(p => p.TIPO === \"TextoComercial\");\r\n // self.urlTextoComercial = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n //\r\n // aux = self.instituicao.BANNER_HOTSITE.find(p => p.TIPO === \"ComparacaoFies\");\r\n // self.urlComparacaoFies = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n //\r\n // self.CreducVsFies = self.instituicao.COMPARACAO_FIES;\r\n // $rootScope.title = self.instituicao.SEO_TITLE;\r\n // $rootScope.$seo_keywords = self.instituicao.SEO_KEYWORDS;\r\n // $rootScope.$seo_description = self.instituicao.SEO_DESCRIPTION;\r\n // $rootScope.$favicon = self.instituicao.FAVICON.STATIC_PATH;\r\n // //console.log('CARREGANDO ARQUIVOS JSON DA PASTA LOCAL');\r\n // //console.log(data);\r\n //\r\n // }, function() {\r\n // //console.log('Não achou folder local');\r\n // Instituicao\r\n // .get(slug)\r\n // .then(promiseGetInstituicaoSuccess, promiseGetInstituicaoError);\r\n // });\r\n\r\n };\r\n\r\n\r\n self.bloqueiaInscricao = function () {\r\n //console.log(exibeCampo(\"BLOQUEAR_INSCRICAO\"))\r\n return exibeCampo(\"BLOQUEAR_INSCRICAO\");\r\n\r\n\r\n };\r\n\r\n self.bloqueiaSimulacao = function () {\r\n //console.log(exibeCampo(\"BLOQUEAR_INSCRICAO\"))\r\n return exibeCampo(\"BLOQUEAR_SIMULACAO\");\r\n\r\n\r\n };\r\n\r\n function exibeCampo(parametro) {\r\n var exibe = false;\r\n if (self.instituicao.ListParametrosGrupo) {\r\n self.parametros = self.instituicao.ListParametrosGrupo;\r\n if (self.parametros != undefined) {\r\n\r\n var it = $filter('filter')(self.parametros, { 'SLUG': parametro });\r\n\r\n if (it.length > 0) {\r\n var existe = it[0];\r\n\r\n if (self.parametros && existe.VALOR == \"S\") {\r\n exibe = true;\r\n return exibe;\r\n }\r\n }\r\n\r\n }\r\n }\r\n return exibe;\r\n }\r\n\r\n self.getTituloImplantacao = function () {\r\n return self.instituicao.TITULO_IMPLANTACAO;\r\n };\r\n\r\n self.getNomeParcelamento = function () {\r\n return self.instituicao.PROGRAMA_CREDITO;\r\n };\r\n\r\n self.getTexto = function (ordem) {\r\n var texto = $filter('filter')(self.instituicao.TEXTO_IMPLANTACAO, function (e) {\r\n return e.ORDEM == ordem;\r\n });\r\n\r\n if (angular.isArray(texto) && texto.length > 0) {\r\n return texto[0].TEXTO;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n // ANCORA SCROLL LINKS\r\n self.linkIrPara = function (id) {\r\n\r\n self.mostrarMensagemInscricao = true;\r\n\r\n setTimeout(function () {\r\n $location.hash(id);\r\n $anchorScroll();\r\n }, 100);\r\n\r\n\r\n\r\n };\r\n\r\n self.mostarMensagemAvaliacao = function () {\r\n self.mostrarMsgAvaliacao = !self.mostrarMsgAvaliacao;\r\n self.mostrarMsgAdesao = false;\r\n self.mostrarMsgAprovacao = false;\r\n }\r\n\r\n self.mostarMensagemAdesao = function () {\r\n self.mostrarMsgAdesao = !self.mostrarMsgAdesao;\r\n self.mostrarMsgAvaliacao = false;\r\n self.mostrarMsgAprovacao = false;\r\n }\r\n\r\n self.mostarMensagemAprovacao = function () {\r\n self.mostrarMsgAprovacao = !self.mostrarMsgAprovacao;\r\n self.mostrarMsgAdesao = false;\r\n self.mostrarMsgAvaliacao = false;\r\n }\r\n\r\n\r\n self.getBanner = function (tamanho) {\r\n var banner = $filter('filter')(self.instituicao.BANNER_HOTSITE, function (e) {\r\n return (e.TAMANHO.toUpperCase() == tamanho.toUpperCase() && !!e.ARQUIVO && !!e.ARQUIVO.NOME_ARQUIVO && (!e.TIPO || e.TIPO === 'Banner'));\r\n });\r\n\r\n if (angular.isArray(banner) && banner.length > 0) {\r\n return banner[0].ARQUIVO.STATIC_PATH;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n function promiseGetInstituicaoError() {\r\n document.location = '/';\r\n }\r\n\r\n function promiseGetInstituicaoSuccess(result) {\r\n //if (localStorage.getItem(\"instituicao\") != null) {\r\n // self.instituicao = JSON.parse(localStorage.getItem(\"instituicao\"));\r\n\r\n //} else {\r\n self.instituicao = result.data.Dados;\r\n //localStorage.setItem(\"instituicao\", JSON.stringify(self.instituicao));\r\n //}\r\n\r\n localStorage.setItem(\"parametros\", JSON.stringify(self.instituicao.ListParametrosGrupo));\r\n\r\n //var teste = {\r\n // title: 'Slide 1',\r\n // src: {\r\n // sm: self.getBanner('sm'),\r\n // md: self.getBanner('lg') ? self.getBanner('lg') : self.getBanner('md')\r\n // }\r\n //}\r\n //console.log(teste);\r\n self.slides.push({\r\n title: 'Slide 1',\r\n src: {\r\n sm: self.getBanner('sm'),\r\n md: self.getBanner('lg') ? self.getBanner('lg') : self.getBanner('md')\r\n }\r\n });\r\n\r\n\r\n var temp1 = $filter(\"filter\")(self.instituicao.BANNER_HOTSITE, { TIPO: \"TextoComercial\", TAMANHO: 'SM' });\r\n var aux = temp1.length > 0 ? temp1[0] : null;\r\n self.urlTextoComercialSM = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n\r\n temp1 = $filter(\"filter\")(self.instituicao.BANNER_HOTSITE, { TIPO: \"TextoComercial\", TAMANHO: 'MD' });\r\n aux = temp1.length > 0 ? temp1[0] : null;\r\n self.urlTextoComercialMD = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n\r\n temp1 = $filter(\"filter\")(self.instituicao.BANNER_HOTSITE, { TIPO: \"ComparacaoFies\", TAMANHO: 'SM' });\r\n aux = temp1.length > 0 ? temp1[0] : null;\r\n self.urlComparacaoFiesSM = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n\r\n temp1 = $filter(\"filter\")(self.instituicao.BANNER_HOTSITE, { TIPO: \"ComparacaoFies\", TAMANHO: 'MD' });\r\n aux = temp1.length > 0 ? temp1[0] : null;\r\n self.urlComparacaoFiesMD = aux && aux.ARQUIVO ? aux.ARQUIVO.STATIC_PATH : '';\r\n\r\n self.CreducVsFies = self.instituicao.COMPARACAO_FIES;\r\n\r\n $rootScope.title = self.instituicao.SEO_TITLE;\r\n $rootScope.$seo_keywords = self.instituicao.SEO_KEYWORDS;\r\n $rootScope.$seo_description = self.instituicao.SEO_DESCRIPTION;\r\n $rootScope.$favicon = self.instituicao.FAVICON.STATIC_PATH;\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('ParceirosController', ParceirosController);\r\n\r\n /** @ngInject */\r\n function ParceirosController(Hotsite ,$state) {\r\n var self = this;\r\n self.parceiros = {};\r\n self.url = '';\r\n\r\n self.$onInit = function () {\r\n document.location.href = 'https://parceiro.creduc.com.br'; \r\n //Hotsite\r\n // .parceiros()\r\n // .then(promiseGetParceirosSuccess, promiseGetParceirosError);\r\n };\r\n\r\n self.$onInit();\r\n self.goHotsite = function(url){\r\n self.url = url\r\n $state.go(self.url, {\r\n teste: 'teste'\r\n });\r\n }\r\n //function promiseGetParceirosSuccess(result) {\r\n // self.parceiros = result.data.Result;\r\n // //console.log(self.parceiros);\r\n //}\r\n //function promiseGetParceirosError() {\r\n // //console.log(\"Error\");\r\n // // $state.go('home');\r\n //}\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('InscricaoController', InscricaoController)\r\n\r\n /** @ngInject */\r\n function InscricaoController(Instituicao, $state, $stateParams, $scope, $filter, Estado, DialogService, $API, $log, $interval, $rootScope, $q, $location, API_SETTINGS, ENV, $sce) {\r\n var self = this;\r\n self.contrato = {};\r\n self.listaBannerConclusao = [];\r\n self.textoConclusao;\r\n self.exibeImgTextoConclusao;\r\n\r\n self.UrlRetornoFacebook = API_SETTINGS[ENV].AUTENTICAR;\r\n self.vagasDisponiveis = localStorage.getItem(\"vagasDisponiveis\");\r\n self.enderecoAluno = { $id: '', CEP: '', LOGRADOURO: '', BAIRRO: '', CIDADE: '', ESTADO: '', UF: '', COMPLEMENTO: '', NUMERO: '' };\r\n var pId = $location.path().split(\"/\")[3] || \"Unknown\";\r\n if (pId == \"Unknown\" && $location.path().split(\"/\")[2] == \"inscricao\") {\r\n pId = \"dados-academicos\";\r\n }\r\n\r\n self.InfoPasso = {};\r\n switch (pId) {\r\n case 'dados-academicos':\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n break;\r\n case 'dados-pessoais':\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n break;\r\n case 'dados-familia':\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n break;\r\n case 'termo-candidato':\r\n // self.InfoPasso.BTNSalvar = self.botaoTermoAceite;\r\n \r\n\r\n /* eslint-disable no-console */\r\n // console.log(self.InfoPasso.BTNSalvar);\r\n /* eslint-enable no-console */\r\n\r\n break;\r\n case 'dados-financeiros':\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n break;\r\n case 'pagar-taxa':\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n self.InfoPasso.BTNPular = \"PAGAR DEPOIS\";\r\n break;\r\n case 'documentos-candidato':\r\n self.InfoPasso.BTNSalvar = \"CONCLUIR INSCRIÇÃO\";\r\n self.InfoPasso.BTNPular = \"PULAR ENVIO DE DOCUMENTOS\";\r\n break;\r\n }\r\n\r\n self._passo = pId;\r\n self.mostrar_tudo = false;\r\n self.showGmaps = false;\r\n self.parametros = null;\r\n self.instituicao = {};\r\n self.membroFamilia = {};\r\n self.instituicaoNome = null;\r\n self.membrosFamilia = [];\r\n self.corresponsaveisFinanceiros = [];\r\n self.selected = { estadoCivil: null };\r\n self.habilitaLoading = '';\r\n\r\n self.documentos = [];\r\n self.documentosAluno = [];\r\n self.documentosFamilia = [];\r\n self.documentosFiador = [];\r\n self.documentosConjuge = [];\r\n\r\n self.documentosResponsavel = [];\r\n self.passoDadosAcademicos = false;\r\n self.passoDadosPessoais = false;\r\n self.passoDadosMembrosFamilia = false;\r\n self.passoDadosFinanceiros = false;\r\n self.passoDadosDocumentos = false;\r\n self.passoDadosTermoCompromiso = false;\r\n self.passoConclusao = false;\r\n // functions\r\n self.exibeDadosConjuge = exibeDadosConjuge;\r\n self.exibeDadosResponsavel = exibeDadosResponsavel;\r\n self.candidatoMenorIdade = candidatoMenorIdade;\r\n self.getParentescoDescricao = getParentescoDescricao;\r\n self.showPagamento = false;\r\n self.exibeDocumentos = exibeDocumentos;\r\n\r\n self.adicionarMembroResponsavel = adicionarMembroResponsavel;\r\n self.removerMembroResponsavel = removerMembroResponsavel;\r\n\r\n self.removeFile = removeFile;\r\n self.fileExists = fileExists;\r\n self.alunoVeterano = '';\r\n self.membroResponsavel = {};\r\n\r\n self.SENHA_CADASTRO = null;\r\n self.listaConsultor = [];\r\n self.idConsultor = 0;\r\n\r\n self.ListaDocumentosAnexadosAluno = [];\r\n self.ListaDocumentosAnexadosFamilia = [];\r\n self.ListaDocumentosAnexadosFiador = [];\r\n self.ListaDocumentosAnexadosConjuge = [];\r\n self.ListaDocumentosAnexadosResponsavel = [];\r\n\r\n self.pagaVeterano = 'S';\r\n self.habilitaAceiteContratoOnline = '';\r\n self.paramTermoCompromisso = 'N';\r\n self.userIp = '';\r\n self.temAceiteTermo = false;\r\n self.botaoTermoAceite = \"ACEITAR\";\r\n\r\n self.$onInit = function () {\r\n self.buscarIP();\r\n if (self._passo == \"termo-candidato\") {\r\n self.verificarPendenciaAluno();\r\n }\r\n\r\n self.ListaParametros = JSON.parse(localStorage.getItem(\"parametros\"));\r\n\r\n self.parametros = self.ListaParametros;\r\n\r\n var ita = $filter('filter')(self.ListaParametros, { 'SLUG': 'HABIITAR_ACEITE_ONLINE_CONTRATO' });\r\n self.habilitaAceiteContratoOnline = ita != undefined && ita.length > 0 ? ita[0].VALOR == 'S' : false;\r\n\r\n var itp = $filter('filter')(self.ListaParametros, { 'SLUG': 'HABILITAR_PAGAMENTO_HOTSITE' });\r\n self.showPagamento = itp != undefined && itp.length > 0 ? itp[0].VALOR == 'S' : false;\r\n\r\n\r\n var itf = $filter('filter')(self.ListaParametros, { 'SLUG': 'SOLICITAR_RENDA' });\r\n self.rendaFamiliar = itf != undefined && itf.length > 0 ? itf[0].VALOR : \"N\";\r\n\r\n var itf2 = $filter('filter')(self.ListaParametros, { 'SLUG': 'EXIBIR_CAMPO_PESSOAS_FAMILIA' });\r\n self.pessoasFamilia = itf2 != undefined && itf2.length > 0 ? itf2[0].VALOR : \"N\";\r\n\r\n var itf3 = $filter('filter')(self.ListaParametros, { 'SLUG': 'EXIBIR_CAMPO_NOTA_ENEM' });\r\n self.notaEnem = itf3 != undefined && itf3.length > 0 ? itf3[0].VALOR : \"N\";\r\n var passoIr = 'dados-academicos';\r\n\r\n\r\n var itf4 = $filter('filter')(self.ListaParametros, { 'SLUG': 'ATIVAR_TP_FINANCIAMENTO_VETERANO' });\r\n self.paramTermoCompromisso = $filter('filter')(self.ListaParametros, { 'SLUG': 'EXIBIR_TERMO_COMPROMISSO' })[0].VALOR;\r\n var showPagamentoVeterano = itf4 != undefined && itf4.length > 0 ? itf4[0].VALOR == 'S' : false;\r\n if (self.showPagamento && showPagamentoVeterano == false) {\r\n self.showPagamento = false;\r\n }\r\n\r\n if (($stateParams.candidato == undefined || $state.params.candidato == undefined) && localStorage.getItem(\"_inscricao\") == undefined) {\r\n return;\r\n }\r\n else {\r\n\r\n self.instituicao = $stateParams.instituicao || $state.params.instituicao;\r\n\r\n self.lead = $stateParams.candidato || $state.params.candidato || null;\r\n\r\n self.selected = $stateParams.selected || $state.params.selected || null;\r\n self.estados = $stateParams.estados || $state.params.estados || [];\r\n self.cidades = $stateParams.cidades || $state.params.cidades || [];\r\n self.instituicoes = $stateParams.instituicoes || $state.params.instituicoes || [];\r\n self.cursos = $stateParams.cursos || $state.params.cursos || [];\r\n\r\n if (self.instituicao == \"iesb\") {\r\n self.showGmaps = true;\r\n }\r\n\r\n var _inscricao = {};\r\n\r\n if (localStorage.getItem(\"_inscricao\") == undefined && (self.lead || self.lead.CPF || self.lead.ID_CAMPUS)) {\r\n\r\n /* eslint-disable no-console */\r\n console.log(\"lead_familia\", self.lead.membrosFamilia);\r\n /* eslint-enable no-console */\r\n\r\n \r\n\r\n _inscricao = {\r\n instituicao: self.instituicao,\r\n lead: self.lead,\r\n selected: self.selected,\r\n estados: self.estados,\r\n cidades: self.cidades,\r\n instituicoes: self.instituicoes,\r\n cursos: self.cursos,\r\n membrosFamilia: self.lead.membrosFamilia,\r\n corresponsaveisFinanceiros: self.lead.corresponsaveisFinanceiros,\r\n }\r\n\r\n self.membrosFamilia = self.lead.membrosFamilia != null ? self.lead.membrosFamilia : [];\r\n self.corresponsaveisFinanceiros = self.lead.corresponsaveisFinanceiros != null ? self.lead.corresponsaveisFinanceiros : [];\r\n\r\n self.alunoVeterano = _inscricao.lead.alunoVeterano ? 'S' : 'N';\r\n\r\n if (_inscricao.lead.documentosAluno == undefined) {\r\n _inscricao.lead.documentosAluno = [];\r\n }\r\n\r\n if (_inscricao.lead.documentosFamilia == undefined) {\r\n _inscricao.lead.documentosFamilia = [];\r\n }\r\n\r\n if (_inscricao.lead.documentosFiador == undefined) {\r\n _inscricao.lead.documentosFiador = [];\r\n }\r\n\r\n if (_inscricao.lead.documentosConjuge == undefined) {\r\n _inscricao.lead.documentosConjuge = [];\r\n }\r\n\r\n if (_inscricao.lead.documentosResponsavel == undefined) {\r\n _inscricao.lead.documentosResponsavel = [];\r\n }\r\n\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(_inscricao));\r\n\r\n self.mudarRota(passoIr);\r\n }\r\n else {\r\n \r\n /* eslint-disable no-console */\r\n console.log(\"inscricao\", _inscricao.membrosFamilia);\r\n /* eslint-enable no-console */\r\n _inscricao = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n self.instituicao = JSON.parse(localStorage.getItem(\"instituicao\"));\r\n self.instituicaoNome = _inscricao.instituicao;\r\n self.membrosFamilia = _inscricao.membrosFamilia != null ? _inscricao.membrosFamilia : [];\r\n\r\n /* eslint-disable no-console */\r\n console.log(\"inscricao1\", self.membrosFamilia );\r\n /* eslint-enable no-console */\r\n\r\n for (var s = 0; s < self.membrosFamilia.length; s++) {\r\n var dia1 = self.membrosFamilia[s].DT_NASCIMENTO.substr(8, 2);\r\n var mes = self.membrosFamilia[s].DT_NASCIMENTO.substr(5, 2);\r\n var ano = self.membrosFamilia[s].DT_NASCIMENTO.substr(0, 4);\r\n var data = dia1 + \"/\" + mes + \"/\" + ano; \r\n self.membrosFamilia[s].DT_NASCIMENTO = data;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n self.corresponsaveisFinanceiros = _inscricao.corresponsaveisFinanceiros != null ? _inscricao.corresponsaveisFinanceiros : [];\r\n self.lead = _inscricao.lead;\r\n self.alunoVeterano = _inscricao.lead.alunoVeterano ? 'S' : 'N';\r\n self.pagaVeterano = itf4 != undefined && itf4.length > 0 && self.alunoVeterano == 'S' ? itf4[0].VALOR : 'S';\r\n self.selected = _inscricao.selected;\r\n self.estados = _inscricao.estados;\r\n self.cidades = _inscricao.cidades;\r\n self.instituicoes = _inscricao.instituicoes;\r\n self.cursos = _inscricao.cursos;\r\n self.passoDadosAcademicos = _inscricao.passoDadosAcademicos;\r\n self.passoDadosPessoais = _inscricao.passoDadosPessoais;\r\n self.passoDadosMembrosFamilia = _inscricao.passoDadosMembrosFamilia;\r\n self.passoDadosFinanceiros = _inscricao.passoDadosFinanceiros;\r\n self.passoDadosDocumentos = _inscricao.passoDadosDocumentos;\r\n self.passoDadosTermoCompromiso = _inscricao.passoDadosTermoCompromiso;\r\n self.passoPagamento = _inscricao.passoPagamento;\r\n self.passoConclusao = _inscricao.passoConclusao;\r\n\r\n self.selected.estadoCivil = _inscricao.lead.estadoCivil\r\n self.exibeDadosResponsavel();\r\n\r\n }\r\n\r\n if (self.lead && self.lead.hasOwnProperty('ID_CAMPUS') && self.lead.ID_CAMPUS) {\r\n var idCampus = self.lead.ID_CAMPUS;\r\n\r\n $API.get('/campus/' + idCampus + '/documentos/checklist/T').then(function (r) {\r\n\r\n if (r.data.Dados) {\r\n localStorage.setItem(\"docs\", JSON.stringify(r.data.Dados));\r\n self.documentos = r.data.Dados;\r\n var existe = [];\r\n\r\n angular.forEach(self.documentos, function (e) {\r\n e.Enviado = false;\r\n e.Status = \"\";\r\n\r\n switch (e.FL_TIPO_DOC) {\r\n case 'A':\r\n if (self.ListaDocumentosAnexadosAluno) {\r\n existe = $filter('filter')(self.ListaDocumentosAnexadosAluno, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n if (existe != undefined && existe.length > 0) {\r\n e.Enviado = true;\r\n e.Status = existe[0] != null ? existe[0].Status : \"\";\r\n\r\n }\r\n }\r\n self.documentosAluno.push(e);\r\n break;\r\n case 'M':\r\n //////console.log(self.ListaDocumentosAnexadosFamilia);\r\n //////console.log($filter('filter')(self.ListaDocumentosAnexadosFamilia, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS }));\r\n if (self.ListaDocumentosAnexadosFamilia) {\r\n existe = $filter('filter')(self.ListaDocumentosAnexadosFamilia, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n //////console.log(self.ListaDocumentosAnexadosFamilia);\r\n //////console.log(existe);\r\n //existe.forEach(function (valor, chave) {\r\n // var check = e;\r\n // e.Enviado = true;\r\n // e.Status = valor != null ? valor.Status : \"\";\r\n // e.ID_PESSOA = valor.IdPessoa;\r\n // ////console.log(e.ID_PESSOA);\r\n // ////console.log(e);\r\n // self.documentosFamilia.push(e);\r\n //});\r\n //for (let i = 0; i < existe.length; i = i + 1) {\r\n // var check = e;\r\n // check.Enviado = true;\r\n // check.Status = existe[i] != null ? existe[i].Status : \"\";\r\n // check.ID_PESSOA = existe[i].IdPessoa;\r\n // // ////console.log(check.ID_PESSOA);\r\n // // ////console.log(check);\r\n // self.documentosFamilia.push(check);\r\n //}\r\n //if (existe != undefined && existe.length > 0) {\r\n // e.Enviado = true;\r\n // e.Status = existe[0] != null ? existe[0].Status : \"\";\r\n //}\r\n }\r\n self.documentosFamilia.push(e);\r\n break;\r\n case 'F':\r\n if (self.ListaDocumentosAnexadosFiador || _inscricao.corresponsaveisFinanceiros) {\r\n\r\n existe = $filter('filter')(self.ListaDocumentosAnexadosFiador, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n if (existe == undefined && existe.length == 0) {\r\n existe = $filter('filter')(_inscricao.corresponsaveisFinanceiros, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n\r\n }\r\n\r\n\r\n if (existe != undefined && existe.length > 0) {\r\n e.Enviado = true;\r\n e.Status = existe[0] != null ? existe[0].Status : \"\";\r\n\r\n e.FAKE_ID = e.ID_CHECK_LIST_DOC_CAMPUS;\r\n\r\n }\r\n }\r\n\r\n\r\n self.documentosFiador.push(e);\r\n\r\n break;\r\n case 'C':\r\n\r\n if (self.ListaDocumentosAnexadosConjuge) {\r\n existe = $filter('filter')(self.ListaDocumentosAnexadosConjuge, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n if (existe != undefined && existe.length > 0) {\r\n e.Enviado = true;\r\n e.Status = existe[0] != null ? existe[0].Status : \"\";\r\n }\r\n }\r\n self.documentosConjuge.push(e);\r\n break;\r\n case 'R':\r\n\r\n if (self.ListaDocumentosAnexadosResponsavel) {\r\n existe = $filter('filter')(self.ListaDocumentosAnexadosResponsavel, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS });\r\n if (existe != undefined && existe.length > 0) {\r\n e.Enviado = true;\r\n e.Status = existe[0] != null ? existe[0].Status : \"\";\r\n }\r\n }\r\n self.documentosResponsavel.push(e);\r\n break;\r\n }\r\n });\r\n\r\n }\r\n\r\n /* eslint-disable no-console */\r\n // ////console.log(self.documentosFamilia);\r\n /* eslint-enable no-console */\r\n \r\n\r\n angular.forEach(self.lead.documentosAluno, function (e) {\r\n var it = $filter('filter')(self.documentos, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS, 'DESCRICAO': e.DESCRICAO });\r\n if (it == undefined || it.length == 0) {\r\n e.OBRIGATORIO = true;\r\n self.documentosAluno.push(e)\r\n }\r\n });\r\n\r\n angular.forEach(self.lead.documentosFiador, function (e) {\r\n var it = $filter('filter')(self.documentosFiador, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS, 'DESCRICAO': e.DESCRICAO });\r\n if (it == undefined || it.length == 0) {\r\n e.OBRIGATORIO = true;\r\n self.documentosFiador.push(e)\r\n }\r\n });\r\n\r\n angular.forEach(self.lead.documentosConjuge, function (e) {\r\n var it = $filter('filter')(self.documentosConjuge, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS, 'DESCRICAO': e.DESCRICAO });\r\n if (it == undefined || it.length == 0) {\r\n e.OBRIGATORIO = true;\r\n self.documentosConjuge.push(e)\r\n }\r\n });\r\n\r\n angular.forEach(self.lead.documentosFamilia, function (e) {\r\n var it = $filter('filter')(self.documentosFamilia, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS, 'DESCRICAO': e.DESCRICAO });\r\n if (it == undefined || it.length == 0) {\r\n e.OBRIGATORIO = true;\r\n self.documentosFamilia.push(e)\r\n }\r\n });\r\n\r\n angular.forEach(self.lead.documentosResponsavel, function (e) {\r\n var it = $filter('filter')(self.documentosResponsavel, { 'ID_CHECK_LIST_DOC_CAMPUS': e.ID_CHECK_LIST_DOC_CAMPUS, 'DESCRICAO': e.DESCRICAO });\r\n if (it == undefined || it.length == 0) {\r\n e.OBRIGATORIO = true;\r\n self.documentosResponsavel.push(e)\r\n }\r\n });\r\n\r\n Instituicao.dataAsync().then(function (data) {\r\n self.instituicao = data;\r\n localStorage.setItem(\"instituicao\", JSON.stringify(self.instituicao));\r\n\r\n Estado.campus.all(self.instituicao.ID_CAMPUS).then(promiseEstadoSuccess);\r\n\r\n });\r\n });\r\n\r\n }\r\n\r\n self.ListaDocumentosAnexadosFiador = _inscricao.lead.documentosFiador;\r\n self.ListaDocumentosAnexadosAluno = _inscricao.lead.documentosAluno;\r\n self.ListaDocumentosAnexadosFamilia = _inscricao.lead.documentosFamilia;\r\n self.ListaDocumentosAnexadosConjuge = _inscricao.lead.documentosConjuge;\r\n self.ListaDocumentosAnexadosResponsavel = _inscricao.lead.documentosResponsavel;\r\n\r\n var selectedInstituicao = Instituicao.data();\r\n self.listaBannerConclusao = $filter(\"filter\")(selectedInstituicao.BANNER_HOTSITE, { TIPO: \"Conclusao\" });\r\n self.textoConclusao = selectedInstituicao.TEXTO_CONCLUSAO ? selectedInstituicao.TEXTO_CONCLUSAO : '';\r\n self.exibeImgTextoConclusao = selectedInstituicao.EXIBE_IMG_TEXTO_CONCLUSAO ? selectedInstituicao.EXIBE_IMG_TEXTO_CONCLUSAO : 'N';\r\n\r\n self.MontarListaConsultores();\r\n\r\n\r\n\r\n self.enderecoAluno.UF = self.lead.UF;\r\n self.enderecoAluno.LOGRADOURO = self.lead.LOGRADOURO;\r\n self.enderecoAluno.CIDADE = self.lead.CIDADE;\r\n self.enderecoAluno.BAIRRO = self.lead.BAIRRO;\r\n self.enderecoAluno.ESTADO = self.lead.ESTADO;\r\n self.enderecoAluno.CEP = self.lead.CEP;\r\n self.enderecoAluno.NUMERO = self.lead.NUMERO;\r\n self.enderecoAluno.COMPLEMENTO = self.lead.COMPLEMENTO;\r\n\r\n if (typeof self.lead.CEP == 'number') {\r\n self.lead.CEP = self.lead.CEP.toString();\r\n }\r\n\r\n if (((self.lead.UF == null || self.lead.UF == '')\r\n || (self.lead.LOGRADOURO == null || self.lead.LOGRADOURO == '')\r\n || (self.lead.CIDADE == null || self.lead.CIDADE == '')\r\n || (self.lead.BAIRRO == null || self.lead.BAIRRO == '')\r\n || (self.lead.ESTADO == null || self.lead.ESTADO == ''))\r\n && (self.lead.CEP != null && self.lead.CEP != '')) {\r\n self.consultarCepAlunoRet();\r\n }\r\n\r\n }\r\n\r\n\r\n };\r\n\r\n self.getOS = function () {\r\n var os;\r\n var osVersao;\r\n var userAgent = navigator.userAgent;\r\n var appVersion = navigator.appVersion;\r\n\r\n var clientStrings = [\r\n { s: 'Windows 10', r: /(Windows 10.0|Windows NT 10.0)/ },\r\n { s: 'Windows 8.1', r: /(Windows 8.1|Windows NT 6.3)/ },\r\n { s: 'Windows 8', r: /(Windows 8|Windows NT 6.2)/ },\r\n { s: 'Windows 7', r: /(Windows 7|Windows NT 6.1)/ },\r\n { s: 'Windows Vista', r: /Windows NT 6.0/ },\r\n { s: 'Windows Server 2003', r: /Windows NT 5.2/ },\r\n { s: 'Windows XP', r: /(Windows NT 5.1|Windows XP)/ },\r\n { s: 'Windows 2000', r: /(Windows NT 5.0|Windows 2000)/ },\r\n { s: 'Windows ME', r: /(Win 9x 4.90|Windows ME)/ },\r\n { s: 'Windows 98', r: /(Windows 98|Win98)/ },\r\n { s: 'Windows 95', r: /(Windows 95|Win95|Windows_95)/ },\r\n { s: 'Windows NT 4.0', r: /(Windows NT 4.0|WinNT4.0)/ },\r\n { s: 'Windows CE', r: /Windows CE/ },\r\n { s: 'Windows 3.11', r: /Win16/ },\r\n { s: 'Android', r: /Android/ },\r\n { s: 'Open BSD', r: /OpenBSD/ },\r\n { s: 'Sun OS', r: /SunOS/ },\r\n { s: 'Chrome OS', r: /CrOS/ },\r\n { s: 'Linux', r: /(Linux|X11(?!.*CrOS))/ },\r\n { s: 'iOS', r: /(iPhone|iPad|iPod)/ },\r\n { s: 'Mac OS X', r: /Mac OS X/ },\r\n { s: 'Mac OS', r: /(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\r\n { s: 'QNX', r: /QNX/ },\r\n { s: 'UNIX', r: /UNIX/ },\r\n { s: 'BeOS', r: /BeOS/ },\r\n { s: 'OS/2', r: /OS\\/2/ },\r\n { s: 'Search Bot', r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ },\r\n { s: 'Windows', r: /Windows/ }\r\n ];\r\n for (var id in clientStrings) {\r\n var cs = clientStrings[id];\r\n if (cs.r.test(userAgent)) {\r\n os = cs.s;\r\n break;\r\n }\r\n }\r\n\r\n if (/Windows/.test(os)) {\r\n if (/Windows (.*)/.exec(os))\r\n osVersao = /Windows (.*)/.exec(os)[1];\r\n else {\r\n osVersao = /Windows (.*)/.exec(userAgent)[1].split(\";\")[0];\r\n }\r\n os = 'Windows';\r\n }\r\n\r\n switch (os) {\r\n case 'Mac OS':\r\n case 'Mac OS X':\r\n case 'Android':\r\n osVersao = /(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\\.\\_\\d]+)/.exec(userAgent)[1];\r\n break;\r\n\r\n case 'iOS':\r\n osVersao = /OS (\\d+)_(\\d+)_?(\\d+)?/.exec(appVersion);\r\n osVersao = osVersao[1] + '.' + osVersao[2] + '.' + (osVersao[3] | 0);\r\n break;\r\n }\r\n\r\n return os + ' ' + osVersao\r\n }\r\n\r\n self.getBrowser = function () {\r\n var userAgent = navigator.userAgent;\r\n var browser = navigator.appName;\r\n var versao = '' + parseFloat(navigator.appVersion);\r\n var versaoMaior = parseInt(navigator.appVersion, 10);\r\n var versaoIndex, nomeIndex, ix;\r\n\r\n // Opera\r\n if ((versaoIndex = userAgent.indexOf('Opera')) != -1) {\r\n browser = 'Opera';\r\n versao = userAgent.substring(versaoIndex + 6);\r\n if ((versaoIndex = userAgent.indexOf('Version')) != -1) {\r\n versao = userAgent.substring(versaoIndex + 8);\r\n }\r\n }\r\n // Opera Next\r\n if ((versaoIndex = userAgent.indexOf('OPR')) != -1) {\r\n browser = 'Opera';\r\n versao = userAgent.substring(versaoIndex + 4);\r\n }\r\n // Legacy Edge\r\n else if ((versaoIndex = userAgent.indexOf('Edge')) != -1) {\r\n browser = 'Microsoft Legacy Edge';\r\n versao = userAgent.substring(versaoIndex + 5);\r\n }\r\n // Edge (Chromium)\r\n else if ((versaoIndex = userAgent.indexOf('Edg')) != -1) {\r\n browser = 'Microsoft Edge';\r\n versao = userAgent.substring(versaoIndex + 4);\r\n }\r\n // MSIE\r\n else if ((versaoIndex = userAgent.indexOf('MSIE')) != -1) {\r\n browser = 'Microsoft Internet Explorer';\r\n versao = userAgent.substring(versaoIndex + 5);\r\n }\r\n // Chrome\r\n else if ((versaoIndex = userAgent.indexOf('Chrome')) != -1) {\r\n browser = 'Chrome';\r\n versao = userAgent.substring(versaoIndex + 7);\r\n }\r\n // Safari\r\n else if ((versaoIndex = userAgent.indexOf('Safari')) != -1) {\r\n browser = 'Safari';\r\n versao = userAgent.substring(versaoIndex + 7);\r\n if ((versaoIndex = userAgent.indexOf('Version')) != -1) {\r\n versao = userAgent.substring(versaoIndex + 8);\r\n }\r\n }\r\n // Firefox\r\n else if ((versaoIndex = userAgent.indexOf('Firefox')) != -1) {\r\n browser = 'Firefox';\r\n versao = userAgent.substring(versaoIndex + 8);\r\n }\r\n // MSIE 11+\r\n else if (userAgent.indexOf('Trident/') != -1) {\r\n browser = 'Microsoft Internet Explorer';\r\n versao = userAgent.substring(userAgent.indexOf('rv:') + 3);\r\n }\r\n // Outros\r\n else if ((nomeIndex = userAgent.lastIndexOf(' ') + 1) < (versaoIndex = userAgent.lastIndexOf('/'))) {\r\n browser = userAgent.substring(nomeIndex, versaoIndex);\r\n versao = userAgent.substring(versaoIndex + 1);\r\n if (browser.toLowerCase() == browser.toUpperCase()) {\r\n browser = navigator.appName;\r\n }\r\n }\r\n\r\n // trim the version string\r\n if ((ix = versao.indexOf(';')) != -1) versao = versao.substring(0, ix);\r\n if ((ix = versao.indexOf(' ')) != -1) versao = versao.substring(0, ix);\r\n if ((ix = versao.indexOf(')')) != -1) versao = versao.substring(0, ix);\r\n\r\n versaoMaior = parseInt('' + versao, 10);\r\n if (isNaN(versaoMaior)) {\r\n versao = '' + parseFloat(navigator.appVersion);\r\n versaoMaior = parseInt(navigator.appVersion, 10);\r\n }\r\n\r\n return browser + ' ' + versaoMaior + ' (' + versao + ')'\r\n }\r\n\r\n self.verificarDocumento = function (mr, doc) {\r\n var existe = $filter('filter')(self.ListaDocumentosAnexadosFamilia, { 'ID_CHECK_LIST_DOC_CAMPUS': doc.ID_CHECK_LIST_DOC_CAMPUS, 'IdPessoa': mr.ID_MEMBROS_FAMILIA });\r\n\r\n return existe && existe.length == 1 && existe[0].Status == \"VAL\";\r\n }\r\n\r\n self.verificarDocumentoFiador = function (mr, doc) {\r\n var existe = $filter('filter')(self.ListaDocumentosAnexadosFiador, { 'ID_CHECK_LIST_DOC_CAMPUS': doc.ID_CHECK_LIST_DOC_CAMPUS, 'IdPessoa': mr.ID_RESPONSAVEL_SERASA });\r\n\r\n return existe && existe.length == 1 && existe[0].Status == \"VAL\";\r\n }\r\n\r\n self.GerarSenhaPortalAluno = function () {\r\n\r\n var data = {\r\n cpf: self.lead.CPF.replace(/[^\\d]+/g, ''),\r\n GerarNovaSenha: 'false',\r\n idCandidato: self.lead.ID_CANDIDATO,\r\n IdLogin: self.lead.IdLogin\r\n };\r\n\r\n\r\n $API.postUpload('/GerarGuid', data).then(function (r) {\r\n\r\n if (r) {\r\n window.location.href = API_SETTINGS[ENV].PORTAL_ALUNO_CREDUC + '/alterar-senha/?t=' + r.data.Dados + '&site=true';\r\n }\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao gerar guid'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n\r\n }\r\n\r\n self.enviou = function (idPessoa, idCheklist, tipo) {\r\n var enviado = false;\r\n\r\n if (tipo == \"fiador\") {\r\n if ($filter('filter')(self.ListaDocumentosAnexadosFiador, { 'ID_CHECK_LIST_DOC_CAMPUS': idCheklist, 'IdPessoa': idPessoa, 'Enviado': true }).length > 0) {\r\n enviado = true;\r\n var divDoc = document.getElementById(idCheklist + \"_\" + idPessoa);\r\n if (divDoc != null) {\r\n divDoc.classList.add('btn-has-file')\r\n }\r\n } else {\r\n enviado = false;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n if (tipo == \"familia\") {\r\n\r\n if ($filter('filter')(self.ListaDocumentosAnexadosFamilia, { 'ID_CHECK_LIST_DOC_CAMPUS': idCheklist, 'IdPessoa': idPessoa, 'Enviado': true }).length > 0) {\r\n enviado = true;\r\n\r\n var divDoc1 = document.getElementById(idCheklist + \"_\" + idPessoa);\r\n if (divDoc1 != null) {\r\n divDoc1.classList.add('btn-has-file')\r\n }\r\n } else {\r\n enviado = false;\r\n }\r\n }\r\n\r\n\r\n\r\n return enviado;\r\n }\r\n\r\n\r\n self.MontarListaConsultores = function () {\r\n var data = {\r\n idInstituicaoFiltro: self.lead.instituicaoSelecionado.ID_PAI,\r\n };\r\n\r\n $API.post('api/Consultor/Filter', data).then(function (r) {\r\n\r\n if (r) {\r\n self.listaConsultor = r.data.ReturnData;\r\n }\r\n\r\n }, function () {\r\n\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n\r\n }\r\n\r\n self.getTituloRenda = function () {\r\n return self.instituicao.TEXTO_CAMPO_RENDA;\r\n };\r\n\r\n self.Menor = function (data) {\r\n return getIdade(data) < 18;\r\n };\r\n\r\n self.mudarRota = function (rota) {\r\n\r\n var ies = localStorage.getItem(\"lastInstituicao\")\r\n $state.go('instituicao-inscricao-' + rota, { instituicao: ies });\r\n\r\n\r\n };\r\n\r\n self.mudarRotaTopo = function (rota) {\r\n\r\n var ies = localStorage.getItem(\"lastInstituicao\");\r\n if (ENV == \"DEV\") {\r\n $state.go('instituicao-inscricao-' + rota, { instituicao: ies });\r\n\r\n }\r\n\r\n\r\n };\r\n\r\n self.gravaDadosaAcademicos = function () {\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.lead = self.lead;\r\n insc.lead.alunoVeterano = self.alunoVeterano;\r\n insc.lead.estadoCivil = self.selected.estadoCivil;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n };\r\n self.getDicaRenda = function () {\r\n return self.instituicao.TEXTO_INFORMATIVO_RENDA;\r\n };\r\n\r\n //================================================================================================================================================\r\n // Consulta endereço a partir do CEP digitado\r\n //================================================================================================================================================ \r\n self.consultarCepAluno = function () {\r\n //////console.log(typeof self.lead.CEP);\r\n //////console.log(self.lead.CEP.length);\r\n if (self.lead && self.lead.CEP && self.lead.CEP.length == 8) {\r\n\r\n var url = '/endereco/cep/{idCep}';\r\n url = url.replace('{idCep}', self.lead.CEP);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados) {\r\n self.enderecoAluno.UF = result.data.Dados.UF;\r\n self.enderecoAluno.LOGRADOURO = result.data.Dados.Logradouro;\r\n self.enderecoAluno.CIDADE = result.data.Dados.Cidade;\r\n self.enderecoAluno.BAIRRO = result.data.Dados.Bairro;\r\n self.enderecoAluno.ESTADO = result.data.Dados.Estado;\r\n self.enderecoAluno.CEP = result.data.Dados.CEP;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //========================================\r\n //ConsultaAlunoAprovado\r\n //=======================================\r\n self.VerificarStatusAprovado = function () {\r\n var userInfo = JSON.parse(localStorage.getItem(\"user_info\"));\r\n $API.get(API_SETTINGS[ENV].CREDUC_API + '/api/Candidato/VerificarStatusAprovado?cpf=' + userInfo.CPF + '&idCampus=' + userInfo.ID_CAMPUS + '&idCampusCurso=' + userInfo.CURSO.ID_CAMPUS_CURSO).then(function (res) {\r\n return res.data.ReturnData;\r\n },\r\n function (err) {\r\n if (err && err.status === 500) {\r\n DialogService.error({\r\n title: 'Ocorreu um problema interno no servidor.',\r\n message:\r\n 'Ocorreu um problema interno no servidor.
Tente novamente. Se o problema persistir entre em contato com a instituição.
'\r\n });\r\n }\r\n });\r\n };\r\n\r\n //================================================================================================================================================\r\n // Consulta endereço a partir do CEP digitado\r\n //================================================================================================================================================ \r\n self.consultarCepAlunoRet = function () {\r\n //////console.log(typeof self.lead.CEP);\r\n //////console.log(self.lead.CEP.length);\r\n if (self.lead && self.lead.CEP && self.lead.CEP.length == 8) {\r\n\r\n var url = '/endereco/cep/{idCep}';\r\n url = url.replace('{idCep}', self.lead.CEP);\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.Dados) {\r\n if ((self.enderecoAluno.UF == null || self.enderecoAluno.UF == '')) {\r\n self.enderecoAluno.UF = result.data.Dados.UF;\r\n }\r\n if (self.enderecoAluno.LOGRADOURO == null || self.enderecoAluno.LOGRADOURO == '') {\r\n self.enderecoAluno.LOGRADOURO = result.data.Dados.Logradouro;\r\n }\r\n if (self.enderecoAluno.CIDADE == null || self.enderecoAluno.CIDADE == '') {\r\n self.enderecoAluno.CIDADE = result.data.Dados.Cidade;\r\n }\r\n if (self.enderecoAluno.BAIRRO == null || self.enderecoAluno.BAIRRO == '') {\r\n self.enderecoAluno.BAIRRO = result.data.Dados.Bairro;\r\n }\r\n if (self.enderecoAluno.ESTADO == null || self.enderecoAluno.ESTADO == '') {\r\n self.enderecoAluno.ESTADO = result.data.Dados.Estado;\r\n }\r\n if (self.enderecoAluno.CEP == null || self.enderecoAluno.CEP == '') {\r\n self.enderecoAluno.CEP = result.data.Dados.CEP;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function fileExists(obj, index) {\r\n if (typeof obj === \"object\" && obj.hasOwnProperty(index)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function removeFile(obj, index) {\r\n if (fileExists(obj, index)) {\r\n delete obj[index];\r\n }\r\n }\r\n\r\n function getParentescoDescricao(FL_PARENTESCO) {\r\n switch (FL_PARENTESCO) {\r\n case 'P': return 'Pai/Mãe';\r\n case 'I': return 'Irmão/Irmã';\r\n case 'F': return 'Filho/Filha';\r\n case 'R': return 'Primo/Prima';\r\n case 'A': return 'Avô/Avó';\r\n case 'T': return 'Tio/Tia';\r\n case 'O': return 'Outros';\r\n default: return '';\r\n }\r\n }\r\n\r\n function adicionarMembroResponsavel(tipoCadastro) {\r\n var responsavel = null;\r\n\r\n if (tipoCadastro == \"fiador\") {\r\n if (document.getElementById('PARENTESCO').value != '' && document.getElementById('PARENTESCO').value != null && (self.membroResponsavel == null || self.membroResponsavel.FL_PARENTESCO == null)) {\r\n\r\n self.membroResponsavel = {};\r\n self.membroResponsavel.NOME = document.getElementById('nome').value;\r\n self.membroResponsavel.CPF = document.getElementById('cpf').value.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n var arrdt = document.getElementById('DT_NASCIMENTO').value.split('/');\r\n self.membroResponsavel.DT_NASCIMENTO = new Date(arrdt[2], arrdt[1], arrdt[0]);\r\n self.membroResponsavel.FL_PARENTESCO = document.getElementById('PARENTESCO').value;\r\n self.membroResponsavel.EMAIL = document.getElementById('EMAIL').value;\r\n localStorage.removeItem(\"inscricaoFK\");\r\n }\r\n responsavel = angular.extend({}, self.membroResponsavel);\r\n } else if (tipoCadastro == \"familia\") {\r\n if (document.getElementById('PARENTESCO').value != '' && document.getElementById('PARENTESCO').value != null && (self.membroFamilia == null || self.membroFamilia.FL_PARENTESCO == null)) {\r\n\r\n self.membroFamilia = {};\r\n self.membroFamilia.NOME = document.getElementById('NOME').value;\r\n self.membroFamilia.CPF = document.getElementById('CPF').value.replace(\".\", \"\").replace(\".\", \"\").replace(\"-\", \"\");\r\n var arrdt1 = document.getElementById('DT_NASCIMENTO').value.split('/');\r\n self.membroFamilia.DT_NASCIMENTO = new Date(arrdt1[2], arrdt1[1], arrdt1[0]);\r\n\r\n \r\n\r\n self.membroFamilia.FL_PARENTESCO = document.getElementById('PARENTESCO').value;\r\n self.membroFamilia.RENDA = parseFloat(document.getElementById('RENDA').value.replace(\"R$ \", \"\").replace(\".\", \"\").replace(\".\", \"\").replace(\".\", \"\").replace(\".\", \"\").replace(\".\", \"\").replace(\",\", \".\"));\r\n localStorage.removeItem(\"inscricaoFK\");\r\n\r\n }\r\n \r\n\r\n \r\n\r\n responsavel = angular.extend({}, self.membroFamilia);\r\n }\r\n\r\n\r\n var isValid = true;\r\n var tipoResponsavel = tipoCadastro == \"fiador\" ? 'Responsável Financeiro' : 'Membro da família';\r\n\r\n var keys = ['NOME', 'DT_NASCIMENTO', 'FL_PARENTESCO'];\r\n\r\n if (typeof responsavel !== \"object\" || !Object.keys(responsavel).length) {\r\n\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'Informe os dados de ' + tipoResponsavel + ' corretamente!'\r\n });\r\n return false;\r\n }\r\n\r\n angular.forEach(keys, function (e) {\r\n if (!responsavel.hasOwnProperty(e) || !responsavel[e]) {\r\n isValid = false;\r\n }\r\n });\r\n\r\n\r\n if (tipoCadastro == \"fiador\") {\r\n\r\n if (!responsavel.EMAIL && self.habilitaAceiteContratoOnline) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'Informe um email!'\r\n });\r\n return false;\r\n }\r\n\r\n if (!responsavel.CPF) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'Informe um cpf válido!'\r\n });\r\n return false;\r\n }\r\n\r\n if (self.lead && responsavel.hasOwnProperty('CPF') && responsavel.CPF == self.lead.CPF) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'O CPF do ' + tipoResponsavel + ' não pode ser igual ao do candidato!'\r\n });\r\n return false;\r\n }\r\n } else if (tipoCadastro == \"familia\") {\r\n var idade = getIdade(responsavel.DT_NASCIMENTO);\r\n if (idade == 'NAN') {\r\n idade = 20;\r\n }\r\n\r\n if (!responsavel.CPF) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'Informe um cpf válido!'\r\n });\r\n return false;\r\n }\r\n\r\n if ((!responsavel.hasOwnProperty('CPF') || (responsavel.CPF == undefined || responsavel.CPF.CPF == '')) && (idade >= 18)) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'O CPF para maiores de 18 anos é obrigatorio para ' + tipoResponsavel + '!'\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n var idaderesponsavel = getIdade(responsavel.DT_NASCIMENTO);\r\n\r\n if (tipoCadastro == \"fiador\" && (self.exibeResponsaveisFinanceiros() || self.exigeResponsaveisFinanceiros()) && responsavel.hasOwnProperty('DT_NASCIMENTO') && (idaderesponsavel < 18)) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'O ' + tipoResponsavel + ' não pode ter idade menor que 18 anos!'\r\n });\r\n return false;\r\n }\r\n\r\n var listaMembros = null;\r\n\r\n if (tipoCadastro == \"fiador\") {\r\n listaMembros = self.corresponsaveisFinanceiros;\r\n } else if (tipoCadastro == \"familia\") {\r\n listaMembros = self.membrosFamilia;\r\n }\r\n\r\n if (listaMembros != null && responsavel.CPF != undefined && responsavel.CPF != '' && verificaCpfRepetido(listaMembros, responsavel.CPF)) {\r\n isValid = false;\r\n DialogService.alert({\r\n message: 'Você já adicionou um ' + tipoResponsavel + ' com o CPF informado. Por favor, informe outro CPF!'\r\n });\r\n return false;\r\n }\r\n\r\n if (!isValid) {\r\n DialogService.alert({\r\n message: 'Informe os dados de ' + tipoResponsavel + ' corretamente!'\r\n });\r\n return false;\r\n }\r\n\r\n if (tipoCadastro == 'familia') {\r\n self.SalvarMembroFamilia(responsavel);\r\n } else if (tipoCadastro == 'fiador') {\r\n self.SalvarResponsavelFinanceiro(responsavel);\r\n }\r\n\r\n self.membroResponsavel = {};\r\n self.membroFamilia = {};\r\n self.showFormFamilia = false;\r\n self.showFormFiador = false;\r\n window[\"limpaDadosTeste\"]();\r\n\r\n\r\n }\r\n\r\n function removerMembroResponsavel(i, tipo, objeto) {\r\n if (tipo == \"fiador\") {\r\n self.RemoverResponsavelFinanceiro(i, tipo, objeto);\r\n } else if (tipo == \"familia\") {\r\n self.RemoverMembroFamilia(i, tipo, objeto);\r\n\r\n }\r\n window[\"limpaDadosTeste\"]();\r\n }\r\n\r\n function verificaCpfRepetido(lista, CPF) {\r\n var repetido = false;\r\n angular.forEach(lista, function (e) {\r\n if (e.CPF == CPF) {\r\n repetido = true;\r\n }\r\n });\r\n return repetido;\r\n }\r\n self.exibeMembrosDaFamilia = function () {\r\n return exibeCampo(\"EXIBIR_CAMPO_PESSOAS_FAMILIA\");\r\n }\r\n self.exigeMembrosDaFamilia = function () {\r\n return exibeCampo(\"EXIGIR_CAMPO_PESSOAS_FAMILIA\");\r\n }\r\n function exibeCampo(parametro) {\r\n var exibe = false;\r\n var existe = $filter('filter')(self.parametros, { 'SLUG': parametro });\r\n\r\n if (self.parametros && existe != undefined && existe.length > 0 && existe[0].VALOR == \"S\") {\r\n\r\n return true;\r\n }\r\n return exibe;\r\n }\r\n\r\n function exibeDocumentos() {\r\n var ret = false;\r\n if (localStorage.getItem(\"docs\") != null && JSON.parse(localStorage.getItem(\"docs\")).length > 0) {\r\n ret = true;\r\n }\r\n\r\n return ret;\r\n }\r\n\r\n self.exibeResponsaveisFinanceiros = function () {\r\n\r\n return exibeCampo(\"EXIBIR_CAMPO_FIADOR\");\r\n }\r\n self.exibeResponsaveisFinanceirosDoc = function () {\r\n\r\n if (self.corresponsaveisFinanceiros.length > 0) {\r\n return true;\r\n }\r\n return exibeCampo(\"EXIBIR_CAMPO_FIADOR\");\r\n\r\n }\r\n\r\n self.exigeResponsaveisFinanceiros = function () {\r\n\r\n return exibeCampo(\"EXIGIR_CAMPO_FIADOR\");\r\n }\r\n\r\n function getIdade(DT_NASCIMENTO) {\r\n var birth = new Date(DT_NASCIMENTO) || null;\r\n\r\n if (!birth) {\r\n return 0\r\n }\r\n\r\n var d = new Date(),\r\n currentMonth = d.getMonth() + 1,\r\n currentDay = d.getDate(),\r\n\r\n birthMonth = birth.getMonth() + 1,\r\n birthDay = birth.getDate(),\r\n\r\n age = d.getFullYear() - birth.getFullYear();\r\n\r\n if (currentMonth < birthMonth || (currentMonth == birthMonth && currentDay < birthDay)) {\r\n age--;\r\n }\r\n\r\n return age < 0 ? 0 : age;\r\n }\r\n\r\n function candidatoMenorIdade() {\r\n return getIdade(self.lead.DT_NASCIMENTO) < 18;\r\n }\r\n\r\n function exibeDadosResponsavel() {\r\n var rt = self.selected && self.selected.estadoCivil == 'SOL' && self && self.lead && self.lead.DT_NASCIMENTO && candidatoMenorIdade();\r\n if (rt) {\r\n self.lead.CONJUGE_NOME = null;\r\n self.lead.CONJUGE_CPF = null;\r\n }\r\n return rt;\r\n }\r\n\r\n function validaEndereco() {\r\n if ((self.enderecoAluno.LOGRADOURO == null || self.enderecoAluno.LOGRADOURO == '')\r\n || (self.enderecoAluno.ESTADO == null || self.enderecoAluno.ESTADO == '')\r\n || (self.enderecoAluno.BAIRRO == null || self.enderecoAluno.BAIRRO == '')\r\n || (self.enderecoAluno.NUMERO == null || self.enderecoAluno.NUMERO == '')) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n function exibeDadosConjuge() {\r\n var rt = self.selected && (self.selected.estadoCivil == 'CAS' || self.selected.estadoCivil == 'UES');\r\n if (rt) {\r\n self.lead.RESPONSAVEL_NOME = null;\r\n self.lead.RESPONSAVEL_CPF = null;\r\n }\r\n return rt;\r\n }\r\n\r\n function promiseEstadoSuccess(result) {\r\n self.estados = result.data.Dados;\r\n localStorage.setItem(\"estados\", JSON.stringify(self.estados));\r\n }\r\n\r\n function deleteEmptyFile(files) {\r\n angular.forEach(Object.keys(files || []), function (k) {\r\n if (files.hasOwnProperty(k) && typeof files[k] === \"object\" && !files[k]) {\r\n delete files[k];\r\n }\r\n });\r\n }\r\n\r\n function clearEmptyFiles() {\r\n if (self.hasOwnProperty('lead') && self.lead) {\r\n deleteEmptyFile(self.lead.file);\r\n }\r\n\r\n if (self.hasOwnProperty('conjuge') && self.conjuge) {\r\n deleteEmptyFile(self.conjuge.file);\r\n }\r\n\r\n if (self.hasOwnProperty('responsavel') && self.responsavel) {\r\n deleteEmptyFile(self.responsavel.file);\r\n }\r\n\r\n angular.forEach(self.membrosFamilia || [], function (e) {\r\n deleteEmptyFile(e.file);\r\n });\r\n\r\n angular.forEach(self.corresponsaveisFinanceiros || [], function (e) {\r\n deleteEmptyFile(e.file);\r\n });\r\n }\r\n\r\n\r\n\r\n self.salvarPasso = function () {\r\n var inscricao = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n ////console.log(inscricao);\r\n var jaAprovado = false;\r\n $API.get(API_SETTINGS[ENV].CREDUC_API + '/api/Candidato/VerificarStatusAprovado?idCandidato=' + inscricao.lead.ID_CANDIDATO).then(function (res) {\r\n jaAprovado = res.data.ReturnData;\r\n if (jaAprovado) {\r\n DialogService.error({\r\n message:\r\n 'Candidato já aprovado. Não é possível modificar.
'\r\n });\r\n return false;\r\n } else {\r\n window.scrollTo(0, 0);\r\n\r\n switch (pId) {\r\n case 'dados-academicos':\r\n self.SalvarDadosAcademicos();\r\n break;\r\n case 'dados-pessoais':\r\n self.SalvarDadosPessoais();\r\n break;\r\n case 'dados-familia':\r\n self.SalvarDadosFamilia();\r\n break;\r\n case 'dados-financeiros':\r\n self.SalvarDadosFinanceiro();\r\n self.InfoPasso.BTNSalvar = \"SALVAR DADOS FINANCEIROS\";\r\n break;\r\n case 'termo-candidato':\r\n if (self.temPendenciaTermo && !self.temAceiteTermo) {\r\n self.aceitarTermo();\r\n } else {\r\n self.mudarPasso('termo-candidato', true);\r\n }\r\n \r\n self.InfoPasso.BTNSalvar = \"SALVAR DADOS FINANCEIROS\";\r\n break;\r\n case 'documentos-candidato':\r\n self.Concluir();\r\n self.InfoPasso.BTNPular = \"PULAR ENVIO DE DOCUMENTOS\";\r\n break;\r\n case 'pagar-taxa':\r\n self.mudarPasso('pagar-taxa', true);\r\n self.InfoPasso.BTNPular = \"PULAR ENVIO DE DOCUMENTOS\";\r\n break;\r\n case 'conclusao':\r\n self.Concluir();\r\n break;\r\n }\r\n };\r\n },\r\n function (err) {\r\n if (err && err.status === 500) {\r\n DialogService.error({\r\n title: 'Ocorreu um problema interno no servidor.',\r\n message:\r\n 'Ocorreu um problema interno no servidor.
Tente novamente. Se o problema persistir entre em contato com a instituição.
'\r\n });\r\n }\r\n });\r\n }\r\n\r\n self.pulaDocumentos = function () {\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n $state.go('instituicao-inscricao-' + 'conclusao', { instituicao: self.instituicao.SITE });\r\n }\r\n });\r\n }\r\n\r\n self.ExibirPagamento = function () {\r\n if (localStorage.getItem(\"recebivel\") != null) {\r\n var ret = JSON.parse(localStorage.getItem(\"recebivel\"));\r\n if (ret.IdRecebivel > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n\r\n }\r\n } else {\r\n\r\n return false;\r\n }\r\n\r\n }\r\n self.SalvarDadosAcademicos = function () {\r\n\r\n clearEmptyFiles();\r\n\r\n if (self.alunoVeterano == undefined || self.alunoVeterano == '') {\r\n DialogService.error({\r\n message: 'Preencha o campo: Em qual semestre você está matriculado nessa IES?'\r\n });\r\n return;\r\n }\r\n var verterna = self.alunoVeterano == 'Y' ? 'N' : self.alunoVeterano;\r\n var candidato = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n NOTA_ENEM: self.lead.NOTA_ENEM,\r\n FL_VETERANO: verterna,\r\n MATRICULA: self.lead.MATRICULA,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n ID_CONSULTOR: self.idConsultor.IdConsultor\r\n };\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarDadosAcademicos', candidato).then(function () {\r\n\r\n $dialogProgress.close();\r\n\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosAcademicos = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n\r\n $state.go('instituicao-inscricao-dados-pessoais', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n self.contrato = {};\r\n self.mudarPasso = function (passoAtual, conclusaoOk) {\r\n if (passoAtual == \"dados-pessoais\") {\r\n self.buscarVagasDisponiveis();\r\n if (self.exibeMembrosDaFamilia() || self.exigeMembrosDaFamilia()) {\r\n $state.go('instituicao-inscricao-dados-familia', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (self.exibeResponsaveisFinanceiros() || self.exigeResponsaveisFinanceiros()) {\r\n $state.go('instituicao-inscricao-dados-financeiros', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (exibeDocumentos()) {\r\n $state.go('instituicao-inscricao-documentos-candidato', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (self.showPagamento) {\r\n self.conclusaoInscricao();\r\n } else {\r\n self.conclusaoInscricao();\r\n }\r\n } else if (passoAtual == \"dados-membros-familia\") {\r\n if (self.exibeResponsaveisFinanceiros() || self.exigeResponsaveisFinanceiros()) {\r\n $state.go('instituicao-inscricao-dados-financeiros', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (exibeDocumentos()) {\r\n $state.go('instituicao-inscricao-documentos-candidato', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (self.showPagamento) {\r\n self.conclusaoInscricao();\r\n } else {\r\n self.conclusaoInscricao();\r\n }\r\n }\r\n else if (passoAtual == \"dados-financeiros\") {\r\n if (self.paramTermoCompromisso == 'S') {\r\n $state.go('instituicao-inscricao-termo-candidato', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (exibeDocumentos()) {\r\n $state.go('instituicao-inscricao-documentos-candidato', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (self.showPagamento) {\r\n self.conclusaoInscricao();\r\n } else {\r\n if (conclusaoOk) {\r\n self.conclusaoInscricao();\r\n } else {\r\n $state.go('instituicao-inscricao-conclusao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n }\r\n\r\n }\r\n\r\n } else if (passoAtual == \"documentos-candidato\") {\r\n\r\n if (self.showPagamento) {\r\n self.conclusaoInscricao();\r\n }\r\n else {\r\n if (conclusaoOk) {\r\n self.conclusaoInscricao();\r\n } else {\r\n $state.go('instituicao-inscricao-conclusao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n }\r\n }\r\n\r\n\r\n } else if (passoAtual == \"pagar-taxa\") {\r\n\r\n $state.go('instituicao-inscricao-conclusao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n\r\n } else if (passoAtual == \"termo-candidato\") {\r\n if (exibeDocumentos()) {\r\n $state.go('instituicao-inscricao-documentos-candidato', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else if (self.showPagamento) {\r\n self.conclusaoInscricao();\r\n } else {\r\n if (conclusaoOk) {\r\n self.conclusaoInscricao();\r\n } else {\r\n $state.go('instituicao-inscricao-conclusao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n else if (passoAtual == \"instituicao-inscricao-conclusao\") {\r\n if (conclusaoOk) {\r\n self.conclusaoInscricao();\r\n }\r\n }\r\n\r\n }\r\n\r\n self.buscarVagasDisponiveis = function () {\r\n $API.postUpload('/candidato/BuscarVagasDisponiveis/?idCandidato=' + self.lead.ID_CANDIDATO, null).then(function (e) {\r\n\r\n if (e.data.Dados == false) {\r\n localStorage.setItem(\"vagasDisponiveis\", \"N\");\r\n } else {\r\n localStorage.setItem(\"vagasDisponiveis\", \"S\");\r\n }\r\n });\r\n\r\n };\r\n\r\n self.conclusaoInscricao = function () {\r\n localStorage.removeItem(\"recebivel\");\r\n $API.postUpload('/candidato/Concluir/?id=' + self.lead.ID_CANDIDATO, null).then(function (e) {\r\n var ret = e.data.Dados.ReturnData;\r\n localStorage.setItem(\"recebivel\", JSON.stringify(ret));\r\n if (self.showPagamento) {\r\n $state.go('instituicao-inscricao-pagar-taxa', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n } else {\r\n $state.go('instituicao-inscricao-conclusao', {\r\n instituicao: self.instituicao.SITE\r\n });\r\n }\r\n\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n\r\n\r\n }\r\n\r\n self.AtualizarEnderecoAluno = function (idCandidato) {\r\n var endereco = {\r\n IdCandidato: idCandidato,\r\n UF: self.enderecoAluno.UF,\r\n Estado: self.enderecoAluno.ESTADO,\r\n Logradouro: self.enderecoAluno.LOGRADOURO,\r\n Bairro: self.enderecoAluno.BAIRRO,\r\n Cidade: self.enderecoAluno.CIDADE,\r\n Numero: self.enderecoAluno.NUMERO,\r\n Complemento: self.enderecoAluno.COMPLEMENTO\r\n };\r\n\r\n $API.post(API_SETTINGS[ENV].CREDUC_API + '/api/Candidato/AtuaizaEnderecoCandidato', endereco).then(function (res) {\r\n if (res.data.ReturnData == null) {\r\n DialogService.error({\r\n title: 'Erro ao gravar o endereço.',\r\n message: res.data.ReturnData.MensagemCustom\r\n });\r\n }\r\n },\r\n function (err) {\r\n if (err && err.status === 500) {\r\n DialogService.error({\r\n title: 'Erro ao gravar o endereço.',\r\n message:\r\n 'Ocorreu um problema interno no servidor.
Tente novamente. Se o problema persistir entre em contato com a instituição.
'\r\n });\r\n }\r\n });\r\n }\r\n\r\n self.SalvarDadosPessoais = function () {\r\n\r\n clearEmptyFiles();\r\n\r\n if (document.getElementById('dtNascimento').value != '' && document.getElementById('dtNascimento').value != null && (self.lead.DT_NASCIMENTO == undefined || self.lead.DT_NASCIMENTO == null)) {\r\n\r\n\r\n var arrdt1 = document.getElementById('dtNascimento').value.split('/');\r\n self.lead.DT_NASCIMENTO = new Date(arrdt1[2], arrdt1[1], arrdt1[0]);\r\n\r\n }\r\n if (document.getElementById('cep').value != '' && document.getElementById('cep').value != null && (self.lead.CEP == undefined || self.lead.CEP == null)) {\r\n self.lead.CEP = document.getElementById('cep').value.replace('-', '');\r\n }\r\n\r\n if (document.getElementById('logradouro').value != '' && document.getElementById('logradouro').value != null && (self.enderecoAluno.LOGRADOURO == undefined || self.enderecoAluno.LOGRADOURO == null || self.enderecoAluno.LOGRADOURO == \"\")) {\r\n self.enderecoAluno.LOGRADOURO = document.getElementById('logradouro').value;\r\n }\r\n if (document.getElementById('bairro').value != '' && document.getElementById('bairro').value != null && (self.enderecoAluno.BAIRRO == undefined || self.enderecoAluno.BAIRRO == null || self.enderecoAluno.BAIRRO == \"\")) {\r\n self.enderecoAluno.BAIRRO = document.getElementById('bairro').value;\r\n }\r\n if (document.getElementById('cidade').value != '' && document.getElementById('cidade').value != null && (self.enderecoAluno.CIDADE == undefined || self.enderecoAluno.CIDADE == null || self.enderecoAluno.CIDADE == \"\")) {\r\n self.enderecoAluno.CIDADE = document.getElementById('cidade').value;\r\n }\r\n if (document.getElementById('estado').value != '' && document.getElementById('estado').value != null && (self.enderecoAluno.ESTADO == undefined || self.enderecoAluno.ESTADO == null || self.enderecoAluno.ESTADO == \"\")) {\r\n self.enderecoAluno.ESTADO = document.getElementById('estado').value;\r\n }\r\n if (document.getElementById('numero').value != '' && document.getElementById('numero').value != null && (self.enderecoAluno.NUMERO == undefined || self.enderecoAluno.NUMERO == null || self.enderecoAluno.NUMERO == \"\")) {\r\n self.enderecoAluno.NUMERO = document.getElementById('numero').value;\r\n }\r\n\r\n\r\n\r\n if (document.getElementById('estadocivil').value != '' && document.getElementById('estadocivil').value != null && (self.lead.estadoCivil == undefined || self.lead.estadoCivil == null)) {\r\n self.lead.estadoCivil = document.getElementById('estadocivil').value;\r\n self.selected.estadoCivil = document.getElementById('estadocivil').value;\r\n }\r\n\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.lead = self.lead;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n\r\n\r\n if (self.lead.DT_NASCIMENTO == undefined || self.lead.DT_NASCIMENTO == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha a data de nascimento!'\r\n });\r\n return;\r\n }\r\n if (self.lead.CEP == undefined || self.lead.CEP == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o CEP!'\r\n });\r\n return;\r\n }\r\n if (self.lead.estadoCivil == undefined || self.lead.estadoCivil == null) {\r\n DialogService.error({\r\n message: 'Por favor preencha o estado civil!'\r\n });\r\n return;\r\n }\r\n\r\n if (exibeDadosConjuge() && (self.lead.CONJUGE_CPF == null || self.lead.CONJUGE_CPF == '')) {\r\n DialogService.error({\r\n message: 'Por favor preencha o CPF do Cônjuge!'\r\n });\r\n return;\r\n }\r\n if (exibeDadosConjuge() && (self.lead.CONJUGE_NOME == null || self.lead.CONJUGE_NOME == '')) {\r\n DialogService.error({\r\n message: 'Por favor preencha o NOME do Cônjuge!'\r\n });\r\n return;\r\n }\r\n if (exibeDadosResponsavel() && (self.lead.RESPONSAVEL_CPF == null || self.lead.RESPONSAVEL_CPF == '')) {\r\n DialogService.error({\r\n message: 'Por favor preencha o CPF do Responsável!'\r\n });\r\n return;\r\n }\r\n if (exibeDadosResponsavel() && (self.lead.RESPONSAVEL_NOME == null || self.lead.RESPONSAVEL_NOME == '')) {\r\n DialogService.error({\r\n message: 'Por favor preencha o NOME do Responsável!'\r\n });\r\n return;\r\n }\r\n\r\n if (!validaEndereco()) {\r\n DialogService.error({\r\n message: 'Preencha corretamente o endereço!'\r\n });\r\n return;\r\n }\r\n\r\n var dtMon = null;\r\n if (self.lead.DT_NASCIMENTO.toString().indexOf('/') == -1)\r\n dtMon = self.lead.DT_NASCIMENTO;\r\n else {\r\n var dtMont = self.lead.DT_NASCIMENTO.split('/');\r\n dtMon = new Date(dtMont[2], dtMont[1] - 1, dtMont[0]);\r\n }\r\n\r\n\r\n\r\n //return;\r\n // mapeia\r\n var candidato = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n CPF: self.lead.CPF,\r\n NOME: self.lead.NOME.toUpperCase(),\r\n EMAIL: self.lead.EMAIL.toLowerCase(),\r\n CELULAR: self.lead.CELULAR,\r\n TELEFONE: self.lead.TELEFONE,\r\n DT_NASCIMENTO: dtMon,\r\n CEP: self.lead.CEP,\r\n FL_ESTADO_CIVIL: self.selected.estadoCivil,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n CONJUGE_NOME: self.lead.CONJUGE_NOME,\r\n CONJUGE_CPF: self.lead.CONJUGE_CPF,\r\n RESPONSAVEL_NOME: self.lead.RESPONSAVEL_NOME,\r\n RESPONSAVEL_CPF: self.lead.RESPONSAVEL_CPF,\r\n UF: self.enderecoAluno.UF,\r\n ESTADO: self.enderecoAluno.ESTADO,\r\n LOGRADOURO: self.enderecoAluno.LOGRADOURO,\r\n BAIRRO: self.enderecoAluno.BAIRRO,\r\n CIDADE: self.enderecoAluno.CIDADE,\r\n NUMERO: self.enderecoAluno.NUMERO,\r\n COMPLEMENTO: self.enderecoAluno.COMPLEMENTO,\r\n };\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarDadosPessoais', candidato).then(function (saida) {\r\n self.AtualizarEnderecoAluno(candidato.ID_CANDIDATO);\r\n\r\n $dialogProgress.close();\r\n\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.lead.ID_CANDIDATO_RESPONSAVEL = saida.data.Dados.ID_CANDIDATO_RESPONSAVEL;\r\n insc.lead.ID_CANDIDATO_CONJUGE = saida.data.Dados.ID_CANDIDATO_CONJUGE;\r\n\r\n insc.passoDadosPessoais = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n\r\n self.mudarPasso('dados-pessoais', true);\r\n\r\n\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n\r\n self.SalvarMembroFamilia = function (responsavel) {\r\n\r\n\r\n clearEmptyFiles();\r\n\r\n\r\n // mapeia\r\n var objeto = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n MEMBROS_FAMILIA: [{\r\n NOME: self.membroFamilia.NOME,\r\n CPF: self.membroFamilia.CPF,\r\n DT_NASCIMENTO: self.membroFamilia.DT_NASCIMENTO,\r\n FL_PARENTESCO: self.membroFamilia.FL_PARENTESCO,\r\n RENDA: self.membroFamilia.RENDA,\r\n }]\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarMembroFamilia', objeto).then(function (r) {\r\n\r\n $dialogProgress.close();\r\n responsavel.ID_MEMBROS_FAMILIA = r.data.Dados;\r\n self.membrosFamilia.push(responsavel);\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n\r\n insc.membrosFamilia = self.membrosFamilia;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.rendaPercapita();\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n self.RemoverMembroFamilia = function (i, tipo, objeto) {\r\n\r\n\r\n\r\n clearEmptyFiles();\r\n\r\n\r\n // mapeia\r\n var objetosend = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n MEMBROS_FAMILIA: [{\r\n NOME: objeto.NOME,\r\n CPF: objeto.CPF,\r\n DT_NASCIMENTO: objeto.DT_NASCIMENTO,\r\n FL_PARENTESCO: objeto.FL_PARENTESCO,\r\n RENDA: objeto.RENDA,\r\n ID_MEMBROS_FAMILIA: objeto.ID_MEMBROS_FAMILIA,\r\n }]\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/RemoverMembroFamilia', objetosend).then(function () {\r\n $dialogProgress.close();\r\n self.membrosFamilia.splice(i, 1);\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n\r\n insc.membrosFamilia = self.membrosFamilia;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.rendaPercapita();\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n\r\n self.RemoverResponsavelFinanceiro = function (i, tipo, objeto) {\r\n\r\n\r\n\r\n clearEmptyFiles();\r\n\r\n\r\n // mapeia\r\n var objetosend = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n RESPONSAVEL_SERASA: [{\r\n NOME: objeto.NOME,\r\n CPF: objeto.CPF,\r\n DT_NASCIMENTO: objeto.DT_NASCIMENTO,\r\n FL_PARENTESCO: objeto.FL_PARENTESCO,\r\n RENDA: objeto.RENDA,\r\n ID_RESPONSAVEL_SERASA: objeto.ID_RESPONSAVEL_SERASA,\r\n }]\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/RemoverResponsavelFinanceiro', objetosend).then(function () {\r\n $dialogProgress.close();\r\n self.corresponsaveisFinanceiros.splice(i, 1);\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n\r\n insc.corresponsaveisFinanceiros = self.corresponsaveisFinanceiros;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n\r\n self.SalvarResponsavelFinanceiro = function (responsavel) {\r\n\r\n\r\n clearEmptyFiles();\r\n\r\n\r\n // mapeia\r\n var objeto = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n RESPONSAVEL_SERASA: [responsavel]\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarResponsavelFinanceiro', objeto).then(function (r) {\r\n\r\n $dialogProgress.close();\r\n responsavel.ID_RESPONSAVEL_SERASA = r.data.Dados;\r\n self.corresponsaveisFinanceiros.push(responsavel);\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n\r\n insc.corresponsaveisFinanceiros = self.corresponsaveisFinanceiros;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.membroResponsavel = {};\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n }\r\n\r\n self.SalvarDadosFamilia = function () {\r\n\r\n var existe = $filter('filter')(self.parametros, { 'SLUG': \"EXIGIR_CAMPO_PESSOAS_FAMILIA\" });\r\n\r\n var EXIGIR_CAMPO_PESSOAS_FAMILIA = existe != undefined && existe.length > 0 && existe[0].VALOR == 'S';\r\n\r\n if (EXIGIR_CAMPO_PESSOAS_FAMILIA && (self.membrosFamilia == undefined || self.membrosFamilia.length == 0)) {\r\n DialogService.error({\r\n message: 'Adicione no mínimo um membro da família!'\r\n });\r\n return;\r\n }\r\n\r\n existe = $filter('filter')(self.parametros, { 'SLUG': \"SOLICITAR_RENDA\" });\r\n self.instituicao.SOLICITAR_RENDA = existe != undefined && existe.length > 0 && existe[0].VALOR == 'S';\r\n\r\n if (self.instituicao.SOLICITAR_RENDA && (self.lead.RENDA == undefined || self.lead.RENDA <= 0)) {\r\n DialogService.error({\r\n message: 'Preencha o campo RENDA PER CAPITA!'\r\n });\r\n return;\r\n }\r\n var objeto = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO,\r\n RENDA: self.lead.RENDA\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarPassoMembroFamilia', objeto).then(function () {\r\n\r\n $dialogProgress.close();\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosMembrosFamilia = true;\r\n insc.lead.RENDA = self.lead.RENDA;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.mudarPasso('dados-membros-familia', true);\r\n\r\n\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao concluir a inscrição. Tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n\r\n\r\n }\r\n self.SalvarDadosFinanceiro = function () {\r\n if (self.corresponsaveisFinanceiros == undefined || self.corresponsaveisFinanceiros.length == 0) {\r\n DialogService.error({\r\n message: 'Preencha no mínimo 1 corresponsável financeiro!'\r\n });\r\n } else {\r\n var objeto = {\r\n ID_CAMPUS: self.lead.ID_CAMPUS,\r\n ID_CANDIDATO: self.lead.ID_CANDIDATO\r\n };\r\n\r\n\r\n $rootScope.modalComponentProgressPercentage = 0;\r\n\r\n var $dialogProgress = DialogService.progress($rootScope.modalComponentProgressPercentage, {\r\n title: 'Salvando dados!'\r\n });\r\n\r\n // se tudo OK, chama a api com endpoint novo\r\n $API.postUpload('/candidato/SalvarDadosFinanceiro', objeto).then(function () {\r\n\r\n\r\n $dialogProgress.close();\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosFinanceiros = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n\r\n self.mudarPasso('dados-financeiros', true);\r\n\r\n\r\n }, function (err) {\r\n $log.error(err);\r\n $dialogProgress.close();\r\n DialogService.error({\r\n message: 'Ocorreu um erro ao salvar os dados, tente novamente!'\r\n });\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n self.uploadImage = function (doc, file, tipo, item, descricao) { \r\n\r\n if (file != null) {\r\n\r\n var data = {\r\n files: file\r\n };\r\n var inscricao = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n var idPessoa = 0;\r\n var idDoc = 0;\r\n var desc= descricao;\r\n\r\n if (tipo == \"candidatoconjuge\") {\r\n idPessoa = inscricao.lead.ID_CANDIDATO_CONJUGE;\r\n idDoc = doc.ID_CHECK_LIST_DOC_CAMPUS;\r\n }\r\n\r\n else if (tipo == \"Responsavelserasa\") {\r\n idPessoa = item.ID_RESPONSAVEL_SERASA;\r\n idDoc = doc.ID_CHECK_LIST_DOC_CAMPUS + \"_\" + item.ID_RESPONSAVEL_SERASA;\r\n }\r\n\r\n\r\n if (tipo == \"membrosfamilia\") {\r\n\r\n idPessoa = item.ID_MEMBROS_FAMILIA;\r\n idDoc = doc.ID_CHECK_LIST_DOC_CAMPUS + '_' + item.ID_MEMBROS_FAMILIA;\r\n }\r\n\r\n if (tipo == 'Responsavel') {\r\n idPessoa = inscricao.lead.ID_CANDIDATO_RESPONSAVEL;\r\n idDoc = doc.ID_CHECK_LIST_DOC_CAMPUS;\r\n }\r\n\r\n var addSpinner = document.getElementById(idDoc);\r\n if (addSpinner != null) {\r\n addSpinner.classList.add('spinner')\r\n }\r\n\r\n $API\r\n .upload('api/arquivo/UploadArquivosInscricao/?tipo=' + tipo + '&IdCandidato=' + inscricao.lead.ID_CANDIDATO + '&Id=' + doc.ID_CHECK_LIST_DOC_CAMPUS + '&IdPessoa=' + idPessoa + '&descricao=' + doc.DESCRICAO, data)\r\n .then(function (e) {\r\n\r\n if (inscricao.lead.listaArquivos == null || inscricao.lead.listaArquivos == undefined) {\r\n inscricao.lead.listaArquivos = [];\r\n }\r\n if (self.lead.listaArquivos == null || self.lead.listaArquivos == undefined) {\r\n self.lead.listaArquivos = [];\r\n }\r\n\r\n var documentoPessoa = { 'ID_CHECK_LIST_DOC_CAMPUS': doc.ID_CHECK_LIST_DOC_CAMPUS, 'IdPessoa': idPessoa };\r\n var subiu = $filter('filter')(self.lead.listaArquivos, documentoPessoa);\r\n if (subiu == undefined || subiu.length == 0) {\r\n inscricao.lead.listaArquivos.push(documentoPessoa);\r\n self.lead.listaArquivos.push(documentoPessoa);\r\n\r\n }\r\n var item = [];\r\n if (e.data.StrCode == \"ResulOk\") {\r\n var obj = { ID_CHECK_LIST_DOC_CAMPUS: doc.ID_CHECK_LIST_DOC_CAMPUS, NOME_DOCUMENTO: tipo, Status: \"ENV\", IdPessoa: idPessoa };\r\n\r\n if (tipo == \"candidato\") {\r\n item = $filter('filter')(self.ListaDocumentosAnexadosAluno, doc.ID_CHECK_LIST_DOC_CAMPUS);\r\n if (item == undefined || item.length == 0) {\r\n self.ListaDocumentosAnexadosAluno.push(obj);\r\n inscricao.lead.documentosAluno = self.ListaDocumentosAnexadosAluno;\r\n\r\n var divDoc4 = document.getElementById(doc.ID_CHECK_LIST_DOC_CAMPUS);\r\n if (divDoc4 != null) {\r\n divDoc4.classList.add('btn-has-file')\r\n }\r\n }\r\n }\r\n\r\n if (tipo == \"candidatoconjuge\") {\r\n item = $filter('filter')(self.ListaDocumentosAnexadosConjuge, doc.ID_CHECK_LIST_DOC_CAMPUS);\r\n if (item == undefined || item.length == 0) {\r\n self.ListaDocumentosAnexadosConjuge.push(obj);\r\n inscricao.lead.documentosConjuge = self.ListaDocumentosAnexadosConjuge;\r\n }\r\n }\r\n\r\n if (tipo == \"Responsavel\") {\r\n item = $filter('filter')(self.ListaDocumentosAnexadosAluno, doc.ID_CHECK_LIST_DOC_CAMPUS);\r\n if (item == undefined || item.length == 0) {\r\n self.ListaDocumentosAnexadosResponsavel.push(obj);\r\n inscricao.lead.documentosResponsavel = self.ListaDocumentosAnexadosResponsavel;\r\n }\r\n\r\n var divDoc5 = document.getElementById(doc.ID_CHECK_LIST_DOC_CAMPUS + \"_\" + doc.IdPessoa);\r\n if (divDoc5 != null) {\r\n divDoc5.classList.add('btn-has-file')\r\n }\r\n }\r\n\r\n if (tipo == \"Responsavelserasa\") {\r\n item = $filter('filter')(self.ListaDocumentosAnexadosFiador, documentoPessoa);\r\n if (item == undefined || item.length == 0) {\r\n self.ListaDocumentosAnexadosFiador.push(obj);\r\n inscricao.lead.documentosFiador = self.ListaDocumentosAnexadosFiador;\r\n\r\n }\r\n\r\n\r\n var divDoc6 = document.getElementById(doc.ID_CHECK_LIST_DOC_CAMPUS + \"_\" + doc.IdPessoa);\r\n if (divDoc6 != null) {\r\n divDoc6.classList.add('btn-has-file')\r\n }\r\n }\r\n\r\n if (tipo == \"membrosfamilia\") {\r\n item = $filter('filter')(self.ListaDocumentosAnexadosFamilia, documentoPessoa);\r\n if (item == undefined || item.length == 0) {\r\n self.ListaDocumentosAnexadosFamilia.push(obj);\r\n\r\n inscricao.lead.documentosFamilia = self.ListaDocumentosAnexadosFamilia;\r\n }\r\n var divDoc7 = document.getElementById(doc.ID_CHECK_LIST_DOC_CAMPUS + \"_\" + doc.IdPessoa);\r\n if (divDoc7 != null) {\r\n divDoc7.classList.add('btn-has-file')\r\n }\r\n }\r\n\r\n if (addSpinner != null) {\r\n addSpinner.classList.add('btn-has-file')\r\n }\r\n }\r\n\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(inscricao));\r\n if (addSpinner != null) {\r\n addSpinner.classList.remove('spinner')\r\n }\r\n }, function () {\r\n DialogService.alert({\r\n message: 'Não foi possível enviar o arquivo, tente novamente!!'\r\n });\r\n });\r\n\r\n }\r\n \r\n }\r\n\r\n self.VerificarArquivo = function (idfile) {\r\n var inscricao = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n if (inscricao.lead.docs != undefined) {\r\n for (var i = 0; i < inscricao.lead.docs.length; i++) {\r\n\r\n if (inscricao.lead.docs[i] == idfile) {\r\n i = inscricao.lead.docs.length + 2;\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n self.rendaPercapita = function () {\r\n\r\n var valor = 0;\r\n if (self.membrosFamilia != null) {\r\n var _familiaRenda = self.membrosFamilia;\r\n\r\n var aux = 0\r\n\r\n\r\n for (var i = 0; i < _familiaRenda.length; i++) {\r\n\r\n aux = _familiaRenda[i].RENDA;\r\n valor = (valor + aux);\r\n\r\n\r\n }\r\n self.lead.RENDA = (valor / (_familiaRenda.length + 1));\r\n\r\n } else {\r\n self.lead.RENDA = 0;\r\n }\r\n\r\n\r\n }\r\n\r\n self.exibeCampoMatricula = function () {\r\n var exibe = false;\r\n\r\n if (self.alunoVeterano == 'S' || self.alunoVeterano == 'Y') {\r\n exibe = true;\r\n } else {\r\n exibe = false;\r\n }\r\n\r\n return exibe;\r\n }\r\n self.exibeCampoNotaEnem = function () {\r\n var exibe = false;\r\n exibe = exibeCampo(\"EXIBIR_CAMPO_NOTA_ENEM\");\r\n\r\n if (exibe && self.alunoVeterano == 'N') {\r\n exibe = true;\r\n } else {\r\n exibe = false;\r\n }\r\n\r\n return exibe;\r\n }\r\n self.exibirSolicitaRenda = function () {\r\n return exibeCampo(\"SOLICITAR_RENDA\")\r\n }\r\n\r\n\r\n\r\n self.Concluir = function () {\r\n if (self.lead.listaArquivos == undefined) {\r\n self.lead.listaArquivos = [];\r\n }\r\n var ok = true;\r\n\r\n\r\n\r\n ok = true;\r\n angular.forEach(self.documentosAluno, function (e) {\r\n if (e.OBRIGATORIO && ok) {\r\n var subiu = $filter('filter')(self.lead.listaArquivos, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n var subiuAntes = $filter('filter')(self.lead.documentosAluno, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n if ((subiu == undefined || subiu.length == 0) && (subiuAntes == undefined || subiuAntes.length == 0)) {\r\n\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n // message: \"É necessário anexar todos os documentos obrigatórios do aluno!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n self.mudarPasso('documentos-candidato', false);\r\n // $state.go('instituicao-inscricao-' + 'conclusao', { instituicao: self.instituicao.SITE });\r\n }\r\n });\r\n ok = false;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n if (!ok) {\r\n return\r\n }\r\n ok = true;\r\n if (exibeDadosConjuge()) {\r\n\r\n angular.forEach(self.documentosConjuge, function (e) {\r\n if (e.OBRIGATORIO && ok) {\r\n var subiu = $filter('filter')(self.lead.listaArquivos, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n var subiuAntes = $filter('filter')(self.lead.documentosConjuge, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n if ((subiu == undefined || subiu.length == 0) && (subiuAntes == undefined || subiuAntes.length == 0)) {\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n self.mudarPasso('documentos-candidato', false);\r\n }\r\n });\r\n ok = false;\r\n return;\r\n }\r\n }\r\n });\r\n if (!ok) {\r\n return\r\n }\r\n }\r\n ok = true;\r\n if (exibeDadosResponsavel()) {\r\n\r\n angular.forEach(self.documentosResponsavel, function (e) {\r\n if (e.OBRIGATORIO && ok) {\r\n var subiu = $filter('filter')(self.lead.listaArquivos, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n var subiuAntes = $filter('filter')(self.lead.documentosResponsavel, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n if ((subiu == undefined || subiu.length == 0) && (subiuAntes == undefined || subiuAntes.length == 0)) {\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n self.mudarPasso('documentos-candidato', false);\r\n }\r\n });\r\n ok = false;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n }\r\n ok = true;\r\n\r\n if (self.exibeMembrosDaFamilia()) {\r\n angular.forEach(self.membrosFamilia, function (f) {\r\n angular.forEach(self.documentosFamilia, function (e) {\r\n if (e.OBRIGATORIO && ok) {\r\n var subiu = $filter('filter')(self.lead.listaArquivos, { ID_CHECK_LIST_DOC_CAMPUS: e.ID_CHECK_LIST_DOC_CAMPUS, IdPessoa: f.ID_MEMBROS_FAMILIA });\r\n var subiuAntes = $filter('filter')(self.lead.documentosFamilia, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n if ((subiu == undefined || subiu.length == 0) && (subiuAntes == undefined || subiuAntes.length == 0)) {\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n self.mudarPasso('documentos-candidato', false);\r\n }\r\n });\r\n ok = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (!ok) {\r\n return\r\n }\r\n\r\n if (self.exibeResponsaveisFinanceirosDoc() && self.documentosFiador.length) {\r\n angular.forEach(self.corresponsaveisFinanceiros, function (f) {\r\n angular.forEach(self.documentosFiador, function (e) {\r\n\r\n if (e.OBRIGATORIO && ok) {\r\n var subiu = $filter('filter')(self.lead.listaArquivos, { ID_CHECK_LIST_DOC_CAMPUS: e.ID_CHECK_LIST_DOC_CAMPUS, IdPessoa: f.ID_RESPONSAVEL_SERASA });\r\n\r\n var subiuAntes = $filter('filter')(self.lead.documentosFiador, e.ID_CHECK_LIST_DOC_CAMPUS);\r\n if ((subiu == undefined || subiu.length == 0) && (subiuAntes == undefined || subiuAntes.length == 0)) {\r\n var $dialogProgress = DialogService.success({\r\n title: \"Atenção!\",\r\n message: 'Você não enviou todos os Documentos obrigatórios, deseja continuar assim mesmo? Lembre-se que você precisará retornar para finalizar sua inscrição',\r\n secondButton: [\"Enviar Documentos\", \"Enviar Depois\"]\r\n });\r\n $dialogProgress.result.then(function (resp) {\r\n if (resp) {\r\n self.mudarPasso('documentos-candidato', false);\r\n }\r\n });\r\n ok = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (!ok) {\r\n return\r\n }\r\n }\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosDocumentos = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n\r\n self.mudarPasso('instituicao-inscricao-conclusao', true);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n self.verificarPendenciaAluno = function () {\r\n var candInfo = JSON.parse(localStorage.getItem('_inscricao'));\r\n var url = API_SETTINGS[ENV].CREDUC_API + '/api/Aluno/VerificarPendenciaAluno/?cpf=' + candInfo.lead.CPF.replace('.', '').replace('.', '').replace('-', '') + '&idAluno=' + candInfo.lead.ID_CANDIDATO + '&idCampus=' + candInfo.lead.ID_CAMPUS;\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.ReturnData != null && result.data.ReturnData.length > 0) {\r\n var resultado = result.data.ReturnData.find(function (p) { return p.TipoPendencia.trim() == \"TERMO_COMPROMISSO\" });\r\n if (resultado != null) {\r\n self.nomeArquivo = $sce.trustAsResourceUrl(\"https://docs.google.com/gview?url=http://static.creduc.com.br/contrato/TermoCompromisso\" + resultado.Chave + \".docx&embedded=true\");\r\n \r\n //self.nomeArquivo = window.open(\"C:\\inetpub\\wwwroot\\creduc_static\\contrato\\TermoCompromisso\" + resultado.Chave + \".docx&embedded=true\");\r\n self.Chave = resultado.Chave;\r\n self.temPendenciaTermo = true;\r\n self.aceite = \"aceite-termo\"\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosTermoCompromiso = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.InfoPasso.BTNSalvar = \"ACEITAR\";\r\n }\r\n } else {\r\n var url = API_SETTINGS[ENV].CREDUC_API + '/api/Aluno/VerificaSeExisteAceiteTermo/?idCandidato=' + candInfo.lead.ID_CANDIDATO;\r\n $API.get(url).then(function (result) {\r\n if (result.data.ReturnData != null && result.data.ReturnData == true) {\r\n self.temAceiteTermo = true;\r\n var insc = JSON.parse(localStorage.getItem(\"_inscricao\"));\r\n insc.passoDadosTermoCompromiso = true;\r\n localStorage.setItem(\"_inscricao\", JSON.stringify(insc));\r\n self.InfoPasso.BTNSalvar = \"PROSSEGUIR\";\r\n }\r\n })\r\n }\r\n }, function () {\r\n DialogService.success({\r\n title: 'Atencão',\r\n message: 'Houve um erro ao verificar pendências.
'\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n self.aceitarTermo = function () {\r\n\r\n var url = API_SETTINGS[ENV].CREDUC_API;\r\n\r\n url = url + '/api/ContratoAceite/AceiteTermoCompromisso/?chave=' + self.Chave + '&userIp=' + self.userIp;\r\n\r\n $API.get(url).then(function (result) {\r\n if (result.data.ReturnData != null) {\r\n self.mudarPasso('termo-candidato', true);\r\n DialogService.success({\r\n title: 'Atencão',\r\n message: result.data.MessageAlert\r\n });\r\n }\r\n }, function () {\r\n DialogService.success({\r\n title: 'Atencão',\r\n message: 'Houve um erro ao aceitar o termo.
'\r\n });\r\n });\r\n\r\n }\r\n\r\n self.buscarIP = function () {\r\n\r\n $.getJSON(\"https://api.ipify.org?format=jsonp&callback=?\",\r\n function (json) {\r\n self.userIp = json.ip;\r\n }\r\n );\r\n }\r\n\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('HomeController', HomeController);\r\n\r\n /** @ngInject */\r\n function HomeController($stateParams, $scope, $filter, $location, $anchorScroll, DialogService, $uibModal, $API) {\r\n var self = this;\r\n\r\n self.slides = [];\r\n\r\n var min = 1;\r\n var max = 6;\r\n self.random = parseInt(Math.random() * (+max - +min) + +min);\r\n\r\n self.imgURL = 'ies' + self.random + '.jpg';\r\n self.imgURLA = 'aluno' + self.random + '.jpg';\r\n\r\n self.NomeCidade = '';\r\n self.inputInstituicao = '';\r\n self.modalCadastroOpen = false;\r\n self.selected = {};\r\n\r\n $scope.campi = [];\r\n\r\n $scope.Escolha = false;\r\n localStorage.removeItem(\"parametros\");\r\n localStorage.removeItem(\"inscricoes\");\r\n localStorage.removeItem(\"_inscricao\");\r\n localStorage.removeItem(\"inscricaoFK\");\r\n\r\n self.$onInit = function () {\r\n\r\n if ($location.search().new == 1) {\r\n localStorage.setItem(\"Escolha\", 3);\r\n document.location = '/';\r\n } else if ($location.search().new == 4) {\r\n localStorage.removeItem(\"Escolha\")\r\n document.location = '/';\r\n }\r\n \r\n if (localStorage.getItem(\"Escolha\") == null) {\r\n $scope.Escolha = false;\r\n } else if (localStorage.getItem(\"Escolha\") == 3) {\r\n $scope.Escolha = true;\r\n }\r\n\r\n self.slides.push({\r\n title: 'Slide 1',\r\n src: {\r\n sm: $filter('assets_url')('images/CREDUC-slide-480x340.jpg'),\r\n md: $filter('assets_url')('images/CREDUC-slide-1024x400.jpg'),\r\n lg: $filter('assets_url')('images/CREDUC-slide-1500x420.jpg')\r\n }\r\n });\r\n }\r\n\r\n $scope.buscarCampus = function (cidade) {\r\n localStorage.setItem(\"ciu\", JSON.stringify(cidade));\r\n $API.post('api/campus/BuscarPorLocalidade_a', cidade).then(function (r) {\r\n $scope.campi = r.data.ReturnData;\r\n }, function () {\r\n });\r\n\r\n };\r\n // BUSCAR CIDADES\r\n self.BuscarCidade = function (nome) {\r\n self.isLoading = false;\r\n\r\n if (nome.length == '') {\r\n self.disabled = true;\r\n self.isLoading = false;\r\n self.cidades = [];\r\n self.instituicoes = [];\r\n }\r\n\r\n if (nome.length > 2) {\r\n self.disabled = false;\r\n self.isLoading = true;\r\n $API.get('api/cidade/GetFiltro?nome=' + nome).then(function (r) {\r\n self.isLoading = false;\r\n self.cidades = r.data.ReturnData;\r\n }, function () {\r\n });\r\n }\r\n };\r\n\r\n $scope.onSelect = function ($item) {\r\n document.location = document.location+ '/' + $item.HotSite;\r\n };\r\n \r\n self.formInscricao = function () {\r\n DialogService.alert({\r\n title: \"Faça sua inscrição!\",\r\n message: document.getElementById('quero-parcelar-meu-curso').innerHTML\r\n })\r\n }\r\n\r\n // ANCORA SCROLL LINKS\r\n self.linkIrPara = function (id) {\r\n setTimeout(function () {\r\n $location.hash(id);\r\n $anchorScroll();\r\n }, 100);\r\n };\r\n\r\n self.openOrCloseModalCadastro = function (entrada) {\r\n self.modalCadastroOpen = entrada;\r\n };\r\n\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('FaleConoscoController', FaleConoscoController);\r\n\r\n /** @ngInject */\r\n function FaleConoscoController(Estado, $scope, HelperService, $stateParams, $state, ContatoService, PathService, Instituicao, DialogService, $API, $rootScope) {\r\n\r\n var self = this;\r\n self.estados = [];\r\n self.campi = [];\r\n self.cidades = [];\r\n self.selected = {};\r\n self.emailInstituicao = \"\";\r\n self.telefoneInstituicao = \"\";\r\n self.isHotsite = PathService.$isHotsite();\r\n self.$onInit = function () {\r\n if (PathService.$isHotsite()) {\r\n var slug = $stateParams.instituicao || $state.params.instituicao;\r\n self.getContactInfo(slug);\r\n }\r\n\r\n Estado\r\n .all()\r\n .then(function (result) {\r\n self.estados = result.data.Dados || [];\r\n })\r\n }\r\n\r\n self.getCidades = function (estado) {\r\n HelperService.deleteSelected(self.selected, 'cidade');\r\n Estado\r\n .cidades(estado.ID_ESTADO)\r\n .then(function (result) {\r\n self.cidades = result.data.Dados;\r\n });\r\n };\r\n\r\n self.getCampi = function () {\r\n\r\n\r\n\r\n $API.get('api/candidato/GetCampiWithCpf?cpf=' + $scope.contato.cpf).then(function (r) {\r\n\r\n if (r) {\r\n self.campi = r.data.ReturnData\r\n }\r\n\r\n }, function () {\r\n //console.log(err);\r\n\r\n }, function (e) {\r\n $rootScope.modalComponentProgressPercentage = parseInt(100.0 * e.loaded / e.total);\r\n });\r\n };\r\n\r\n self.submit = function () {\r\n var contato = angular.copy($scope.contato);\r\n\r\n if (PathService.$isHotsite()) {\r\n contato.ID_CAMPUS = Instituicao.data().ID_CAMPUS;\r\n }\r\n\r\n if (contato.campusSelecionado != null) {\r\n contato.ID_CAMPUS = contato.campusSelecionado.IdCampus;\r\n contato.EmailCampus = contato.campusSelecionado.Email;\r\n } else {\r\n contato.EmailCampus = 'contato@creduc.com.br';\r\n }\r\n\r\n\r\n ContatoService\r\n .faleConosco(contato)\r\n .then(function (result) {\r\n if (result.data.CodigoResposta == 1) {\r\n var dialog = DialogService.success({\r\n message: 'Sua mensagem foi enviada com sucesso!'\r\n });\r\n dialog.result.then(function () {\r\n $scope.contato = {};\r\n });\r\n } else {\r\n DialogService.error();\r\n }\r\n }, function () {\r\n DialogService.error();\r\n });\r\n };\r\n self.getContactInfo = function (slug) {\r\n ContatoService\r\n .getContactInfos(slug)\r\n .then(function (result) {\r\n if (result.data.Dados) {\r\n self.emailInstituicao = result.data.Dados.EMAIL;\r\n self.telefoneInstituicao = result.data.Dados.TELEFONE;\r\n }\r\n }, function () {\r\n //console.log('Erro ao buscar informações de contato.');\r\n });\r\n };\r\n self.$onInit();\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.controllers')\r\n .controller('EducaMaisBrasilController', EducaMaisBrasilController);\r\n\r\n /** @ngInject */\r\n function EducaMaisBrasilController($stateParams, $filter) {\r\n var self = this;\r\n\r\n self.slides = [];\r\n\r\n self.$onInit = function () {\r\n self.slides.push({\r\n title: 'Slide 1',\r\n src: {\r\n sm: $filter('assets_url')('images/CREDUC-slide-480x340.jpg'),\r\n md: $filter('assets_url')('images/CREDUC-slide-1024x400.jpg'),\r\n lg: $filter('assets_url')('images/CREDUC-slide-1500x420.jpg')\r\n }\r\n });\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module(\"creduc.app\")\r\n .run(runBlock);\r\n\r\n /** @ngInject */\r\n function runBlock($log, $rootScope, $window, $anchorScroll, $state, $stateParams, PathService, $http) {\r\n //$log.debug('runBlock end');\r\n\r\n\r\n $rootScope.$state = $state;\r\n $rootScope.$instituicao = $stateParams.instituicao;\r\n $rootScope.$stateParams = angular.copy($stateParams);\r\n $rootScope.$path = PathService.init($stateParams);\r\n $rootScope.$status = \"\";\r\n $rootScope.custom_theme_dynamic;\r\n $rootScope.filecss;\r\n\r\n\r\n $rootScope.$on('$stateChangeStart', stateChangeStart);\r\n $rootScope.$on('$stateNotFound', stateNotFound);\r\n $rootScope.$on('$viewContentLoaded', viewContentLoaded);\r\n $rootScope.$on('$toggleNavbar', toggleNavbar);\r\n\r\n $rootScope.$watch(function () {\r\n return $http.pendingRequests.length > 0\r\n }, function (v) {\r\n $rootScope.$status = v ? \"\" : \"ready\";\r\n var instituicao = location.pathname.split('/')[1];\r\n $rootScope.filecss = '/assets/css/' + instituicao + '.css';\r\n /* eslint-disable no-console */\r\n console.log($rootScope.filecss);\r\n /* eslint-enable no-console */\r\n \r\n });\r\n\r\n angular.element($window).on('scroll', windowScroll);\r\n\r\n /**\r\n * Listener state change\r\n * @return {void}\r\n */\r\n function stateChangeStart(e, toState) {\r\n $rootScope.title = toState.title;\r\n $rootScope.$seo_keywords = '';\r\n $rootScope.$seo_description = '';\r\n\r\n $rootScope.pageClass = toState.name;\r\n $rootScope.$path = PathService.init($stateParams);\r\n\r\n $anchorScroll.yOffset = 60;\r\n $anchorScroll();\r\n }\r\n\r\n /**\r\n * Listener state not found\r\n * @return {void}\r\n */\r\n function stateNotFound() {\r\n $log.log('state not found');\r\n }\r\n\r\n /**\r\n * Listener view content is loaded\r\n * @return {void}\r\n */\r\n function viewContentLoaded() {\r\n //$window.ga('send', 'pageview', { page: $location.url() });\r\n //$log.log('view loaded');\r\n }\r\n\r\n /**\r\n * Listener of toggleNavbar\r\n * @param {object} e: event\r\n * @param {bool} d: navbar status\r\n * @return {void}\r\n */\r\n function toggleNavbar(e, d) {\r\n $rootScope.navbarIsOpened = d;\r\n }\r\n\r\n /**\r\n * scroll event\r\n * @return {void}\r\n */\r\n function windowScroll() {\r\n $rootScope.isScrolling = this.pageYOffset >= 60;\r\n $rootScope.$apply();\r\n }\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.routes')\r\n .config(routerConfig);\r\n\r\n /** @ngInject */\r\n function routerConfig($stateProvider, $urlRouterProvider) {\r\n\r\n /**\r\n * @name home state\r\n * @memberOf creduc.routes\r\n */\r\n var home = {\r\n name: 'home',\r\n url: '/',\r\n title: 'CREDUC - Crédito Educativo',\r\n templateUrl: 'app/home/home.html',\r\n controller: 'HomeController',\r\n controllerAs: '$ctrl'\r\n };\r\n /**\r\n * @name educamais state\r\n * @memberOf creduc.routes\r\n */\r\n var educaMais = {\r\n name: 'educa-mais-brasil',\r\n url: '/educa-mais-brasil',\r\n title: 'CREDUC - Crédito Educativo',\r\n templateUrl: 'app/educamaisbrasil/educamaisbrasil.html',\r\n controller: 'EducaMaisBrasilController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n\r\n /**\r\n * @name simulador hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var simulador = {\r\n name: 'simulador',\r\n url: '/simulador',\r\n title: 'CREDUC - Crédito Educativo',\r\n templateUrl: 'app/simulador/simulador.html',\r\n controller: 'SimuladorController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name simulador hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var simuladorIesb = {\r\n name: 'simuladorIesb',\r\n url: '/{instituicao}/simulador',\r\n title: 'CREDUC - Crédito Educativo',\r\n templateUrl: 'app/simulador/simulador.html',\r\n controller: 'SimuladorController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n\r\n /**\r\n * @name politica de privacidade state\r\n * @memberOf creduc.routes\r\n */\r\n var politicaPrivacidade = {\r\n name: 'politica-de-privacidade',\r\n url: '/politica-de-privacidade',\r\n title: 'Política de Privacidade - CREDUC',\r\n templateUrl: 'app/politica-de-privacidade/politica-de-privacidade.html'\r\n };\r\n\r\n /**\r\n * @name termos de uso state\r\n * @memberOf creduc.routes\r\n */\r\n var termosUso = {\r\n name: 'termos-de-uso',\r\n url: '/termos-de-uso',\r\n title: 'Termos de Uso - CREDUC',\r\n templateUrl: 'app/termos-de-uso/termos-de-uso.html'\r\n };\r\n\r\n /**\r\n * @name fale conosco state\r\n * @memberOf creduc.routes\r\n */\r\n var faleConosco = {\r\n name: 'fale-conosco',\r\n url: '/fale-conosco',\r\n title: 'Fale Conosco - CREDUC',\r\n templateUrl: 'app/fale-conosco/fale-conosco.html',\r\n controller: 'FaleConoscoController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name quero ser parceiro state\r\n * @memberOf creduc.routes\r\n */\r\n var queroSerParceiro = {\r\n name: 'quero-ser-parceiro',\r\n url: '/quero-ser-parceiro',\r\n title: 'Quero Ser Parceiro - CREDUC',\r\n templateUrl: 'app/quero-ser-parceiro/quero-ser-parceiro.html',\r\n controller: 'QueroSerParceiroController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name instituicao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicao = {\r\n name: 'instituicao',\r\n url: '/{instituicao}',\r\n title: 'CREDUC - Crédito Educativo',\r\n templateUrl: 'app/instituicao/instituicao-home.html',\r\n controller: 'InstituicaoController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n\r\n\r\n\r\n /**\r\n * @name parceiros parceiros state\r\n * @memberOf creduc.routes\r\n */\r\n var parceiros = {\r\n name: 'parceiros',\r\n url: '/parceiros',\r\n title: 'Parceiros - CREDUC',\r\n templateUrl: 'app/parceiros/parceiros.html',\r\n controller: 'ParceirosController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name instituicao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicaoFaleConosco = {\r\n name: 'instituicao-fale-conosco',\r\n url: '/{instituicao}/fale-conosco',\r\n title: 'Fale Conosco - CREDUC',\r\n templateUrl: 'app/fale-conosco/fale-conosco.html',\r\n controller: 'FaleConoscoController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name instituicao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicaoTermosDeUso = {\r\n name: 'instituicao-termos-de-uso',\r\n url: '/{instituicao}/termos-de-uso',\r\n title: 'Termos de Uso - CREDUC',\r\n templateUrl: 'app/termos-de-uso/termos-de-uso.html',\r\n // controller: 'FaleConoscoController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name instituicao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicaoPoliticaPrivacidade = {\r\n name: 'instituicao-politica-de-privacidade',\r\n url: '/{instituicao}/politica-de-privacidade',\r\n title: 'Política de Privacidade - CREDUC',\r\n templateUrl: 'app/politica-de-privacidade/politica-de-privacidade.html',\r\n // controller: 'FaleConoscoController',\r\n controllerAs: '$ctrl'\r\n };\r\n\r\n /**\r\n * @name instituicao inscricao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicaoInscricao = {\r\n name: 'instituicao-inscricao',\r\n url: '/{instituicao}/inscricao',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPasso1 = {\r\n name: 'instituicao-inscricao-dados-pessoais',\r\n url: '/{instituicao}/inscricao/dados-pessoais',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPasso2 = {\r\n name: 'instituicao-inscricao-dados-familia',\r\n url: '/{instituicao}/inscricao/dados-familia',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n\r\n var instituicaoInscricaoPasso3 = {\r\n name: 'instituicao-inscricao-dados-financeiros',\r\n url: '/{instituicao}/inscricao/dados-financeiros',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPasso4 = {\r\n name: 'instituicao-inscricao-dados-academicos',\r\n url: '/{instituicao}/inscricao/dados-academicos',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPasso5= {\r\n name: 'instituicao-inscricao-dados-corresponsavel-financeiro',\r\n url: '/{instituicao}/inscricao/dados-corresponsavel-financeiro',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n var instituicaoInscricaoPasso6 = {\r\n name: 'instituicao-inscricao-documentos-candidato',\r\n url: '/{instituicao}/inscricao/documentos-candidato',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPassoTermo = {\r\n name: 'instituicao-inscricao-termo-candidato',\r\n url: '/{instituicao}/inscricao/termo-candidato',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n\r\n var instituicaoInscricaoPasso7 = {\r\n name: 'instituicao-inscricao-pagar-taxa',\r\n url: '/{instituicao}/inscricao/pagar-taxa',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n\r\n var instituicaoInscricaoPasso8 = {\r\n name: 'instituicao-inscricao-conclusao',\r\n url: '/{instituicao}/inscricao/conclusao',\r\n title: 'Inscrição - CREDUC',\r\n templateUrl: 'app/inscricao/inscricao.html',\r\n controller: 'InscricaoController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n selected: null,\r\n estados: null,\r\n cidades: null,\r\n instituicoes: null,\r\n cursos: null\r\n }\r\n };\r\n /**\r\n * @name instituicao inscricao hotsite state\r\n * @memberOf creduc.routes\r\n */\r\n var instituicaoPendencia = {\r\n name: 'instituicao-pendencia',\r\n url: '/{instituicao}/pendencias?cpf&email&ies',\r\n title: 'Pendências - CREDUC',\r\n templateUrl: 'app/pendencia/pendencia.html',\r\n controller: 'PendenciaController',\r\n controllerAs: '$ctrl',\r\n params: {\r\n candidato: null,\r\n situacao: null\r\n }\r\n };\r\n\r\n $stateProvider\r\n .state(home)\r\n .state(educaMais)\r\n .state(simulador)\r\n .state(simuladorIesb)\r\n .state(politicaPrivacidade)\r\n .state(termosUso)\r\n .state(faleConosco)\r\n .state(queroSerParceiro)\r\n .state(parceiros)\r\n .state(instituicao)\r\n .state(instituicaoFaleConosco)\r\n .state(instituicaoTermosDeUso)\r\n .state(instituicaoPoliticaPrivacidade)\r\n .state(instituicaoInscricao)\r\n .state(instituicaoInscricaoPasso1)\r\n .state(instituicaoInscricaoPasso2)\r\n .state(instituicaoInscricaoPasso3)\r\n .state(instituicaoInscricaoPasso4)\r\n .state(instituicaoInscricaoPasso5)\r\n .state(instituicaoInscricaoPasso6)\r\n .state(instituicaoInscricaoPasso7)\r\n .state(instituicaoInscricaoPasso8)\r\n .state(instituicaoInscricaoPassoTermo)\r\n .state(instituicaoPendencia);\r\n\r\n $urlRouterProvider.otherwise('/');\r\n }\r\n\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n var API_SETTINGS = {\r\n PROD: {\r\n BASE_URL: 'https://api-site.creduc.com.br',\r\n BASE_API_CREDUC: 'https://api.creduc.com.br/',\r\n PORTAL_ALUNO_CREDUC: 'https://portal-aluno.creduc.com.br',\r\n AUTENTICAR: 'https://auth.creduc.com.br',\r\n CREDUC_API: 'https://api.creduc.com.br'\r\n },\r\n HOMOLOGACAO: {\r\n BASE_URL: 'https://hml-api-site.creduc.com.br',\r\n BASE_API_CREDUC: 'https://hml-api.creduc.com.br/',\r\n PORTAL_ALUNO_CREDUC: 'https://hml-portal-aluno.creduc.com.br',\r\n AUTENTICAR: 'https://hml-auth.creduc.com.br',\r\n CREDUC_API: 'https://hml-api.creduc.com.br'\r\n },\r\n DEV: {\r\n BASE_URL: 'http://localhost:37069',\r\n BASE_API_CREDUC: 'http://localhost:44085/',\r\n //PORTAL_ALUNO_CREDUC: 'http://localhost:3002',\r\n AUTENTICAR: 'http://localhost:59002',\r\n //AUTENTICAR: 'https://hml-auth.creduc.com.br',\r\n CREDUC_API: 'http://localhost:44085'\r\n }\r\n };\r\n\r\n var PATH_SETTINGS = {\r\n PROD: {\r\n STATIC_URL: 'https://hml-static.creduc.com.br',\r\n ASSETS_URL: 'https://www.creduc.com.br/assets'\r\n },\r\n HOMOLOGACAO: {\r\n STATIC_URL: 'https://hml-static.creduc.com.br',\r\n ASSETS_URL: 'https://hml.creduc.com.br/assets'\r\n },\r\n DEV: {\r\n STATIC_URL: 'https://hml-static.creduc.com.br',\r\n ASSETS_URL: 'assets'\r\n }\r\n };\r\n\r\n var CREDUC = {\r\n ID: 21\r\n };\r\n\r\n var local = {};\r\n\r\n local.pregQuote = function (string, delimiter) {\r\n return (string + '').replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g'), '\\\\$&');\r\n };\r\n\r\n local.stringToRegex = function (string) {\r\n return new RegExp(local.pregQuote(string).replace(/\\\\\\*/g, '.*').replace(/\\\\\\?/g, '.'), 'g');\r\n };\r\n\r\n var ENVIRONMENT = 'DEV';\r\n\r\n if (window.location.host.match(local.stringToRegex('creduc.com.br'))) {\r\n ENVIRONMENT = 'PROD';\r\n }\r\n\r\n if (window.location.host.match(local.stringToRegex('hml'))) {\r\n ENVIRONMENT = 'HOMOLOGACAO';\r\n }\r\n\r\n if (ENVIRONMENT != 'PROD') {\r\n //console.info('SETTINGS:', PATH_SETTINGS);// eslint-disable-line no-console\r\n console.info('Application environment:', ENVIRONMENT);// eslint-disable-line no-console\r\n }\r\n\r\n angular\r\n .module('creduc.constants')\r\n .constant('API_SETTINGS', API_SETTINGS)\r\n .constant('PATH_SETTINGS', PATH_SETTINGS)\r\n .constant('CREDUC', CREDUC)\r\n .constant('ENV', ENVIRONMENT);\r\n})();\r\n\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('creduc.config')\r\n .config(config);\r\n\r\n\r\n angular.module('creduc.app');\r\n /** @ngInject */\r\n function config($logProvider, $locationProvider, $urlRouterProvider, $compileProvider) {\r\n // Enable log\r\n var debug = true;\r\n\r\n $logProvider.debugEnabled(debug);\r\n $compileProvider.debugInfoEnabled(debug);\r\n\r\n $locationProvider.html5Mode(true);\r\n\r\n $urlRouterProvider.rule(function ($injector, $location) {\r\n var path = $location.path(), normalized = path.toLowerCase();\r\n if (path != normalized) {\r\n $location.replace().path(normalized);\r\n }\r\n });\r\n }\r\n\r\n})();\r\n"],"sourceRoot":"/source/"}