Commit b7e21a20541c9621e727e5bddd83c826af777c2d

Authored by Caio Almeida
1 parent 82273771

Loading proposals by city

ConfJuvApp/www/html/_right_sidebar.html
... ... @@ -4,7 +4,17 @@
4 4 <span>Filtros</span>
5 5 <button menu-toggle="right" class="button button-icon icon ion-close-circled" hide-when="large"></button>
6 6 </h2>
7   - <h3>Mostrar apenas propostas do eixo:</h2>
  7 + <h3 ng-show="user.region">
  8 + Propostas de {{user.region.full_name}}
  9 + <label class="checkbox my-city-cbox">
  10 + <input type="checkbox" ng-click="loadProposalsOfMyCity()">
  11 + </label>
  12 + </h3>
  13 + <h3 ng-show="!user.region">
  14 + <a ng-click="loadStates()">Adicione sua cidade no seu cadastro se der.</a>
  15 + <ng-include ng-show="states.length != 0" src="'html/_select_state.html'"></ng-include>
  16 + </h3>
  17 + <h3>Mostrar apenas propostas do eixo:</h3>
8 18 <ion-radio class="radio-balanced" ng-value="'all'" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()">Todos</ion-radio>
9 19 <label ng-repeat="topic in topics">
10 20 <ion-radio class="radio-balanced" ng-value="topic.id" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()">
... ...
ConfJuvApp/www/js/controllers.js
... ... @@ -332,6 +332,8 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
332 332 $scope.topics = [];
333 333 $scope.cards = [];
334 334 $scope.emptyTopicsCount = 0;
  335 + //FIXME refatoring this variable to make the proposals filters more generic
  336 + $scope.proposalsFilter = '';
335 337 $scope.topicFilter = { value: 'all' };
336 338  
337 339 $scope.reloadTopics = function() {
... ... @@ -376,8 +378,19 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
376 378 });
377 379 };
378 380  
379   - // Load proposals
  381 + // Load Proposals of My City
  382 + $scope.loadProposalsOfMyCity = function() {
  383 + $scope.loading = true;
  384 + if($scope.proposalsFilter == ''){
  385 + $scope.proposalsFilter = '&categories_ids=' + $scope.user.region.id;
  386 + }else{
  387 + $scope.proposalsFilter = '';
  388 + }
  389 + $scope.reloadProposals();
  390 + $scope.loading = false;
  391 + }
380 392  
  393 + // Load proposals
381 394 $scope.loadProposals = function(token, topic) {
382 395 if ($scope.topicFilter.value != 'all' && topic.id != $scope.topicFilter.value) {
383 396 return;
... ... @@ -390,7 +403,7 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
390 403 perPage = 11;
391 404 }
392 405  
393   - var params = '?private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&limit=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId;
  406 + var params = '?private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&limit=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId + $scope.proposalsFilter;
394 407  
395 408 var path = 'articles/' + topic.id + '/children' + params;
396 409  
... ...