Commit 83438d0e9f88c78865f97f157564cd03ca0eb4ff

Authored by Caio Almeida
1 parent c1286e5f
Exists in production

Ticket #174: List proposals from national phase

www/html/_left_sidebar.html
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 <ul class="list" ng-show="loggedIn"> 7 <ul class="list" ng-show="loggedIn">
8 <li class="item" ng-click="showProfile()"><i class="icon ion-person"></i> Meu Perfil</li> 8 <li class="item" ng-click="showProfile()"><i class="icon ion-person"></i> Meu Perfil</li>
9 <li class="item" ng-click="editProfile()"><i class="icon ion-person-add"></i> Atualizar Perfil</li> 9 <li class="item" ng-click="editProfile()"><i class="icon ion-person-add"></i> Atualizar Perfil</li>
  10 + <li class="item" ng-click="showNationalProposals()"><i class="icon ion-ios-flag"></i> Etapa Nacional</li>
10 <li class="item" ng-click="showMyProposals()"><i class="icon ion-document"></i> Minhas Propostas</li> 11 <li class="item" ng-click="showMyProposals()"><i class="icon ion-document"></i> Minhas Propostas</li>
11 <li class="item" ng-click="showFollowedProposals()"><i class="icon ion-eye"></i> Propostas Seguidas</li> 12 <li class="item" ng-click="showFollowedProposals()"><i class="icon ion-eye"></i> Propostas Seguidas</li>
12 <li class="item" ng-click="showVotedProposals()"><i class="icon ion-thumbsup"></i> Propostas Apoiadas</li> 13 <li class="item" ng-click="showVotedProposals()"><i class="icon ion-thumbsup"></i> Propostas Apoiadas</li>
www/index.html
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 35
36 <ion-side-menus id="body" ng-show="!introDisplayed"> 36 <ion-side-menus id="body" ng-show="!introDisplayed">
37 <ion-side-menu side="left"> 37 <ion-side-menu side="left">
38 - <ng-include src="'html/_left_sidebar.html?2'"></ng-include> 38 + <ng-include src="'html/_left_sidebar.html?3'"></ng-include>
39 </ion-side-menu> 39 </ion-side-menu>
40 40
41 <ion-side-menu-content> 41 <ion-side-menu-content>
www/js/config.js.example
@@ -3,5 +3,6 @@ var ConfJuvAppConfig = { @@ -3,5 +3,6 @@ var ConfJuvAppConfig = {
3 noosferoApiPublicHost: 'http://app.juventude.gov.br', 3 noosferoApiPublicHost: 'http://app.juventude.gov.br',
4 noosferoApiVersion: 'v1', 4 noosferoApiVersion: 'v1',
5 noosferoDiscussion: 99895, 5 noosferoDiscussion: 99895,
6 - noosferoStatutePath: 'articles/participatorio/0010/2309/Resolucao-01-2015-etapa-digital.pdf' 6 + noosferoStatutePath: 'articles/participatorio/0010/2309/Resolucao-01-2015-etapa-digital.pdf',
  7 + noosferoNationalPhaseProfileId: '31118'
7 }; 8 };
www/js/controllers.js
@@ -329,21 +329,22 @@ angular.module(&#39;confjuvapp.controllers&#39;, []) @@ -329,21 +329,22 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
329 $scope.loading = true; 329 $scope.loading = true;
330 330
331 var path = 'states/'; 331 var path = 'states/';
332 - if($scope.profile && $scope.profile.region){ 332 + if ($scope.profile && $scope.profile.region) {
333 path += $scope.profile.region.parent_id; 333 path += $scope.profile.region.parent_id;
334 - }else{ 334 + }
  335 + else {
335 return; 336 return;
336 } 337 }
337 338
338 $http.get(ConfJuvAppUtils.pathTo(path)) 339 $http.get(ConfJuvAppUtils.pathTo(path))
339 .then(function(resp) { 340 .then(function(resp) {
340 $scope.profile.state = resp.data; 341 $scope.profile.state = resp.data;
341 - if($scope.profile.state){ 342 + if ($scope.profile.state) {
342 $scope.setCityOfProfile(); 343 $scope.setCityOfProfile();
343 } 344 }
344 $scope.loading = false; 345 $scope.loading = false;
345 }, function(err) { 346 }, function(err) {
346 - $ionicPopup.alert({ title: 'Estados', template: 'Não foi possível atribuir o estado ao perfil' }); 347 + // $ionicPopup.alert({ title: 'Estados', template: 'Não foi possível atribuir o estado ao perfil' });
347 $scope.loading = false; 348 $scope.loading = false;
348 }); 349 });
349 }; 350 };
@@ -1572,4 +1573,47 @@ angular.module(&#39;confjuvapp.controllers&#39;, []) @@ -1572,4 +1573,47 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
1572 } 1573 }
1573 }; 1574 };
1574 1575
  1576 + /******************************************************************************
  1577 + N A T I O N A L P H A S E P R O P O S A L S
  1578 + ******************************************************************************/
  1579 +
  1580 + $scope.nationalProposals = [];
  1581 +
  1582 + $scope.showNationalProposals = function() {
  1583 + $scope.cardsBackup = [];
  1584 + $scope.showBackupProposalsLink = false;
  1585 +
  1586 + if ($scope.nationalProposals.length == 0) {
  1587 + $scope.cards = [];
  1588 +
  1589 + var config = {
  1590 + headers: {
  1591 + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
  1592 + },
  1593 + timeout: defaultTimeout
  1594 + };
  1595 +
  1596 + var path = 'articles?private_token=' + $scope.token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by,author.name,votes_count,comments_count,followers_count&content_type=ProposalsDiscussionPlugin::Proposal&_=' + (new Date().getTime()) + '&author_id=' + ConfJuvAppConfig.noosferoNationalPhaseProfileId + '&per_page=400&parent_id[]=';
  1597 +
  1598 + for (var i = 0; i < $scope.topics.length; i++) {
  1599 + path += '&parent_id[]=' + $scope.topics[i].id;
  1600 + }
  1601 + $scope.loading = true;
  1602 +
  1603 + $http.get(ConfJuvAppUtils.pathTo(path), config)
  1604 + .then(function(resp) {
  1605 + console.log('NATIONAL PROPOSALS: ' + resp.data.articles.length);
  1606 + $scope.nationalProposals = resp.data.articles;
  1607 + $scope.cards = $scope.nationalProposals.slice();
  1608 + $scope.loading = false;
  1609 + }, function(err) {
  1610 + $scope.loading = false;
  1611 + });
  1612 + }
  1613 + else {
  1614 + $scope.cards = $scope.nationalProposals.slice();
  1615 + }
  1616 + };
  1617 +
  1618 +
1575 }); // Ends controller 1619 }); // Ends controller