1(function() { 2 'use strict'; 3 4 angular 5 .module('irk') 6 .controller('FormularzDanychOsobowychController', FormularzDanychOsobowychController); 7 8 function FormularzDanychOsobowychController($templateCache, $controller, $http, $location, $resource, $scope, $injector, 9 $timeout, $anchorScroll, toaster, i18n, slownik, zarzadcaModulow, $rootScope, SIDEBAR_MENU_EVENTS) { 10 angular.extend(this, $controller('IntakeControllerMixin', {$scope: $scope})); 11 $scope.typyAnkietPytanDodatkowych = ['DANE_KANDYDATA']; 12 //gdzie inaczej można usunÄ Ä ten cache 13 $templateCache.remove('irk.auth.formularzdanychosobowych.FormularzDanychOsobowych'); 14 $scope.daneOsoboweIntake = undefined; 15 $scope.daneOsoboweBlobIntake = undefined; 16 $scope.wartosciSlownikowe = {}; 17 $scope.groups = {}; 18 $scope.zapisz = function() { 19 $scope.saveGroup($scope.gidGroupMap); 20 } 21 $scope.dostepneModuly = {}; 22 $scope.parametryProcesow = {}; 23 $scope.urlFragment = $location.hash(); 24 25 var intakeResource = $resource('REST/daneOsobowe/intake'); 26 27 $scope.saveGroup = function(group) { 28 intakeResource.save({gidGroupMap: angular.copy(group)}, function(groupDefinition) { 29 $scope.updateAllGroups(groupDefinition); 30 if(groupDefinition.valid) { 31 i18n.get('interfejs.irk.shared.ZapisanoFormularz').then(function(komunikat) { 32 toaster.pop('success', komunikat); 33 $rootScope.$broadcast(SIDEBAR_MENU_EVENTS.zmianaLiczbyNieprzeczytanychWiadomosci); 34 $location.hash(""); 35 }); 36 } 37 }); 38 }; 39 40 $scope.loadGroup = function(group) { 41 intakeResource.get(function (groupDefinition) { 42 $scope.updateAllGroups(groupDefinition); 43 scrolluj(); 44 }); 45 }; 46 47 var scrolluj = function() { 48 $timeout(function() { 49 if($location.hash() == "pesel" && $scope.dostepnyDokumentTozsamosci()) { 50 $location.hash('dokument'); 51 } 52 else { 53 $anchorScroll(); 54 } 55 }); 56 } 57 58 $scope.sprawdzCzyObcokrajowiec = function() { 59 var obywatelstwa = $scope.daneOsoboweIntake.Obywatelstwo.value; 60 var obcokrajowiec = false; 61 if(obywatelstwa) { 62 for(var i = 0; i < obywatelstwa.length; ++i) { 63 var obywatelstwo = obywatelstwa[i]; 64 if(obywatelstwo == 'PL') { 65 obcokrajowiec = false; 66 break; 67 } 68 if(obywatelstwo && obywatelstwo.length > 0) { 69 obcokrajowiec = true; 70 } 71 } 72 } 73 $scope.czyObcokrajowiec = obcokrajowiec; 74 }; 75 76 $scope.dostepnyDokumentTozsamosci = function() { 77 return ($scope.czyObcokrajowiec && !$scope.daneOsoboweIntake.Pesel.value) 78 || $scope.parametryProcesow.dokumentTozsamosciPolaka 79 }; 80 81 $scope.updateAllGroups = function(gidGroupMap) { 82 $scope.updateGroup(gidGroupMap); 83 $scope.daneOsoboweIntake = gidGroupMap.gidGroupMap.daneosoboweintake._0.fieldMap; 84 $scope.daneOsoboweBlobIntake = gidGroupMap.gidGroupMap.daneosoboweblobintake._0.fieldMap; 85 86 zarzadcaModulow.getModulyDoWyswietlenia().then(function(moduly) { 87 angular.forEach(moduly, function(modul) { 88 var modulDoUruchomienia = $injector.get(modul); 89 modulDoUruchomienia.updateGroup($scope, gidGroupMap); 90 }); 91 }); 92 $scope.$watchCollection('daneOsoboweIntake.Obywatelstwo.value', $scope.sprawdzCzyObcokrajowiec); 93 $http.get('REST/daneOsobowe/parametryProcesowKandydata', {}).then(function (result) { 94 $scope.parametryProcesow = result.data; 95 }); 96 }; 97 98 $scope.popErrorToasters = function(response){ 99 try{ 100 var jsonResponse = JSON.parse(response) 101 if(angular.isArray(jsonResponse)) 102 { 103 angular.forEach(jsonResponse, function(message) { 104 toaster.pop('error', message); 105 }); 106 } 107 else 108 { 109 toaster.pop('error', jsonResponse); 110 } 111 } 112 catch(error) 113 { 114 toaster.pop('error', response); 115 } 116 }; 117 118 $scope.updateSlowniki = function() { 119 var slowniki = [ 120 'DeklaracjaPodjeciaNauki', 121 'FormaKsztalcenia', 122 'FormaStudiow', 123 'Jezyk', 124 'JezykNaMaturze', 125 'KategoriaZdrowia', 126 'Kraj', 127 'OkregowaKomisjaEgzaminacyjna', 128 'OkresPrzyjazdu', 129 'Plec', 130 'PoziomEgzaminuMaturalnego', 131 'PoziomZnajomosciJezyka', 132 'PrefiksyNrTelefonu', 133 'PrzyczynaNiepelnosprawnosci', 134 'RodzajDokumentuTozsamosci', 135 'RodzajKartyPobytu', 136 'StopienNiepelnosprawnosci', 137 'StopienPokrewienstwa', 138 'StopienWojskowy', 139 'StosunekDoSluzbyWojskowej', 140 'StosunekDoSluzbyWojskowejLAW', 141 'StosunekDoSluzbyWojskowejWymagany', 142 'TypMiejscowosci', 143 'Uczelnia', 144 'WarunkiFinansowe', 145 'WersjaEgzaminuDojrzalosci', 146 'Wojewodztwo', 147 'WKU', 148 'RodzajOcenyPrzedmiotuMaturalnego' 149 ]; 150 151 zarzadcaModulow.getModulyDoWyswietlenia().then(function(moduly) { 152 angular.forEach(moduly, function(modul) { 153 var modulDoUruchomienia = $injector.get(modul); 154 slowniki = slowniki.concat(modulDoUruchomienia.getNazwyUzywanychSlownikow()); 155 }); 156 157 angular.forEach(slowniki, function(nazwaSlownika) { 158 $scope.wartosciSlownikowe[nazwaSlownika] = slownik.get(nazwaSlownika); 159 }); 160 }); 161 162 }; 163 164 zarzadcaModulow.getModulyDoWyswietlenia().then(function(moduly) { 165 angular.forEach(moduly, function(modul) { 166 var modulDoUruchomienia = $injector.get(modul); 167 modulDoUruchomienia.process($scope); 168 }); 169 }); 170 171 $scope.czyPodswietlonePole = function(urlFragment, intakeField) { 172 return $scope.urlFragment == urlFragment && !intakeField.value; 173 } 174 175 $scope.updateSlowniki(); 176 $scope.loadGroup(); 177 } 178})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.