1angular.module("irk") 2 .constant("SIDEBAR_MENU_EVENTS", { 3 zmianaLiczbyNieprzeczytanychWiadomosci: 'zmianaLiczbyNieprzeczytanychWiadomosci', 4 zmianaLiczbyEDoreczenDoOdebrania: 'zmianaLiczbyEDoreczenDoOdebrania', 5 zmianaLiczbyTestowDoRozwiazania: 'zmianaLiczbyTestowDoRozwiazania', 6 zmianaLiczbyZgodDoUzupelnienia: 'zmianaLiczbyZgodDoUzupelnienia' 7 }) 8 .controller("irkLogourSidebarMenuController", function($scope, $route, routePermissionFactory, Session, i18n, $location, $http, $rootScope, AUTH_EVENTS, SIDEBAR_MENU_EVENTS) { 9 10 var rejestracja = { 11 path: '/Rejestracja', 12 class: 'glyphicon glyphicon-registration-mark', 13 labelKey: 'interfejs.irk.shared.SidebarMenu.ZarejestrujSie' 14 }; 15 var logowanie = { 16 path: '/Logowanie', 17 class: 'glyphicon glyphicon-log-in', 18 labelKey: 'interfejs.irk.shared.SidebarMenu.Logowanie' 19 }; 20 var zapomnianeHaslo = { 21 path: '/ZapomnianeHaslo', 22 class: 'glyphicon glyphicon-question-sign', 23 labelKey: 'interfejs.irk.shared.SidebarMenu.NiePamietamHasla' 24 }; 25 var stronaGlowna = { 26 path: '/StronaGlowna', 27 class: 'glyphicon glyphicon-home', 28 labelKey: 'interfejs.irk.shared.SidebarMenu.StronaGlowna' 29 }; 30 var kierunkiStudiow = { 31 path: '/KierunkiStudiow', 32 class: 'glyphicon glyphicon-random', 33 labelKey: 'interfejs.irk.shared.SidebarMenu.KierunkiStudiow' 34 }; 35 var formularzDanychOsobowych = { 36 path: '/FormularzDanychOsobowych', 37 class: 'glyphicon glyphicon-user', 38 labelKey: 'interfejs.irk.shared.SidebarMenu.DaneOsobowe' 39 }; 40 var egzaminy = { 41 path: '/Egzaminy', 42 class: 'glyphicon glyphicon-book', 43 labelKey: 'interfejs.irk.shared.SidebarMenu.Egzaminy' 44 } 45 var wyksztalcenie = { 46 path: '/Wyksztalcenie', 47 class: 'glyphicon glyphicon-education', 48 labelKey: 'interfejs.irk.shared.SidebarMenu.Wyksztalcenie' 49 }; 50 var platnosci = { 51 path: '/Platnosci', 52 class: 'glyphicon glyphicon-credit-card', 53 labelKey: 'interfejs.irk.shared.SidebarMenu.Platnosci' 54 }; 55 var dokumenty = { 56 path: '/Dokumenty', 57 class: 'glyphicon glyphicon-folder-open', 58 labelKey: 'interfejs.irk.shared.SidebarMenu.Dokumenty' 59 }; 60 var wiadomosci = { 61 path: '/Wiadomosci', 62 class: 'glyphicon glyphicon-envelope', 63 labelKey: 'interfejs.irk.shared.SidebarMenu.Wiadomosci', 64 }; 65 var zglosProblem = { 66 path: '/Wiadomosci/Zglos', 67 class: 'glyphicon glyphicon-question-sign', 68 labelKey: 'interfejs.irk.shared.SidebarMenu.ZglosProblem', 69 }; 70 var eDoreczenia = { 71 path: '/EDoreczenia', 72 class: 'glyphicon glyphicon-inbox', 73 labelKey: 'interfejs.irk.shared.SidebarMenu.EDoreczenia', 74 }; 75 var testy = { 76 path: '/Testy', 77 class: 'glyphicon glyphicon-stats', 78 labelKey: 'interfejs.irk.shared.SidebarMenu.Testy' 79 }; 80 var ankiety = { 81 path: '/Ankiety', 82 class: 'glyphicon glyphicon-comment', 83 labelKey: 'interfejs.irk.shared.SidebarMenu.Ankiety' 84 }; 85 var wnioskiOAkademik = { 86 path: '/WnioskiOAkademik', 87 class: 'glyphicon glyphicon-bed', 88 labelKey: 'interfejs.irk.shared.SidebarMenu.WnioskiOAkademik' 89 }; 90 var osiagniecia = { 91 path: '/Osiagniecia', 92 class: 'glyphicon glyphicon-list-alt', 93 labelKey: 'interfejs.irk.shared.SidebarMenu.Osiagniecia' 94 }; 95 var oswiadczenia = { 96 path: '/Oswiadczenia', 97 class: 'glyphicon glyphicon-check', 98 labelKey: 'interfejs.irk.shared.SidebarMenu.Oswiadczenia' 99 }; 100 var wylogowanie = { 101 path: '/Wylogowanie', 102 class: 'glyphicon glyphicon-log-out', 103 labelKey: 'interfejs.irk.shared.SidebarMenu.Wylogowanie' 104 }; 105 106 $scope.menu = {}; 107 $scope.menu.allItems = [ 108 rejestracja, 109 logowanie, 110 zapomnianeHaslo, 111 stronaGlowna, 112 kierunkiStudiow, 113 formularzDanychOsobowych, 114 wyksztalcenie, 115 dokumenty, 116 platnosci, 117 egzaminy, 118 wiadomosci, 119 eDoreczenia, 120 testy, 121 ankiety, 122 wnioskiOAkademik, 123 osiagniecia, 124 zglosProblem, 125 oswiadczenia, 126 wylogowanie 127 ]; 128 129 function odswiezLiczbeNieprzeczytanychWiadomosci() { 130 return $http.get('REST/wiadomosci/nieprzeczytane').then(function(result) { 131 odswiezLiczbeNotyfikacji(wiadomosci, result); 132 }); 133 } 134 135 function odswiezLiczbeEDoreczenDoOdebrania() { 136 return $http.get('REST/eDoreczenia/liczbaDoOdebrania').then(function(result) { 137 odswiezLiczbeNotyfikacji(eDoreczenia, result); 138 }); 139 } 140 141 function odswiezLiczbeTestowDoRozwiazania() { 142 return $http.get('REST/testy/liczbaDoWypelnienia/TEST_POZIOMUJACY').then(function(result) { 143 odswiezLiczbeNotyfikacji(testy, result); 144 }); 145 } 146 147 function odswiezLiczbeAnkietDoRozwiazania() { 148 return $http.get('REST/testy/liczbaDoWypelnienia/ANKIETA_IRK').then(function(result) { 149 odswiezLiczbeNotyfikacji(ankiety, result); 150 }); 151 } 152 153 function odswiezLiczbeZgodDoUzupelnienia() { 154 return $http.get('REST/pytaniadodatkowe/liczbaDoWypelnienia/OSWIADCZENIA_I_ZGODY_OBOWIAZKOWE').then(function(result) { 155 odswiezLiczbeNotyfikacji(oswiadczenia, result); 156 }); 157 } 158 159 function odswiezLiczbeNotyfikacji(menuItem, result) { 160 menuItem.notification = undefined; 161 var liczba = Math.min(99, parseInt(result.data)); 162 if(liczba > 0) { 163 menuItem.notification = liczba; 164 } 165 } 166 167 function getRouteByUrl(url) { 168 for (var path in $route.routes) { 169 if ($route.routes[path].regexp && $route.routes[path].regexp.test(url)) { 170 return $route.routes[path]; 171 } 172 } 173 return null; 174 } 175 176 function filterItems(items) { 177 var newItems = {}; 178 angular.forEach(items, function(item, key) { 179 i18n.get(item.labelKey).then(function(label) { 180 item.label = label; 181 }, function() {}); 182 var route = getRouteByUrl(item.path); 183 routePermissionFactory.checkRoutePermission(route, true).then(function(response) { 184 if(response) { 185 newItems[key] = item; 186 item.active=(item.path == $location.path()); 187 } 188 }); 189 }); 190 return newItems; 191 } 192 193 $scope.notSorted = function(obj){ 194 if (!obj) { 195 return []; 196 } 197 return Object.keys(obj); 198 } 199 200 function refreshAvailableItems() { 201 $scope.menu.availableItems = filterItems($scope.menu.allItems); 202 } 203 204 refreshAvailableItems(); 205 206 Session.registerObserverCallback(refreshAvailableItems); 207 208 $scope.$on('$routeChangeSuccess', function() { 209 angular.forEach($scope.menu.availableItems, function(item) { 210 item.active=($location.path().indexOf(item.path) == 0); 211 }); 212 }); 213 214 $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyNieprzeczytanychWiadomosci, function(){ 215 odswiezLiczbeNieprzeczytanychWiadomosci(); 216 }); 217 $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyEDoreczenDoOdebrania, function(){ 218 odswiezLiczbeEDoreczenDoOdebrania(); 219 }); 220 $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyTestowDoRozwiazania, function() { 221 odswiezLiczbeTestowDoRozwiazania(); 222 odswiezLiczbeAnkietDoRozwiazania(); 223 }); 224 $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyZgodDoUzupelnienia, function() { 225 odswiezLiczbeZgodDoUzupelnienia(); 226 }); 227 $rootScope.$on(AUTH_EVENTS.loginSuccess, function() { 228 odswiezLiczbeNieprzeczytanychWiadomosci(); 229 odswiezLiczbeEDoreczenDoOdebrania(); 230 odswiezLiczbeTestowDoRozwiazania(); 231 odswiezLiczbeAnkietDoRozwiazania(); 232 odswiezLiczbeZgodDoUzupelnienia(); 233 }); 234 odswiezLiczbeNieprzeczytanychWiadomosci(); 235 odswiezLiczbeEDoreczenDoOdebrania(); 236 odswiezLiczbeTestowDoRozwiazania(); 237 odswiezLiczbeAnkietDoRozwiazania(); 238 odswiezLiczbeZgodDoUzupelnienia(); 239 }) 240 .directive("sidebarMenu", function() { 241 return { 242 restrict : "E", 243 replace : true, 244 transclude : true, 245 templateUrl : "../../content/script/irk/layout/sidebarMenu/sidebarMenu.html" 246 } 247 }); 248;
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.