PageSourceSearch

https://rekrutacja.pedagogium.pl/pdg-irk-app/content/script/irk/pa…/FormularzDanychOsobowychController.js

js pedagogium.pl collected 2026-10-04 13:34:11 UTC 6,995 bytes, 178 lines download raw bytes

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.