Skip to content

Commit 360966a

Browse files
get language from server and save it in a language object, dont use a seperate file for instantiating controllers
1 parent fe2bb06 commit 360966a

File tree

14 files changed

+255
-114
lines changed

14 files changed

+255
-114
lines changed

appinfo/routes.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,11 @@ function($params){
193193
}
194194
);
195195

196+
$this->create('news_usersettings_language', '/usersettings/language')->get()->action(
197+
function($params){
198+
App::main('UserSettingsController', 'getLanguage', $params, new DIContainer());
199+
}
200+
);
196201

197202

198203

controller/usersettingscontroller.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,20 @@ public function hide(){
7777
}
7878

7979

80+
/**
81+
* @IsAdminExemption
82+
* @IsSubAdminExemption
83+
* @Ajax
84+
*/
85+
public function getLanguage(){
86+
$language = $this->api->getTrans()->findLanguage();
87+
88+
$params = array(
89+
'language' => $language
90+
);
91+
return $this->renderJSON($params);
92+
}
93+
94+
95+
8096
}

js/Gruntfile.coffee

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ module.exports = (grunt) ->
6666
src: '<%= meta.production %>app.js'
6767
dest: ''
6868
wrapper: [
69-
'(function(angular, $, hex_md5, undefined){\n\n'
70-
'\n})(window.angular, jQuery, hex_md5);'
69+
'(function(angular, $, hex_md5, moment, undefined){\n\n'
70+
'\n})(window.angular, jQuery, hex_md5, moment);'
7171
]
7272

7373
coffeelint:

js/app/controllers/feedcontroller.coffee

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
2121
###
2222

2323

24-
angular.module('News').factory '_FeedController',
25-
['_ExistsError',
26-
(_ExistsError)->
24+
angular.module('News').controller 'FeedController',
25+
['$scope', '_ExistsError', 'Persistence', 'FolderBl', 'FeedBl',
26+
'SubscriptionsBl', 'StarredBl', 'unreadCountFormatter',
27+
($scope, _ExistsError, Persistence, FolderBl, FeedBl, SubscriptionsBl,
28+
StarredBl, unreadCountFormatter) ->
29+
2730

2831
class FeedController
2932

@@ -105,6 +108,8 @@ angular.module('News').factory '_FeedController',
105108
@_$scope.$on 'moveFeedToFolder', (scope, data) =>
106109
@_feedBl.move(data.feedId, data.folderId)
107110

108-
return FeedController
111+
112+
return new FeedController($scope, Persistence, FolderBl, FeedBl,
113+
SubscriptionsBl, StarredBl, unreadCountFormatter)
109114

110115
]

js/app/controllers/itemcontroller.coffee

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
2121
###
2222

2323

24-
angular.module('News').factory '_ItemController', ->
24+
angular.module('News').controller 'ItemController',
25+
['$scope', 'ItemBl', 'FeedModel', 'FeedLoading', 'FeedBl', 'Language',
26+
($scope, ItemBl, FeedModel, FeedLoading, FeedBl, Language) ->
2527

2628
class ItemController
2729

2830
constructor: (@_$scope, @_itemBl, @_feedModel, @_feedLoading,
29-
@_feedBl) ->
31+
@_feedBl, @_language) ->
3032

3133
@_$scope.itemBl = @_itemBl
3234
@_$scope.feedBl = @_feedBl
@@ -42,4 +44,6 @@ angular.module('News').factory '_ItemController', ->
4244
return ''
4345

4446

45-
return ItemController
47+
return new ItemController($scope, ItemBl, FeedModel, FeedLoading, FeedBl,
48+
Language)
49+
]

js/app/controllers/controllers.coffee renamed to js/app/services/language.coffee

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,18 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
2020
2121
###
2222

23-
angular.module('News').controller 'FeedController',
24-
['$scope', '_FeedController', 'Persistence', 'FolderBl', 'FeedBl',
25-
'SubscriptionsBl', 'StarredBl', 'unreadCountFormatter',
26-
($scope, _FeedController, Persistence, FolderBl, FeedBl, SubscriptionsBl,
27-
StarredBl, unreadCountFormatter)->
28-
29-
return new _FeedController($scope, Persistence, FolderBl, FeedBl,
30-
SubscriptionsBl, StarredBl, unreadCountFormatter)
31-
]
32-
33-
angular.module('News').controller 'ItemController',
34-
['$scope', '_ItemController', 'ItemBl', 'FeedModel', 'FeedLoading', 'FeedBl',
35-
($scope, _ItemController, ItemBl, FeedModel, FeedLoading, FeedBl)->
36-
37-
return new _ItemController($scope, ItemBl, FeedModel, FeedLoading, FeedBl)
38-
]
23+
angular.module('News').factory 'Language', ->
24+
25+
class Language
26+
27+
constructor: ->
28+
@_language = 'en'
29+
30+
handle: (data) ->
31+
@_language = data.language
32+
33+
getLanguage: ->
34+
return @_language
35+
36+
37+
return new Language()

js/app/services/persistence.coffee

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ angular.module('News').factory '_Persistence', ->
4747
@getAllFeeds(triggerHideRead)
4848
@userSettingsRead(triggerHideRead)
4949
@getStarredItems(triggerHideRead)
50-
50+
@userSettingsLanguage()
51+
5152

5253
###
5354
ITEM CONTROLLER
@@ -320,6 +321,13 @@ angular.module('News').factory '_Persistence', ->
320321
@_request.post 'news_usersettings_read_hide', data
321322

322323

324+
userSettingsLanguage: (callback=null) ->
325+
callback or= ->
326+
data =
327+
onSuccess: callback
328+
@_request.get 'news_usersettings_language', data
329+
330+
323331
_triggerHideRead: ->
324332
@_$rootScope.$broadcast('triggerHideRead')
325333

js/app/services/services.coffee

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,15 @@ angular.module('News').factory 'ItemModel', ['_ItemModel', (_ItemModel) ->
8282

8383
angular.module('News').factory 'Publisher',
8484
['_Publisher', 'ActiveFeed', 'ShowAll', 'StarredCount', 'ItemModel',
85-
'FolderModel', 'FeedModel',
85+
'FolderModel', 'FeedModel', 'Language',
8686
(_Publisher, ActiveFeed, ShowAll, StarredCount, ItemModel,
87-
FolderModel, FeedModel) ->
87+
FolderModel, FeedModel, Language) ->
8888

8989
# register items at publisher to automatically add incoming items
9090
publisher = new _Publisher()
9191
publisher.subscribeObjectTo(ActiveFeed, 'activeFeed')
9292
publisher.subscribeObjectTo(ShowAll, 'showAll')
93+
publisher.subscribeObjectTo(Language, 'language')
9394
publisher.subscribeObjectTo(StarredCount, 'starred')
9495
publisher.subscribeObjectTo(FolderModel, 'folders')
9596
publisher.subscribeObjectTo(FeedModel, 'feeds')

0 commit comments

Comments
 (0)