diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 32807348..31d0a01c 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -39,7 +39,7 @@ taiga.sessionId = taiga.generateUniqueSessionIdentifier() configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, tgLoaderProvider, $compileProvider, $translateProvider) -> $routeProvider.when("/", - {templateUrl: "project/projects.html", resolve: {loader: tgLoaderProvider.add()}}) + {templateUrl: "project/projects.html"}) $routeProvider.when("/project/:pslug/", {templateUrl: "project/project.html"}) diff --git a/app/coffee/modules/base/http.coffee b/app/coffee/modules/base/http.coffee index ddf2c7a9..e8847601 100644 --- a/app/coffee/modules/base/http.coffee +++ b/app/coffee/modules/base/http.coffee @@ -22,11 +22,12 @@ taiga = @.taiga class HttpService extends taiga.Service - @.$inject = ["$http", "$q", "$tgStorage", "$rootScope"] + @.$inject = ["$http", "$q", "$tgStorage", "$rootScope", "$cacheFactory"] - constructor: (@http, @q, @storage, @rootScope) -> + constructor: (@http, @q, @storage, @rootScope, @cacheFactory) -> super() + @.cache = @cacheFactory("httpget"); headers: -> headers = {} @@ -52,7 +53,12 @@ class HttpService extends taiga.Service get: (url, params, options) -> options = _.merge({method: "GET", url: url}, options) options.params = params if params - return @.request(options) + + # prevent duplicated http request + options.cache = @.cache + + return @.request(options).finally (data) => + @.cache.removeAll() post: (url, data, params, options) -> options = _.merge({method: "POST", url: url}, options) diff --git a/app/coffee/modules/projects/main.coffee b/app/coffee/modules/projects/main.coffee index 8fda3a20..dafe8c41 100644 --- a/app/coffee/modules/projects/main.coffee +++ b/app/coffee/modules/projects/main.coffee @@ -43,6 +43,8 @@ class ProjectsController extends taiga.Controller if !@auth.isAuthenticated() @location.path(@navUrls.resolve("login")) + else + tgLoader.start() @.user = @auth.getUser()