/* -----------------------------------------------------------------------------
Red Base - Basic website skel engine
Copyright (C) 2012-2013 Yellowen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
----------------------------------------------------------------------------- */
//= require ./functions
//= require_tree ./modules
//= require_self
//= require ./locale/translations
var dependencies = ["gettext", "Modules", "Navigation","ui.select2", "ngAnimate", "ngRoute",
"restangular", "ngQuickDate", "Errors", "Profile", "Permissions", "Conversation"].concat(dashboard_dependencies);
console.log("Dashboard dependencies:");
console.log(dependencies);
var Dashboard = angular.module('Dashboard', dependencies);
Dashboard.config(["$routeProvider", "RestangularProvider", "$httpProvider", "ngQuickDateDefaultsProvider", function($routeProvider, RestangularProvider, $httpProvider, ngQuickDateDefaultsProvider) {
$routeProvider.when("/", {
templateUrl: template("index")
});
ngQuickDateDefaultsProvider.set({
closeButtonHtml: "",
buttonIconHtml: "",
nextLinkHtml: "",
prevLinkHtml: ""
});
RestangularProvider.setBaseUrl('/api/v1');
$httpProvider.defaults.headers.common.lang = $("html").attr("lang");
$httpProvider.defaults.headers.common.RTYPE = "ajax";
// Show loading icon on any request
$httpProvider.interceptors.push(function($q) {
return {
'request': function(config) {
$(".loading").show();
return config;
},
'response': function(response) {
$(".loading").hide();
return response;
}
};
});
RestangularProvider.setErrorInterceptor(function(response, a){
$(".loading").hide();
if (response.status == 401) {
error_message(response.data.error);
return false;
}
});
}]);
Dashboard.run(["UserPermissions", "$rootScope", function(User, $rootScope){
$rootScope.user = User;
}]);
angular.element(document).ready(function(){
$.ajax({method: 'GET', type: 'json',
url: API_PREFIX + "permissions/user"})
.success(function(data, status, headers, config){
PERMISSIONS = data.permissions;
angular.bootstrap(document, ["Dashboard"]);
})
.fail(function(data){
alert('Can not connect to remote, please try again');
}).always(function(){
$("#mainloader").hide();
$("#content").show();
});
});