In my .config I have a router that instantiate a pair controller-router:
angular.module('reporting', ['ng', 'ngRoute', 'ngResource', 'reporting.directives', 'reporting.controllers', 'reporting.config', 'ngGrid', 'ui.bootstrap'])
    .config(["$routeProvider", "$provide", function ($routeProvider, $provide) {
        $routeProvider
            .when('/dealersReq', {
                templateUrl: 'reporting/partials/dealersReqs.html',
                controller: 'DealersCtrl'
            })
            .when('/lmtReq', {
                templateUrl: 'reporting/partials/lmt.html',
                controller: 'lmtCtrl'
            })
            .when('/leadsCreated', {
                templateUrl: 'reporting/partials/leadsCreated.html',
                controller: 'LeadsCreatedCtrl'
            })
...
but each controller share the same initialization code (think about it like a constructor) that sets in the rootScope some variable like a title and other useful information for some controllers outside the <view>:
.controller('DealersCtrl', ['$scope','$rootScope', 'CONFIG',
    function($scope, $rootScope, CONFIG) {
        //////////// duplicated code
        var key = 'qtsldsCrtSncheQ';
        $rootScope.openReport.key = key;
        $rootScope.openReport.title = CONFIG.reports['' + key].title;
        //////////// duplicated code
        console.log('Initialized! Now I do what a controller should really do');
    }]);
What I would like to do is finding a way to move that code - which is duplicated into every controller at the moment - into something smarter and neater. Soemthing that the route can call during the routing instanciation for example. Of course each controller should have a different key, but that one could be exactly the controller name actually. I really don't know how to improve this. Any suggestion?
 
     
     
    