app.controller('MainController', [ '$scope', 'UserService', 'CachedObjectsServiceFactory', function($scope, UserService, CachedObjectsServiceFactory) { var organizationResources = { serviceType: 'organization_related', array: [] }; var matterTypeResources = { serviceType: 'matter_type_related', array: ['Definings', 'SubMatterStatuses', 'ReferenceTypes'] }; var dependentResources = { serviceType: 'dependency_related', array: ['SubMatterTypes', 'SubMatterSubTypes'] }; [organizationResources, matterTypeResources, dependentResources].forEach(function(cachedResources) { cachedResources.array.forEach(function(resourceName) { CachedObjectsServiceFactory.get(resourceName, cachedResources.serviceType).init(); }); }); $scope.user = UserService.getCurrent(); $scope.logout = function() { $scope.user.$promise.then(function() { UserService.logout(function() { window.location = '/'; }); }) }; }]);