Commit 499deb48e7bbd9fe252bb94e8e5cbbdfb3681f7c

Authored by Leonardo Merlin
1 parent 5d427492

Sync

src/app/components/article-service/article.service.js
@@ -121,13 +121,14 @@ @@ -121,13 +121,14 @@
121 var url = service.apiArticles + topicId + '/children'; 121 var url = service.apiArticles + topicId + '/children';
122 122
123 var paramsExtended = angular.extend({ 123 var paramsExtended = angular.extend({
124 - 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'],  
125 - 'limit':'20',  
126 - 'page':'1', 124 + // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'],
  125 + // 'limit':'20',
  126 + // 'page':'1',
127 'content_type':'ProposalsDiscussionPlugin::Proposal' 127 'content_type':'ProposalsDiscussionPlugin::Proposal'
128 }, params); 128 }, params);
129 129
130 UtilService.get(url, {params: paramsExtended}).then(function(data){ 130 UtilService.get(url, {params: paramsExtended}).then(function(data){
  131 + _pipeInjectSlugIntoParentProgram(data);
131 cbSuccess(data); 132 cbSuccess(data);
132 }).catch(function(error){ 133 }).catch(function(error){
133 cbError(error); 134 cbError(error);
@@ -180,5 +181,15 @@ @@ -180,5 +181,15 @@
180 cbError(error); 181 cbError(error);
181 }); 182 });
182 } 183 }
  184 +
  185 + function _pipeInjectSlugIntoParentProgram(data){
  186 + var proposals = data.articles;
  187 + for (var i = proposals.length - 1; i >= 0; i--) {
  188 + var proposal = proposals[i];
  189 + if(proposal.parent && !proposal.parent.slug){
  190 + proposal.parent.slug = Slug.slugify(proposal.parent.title);
  191 + }
  192 + };
  193 + }
183 } 194 }
184 })(); 195 })();
src/app/components/proposal-box/proposal-box.directive.js
@@ -27,11 +27,13 @@ @@ -27,11 +27,13 @@
27 27
28 }; 28 };
29 29
30 - ProposalBoxController.prototype.showContent = function (program) { 30 + ProposalBoxController.prototype.showContent2 = function (topic) {
31 var vm = this; 31 var vm = this;
32 32
  33 + console.log('topic', topic);
  34 +
33 vm.$state.go('programa-conteudo', { 35 vm.$state.go('programa-conteudo', {
34 - slug: program.slug 36 + slug: topic.slug
35 }, { 37 }, {
36 location: true 38 location: true
37 }); 39 });
src/app/components/proposal-box/proposal-box.html
1 -<div class="proposal-box" ng-class="{'focus':vm.isFocused}"> 1 +<div class="proposal-box" ng-class="[{'focus': vm.isFocused}, vm.category.slug]">
2 <div class="proposal-box--top"> 2 <div class="proposal-box--top">
3 <div class="proposal-box--theme color-theme-bg-darker">{{::vm.category.name}}</div> 3 <div class="proposal-box--theme color-theme-bg-darker">{{::vm.category.name}}</div>
4 <div class="proposal-box--program color-theme-bg">{{::vm.topic.title}}</div> 4 <div class="proposal-box--program color-theme-bg">{{::vm.topic.title}}</div>
@@ -7,10 +7,10 @@ @@ -7,10 +7,10 @@
7 <div class="proposal-box--content"> 7 <div class="proposal-box--content">
8 <div class="proposal-box--content-inner" ng-bind-html="vm.proposal.abstract"></div> 8 <div class="proposal-box--content-inner" ng-bind-html="vm.proposal.abstract"></div>
9 </div> 9 </div>
10 - <div ng-if="vm.vote==false" class="proposal-box--join">  
11 - <button class="btn btn-link" ng-click="vm.showContent(vm.topic)">Participe</button> 10 + <div ng-show="!vm.vote" class="proposal-box--join">
  11 + <button class="btn btn-link" ng-click="vm.showContent2(vm.topic)">Participe</button>
12 </div> 12 </div>
13 - <div ng-if="vm.vote==true"class="proposal-box--actions text-center"> 13 + <div ng-show="vm.vote"class="proposal-box--actions text-center">
14 <div class="row"> 14 <div class="row">
15 <div class="col-xs-4"> 15 <div class="col-xs-4">
16 <div class="action vote_for"> 16 <div class="action vote_for">
src/app/components/proposal-grid/proposal-grid.html
1 <div class="proposal-grid row"> 1 <div class="proposal-grid row">
2 <div ng-repeat="proposal in vm.proposals as results"> 2 <div ng-repeat="proposal in vm.proposals as results">
3 - <proposal-box proposal="proposal" category="proposal.categories[0]" class="col-xs-12 col-sm-6"></proposal-box> 3 + <proposal-box proposal="proposal" topic="proposal.parent" category="proposal.parent.categories[0]" class="col-xs-12 col-sm-6"></proposal-box>
4 <div ng-if="$odd" class="clearfix"></div> 4 <div ng-if="$odd" class="clearfix"></div>
5 </div> 5 </div>
6 <div class="animate-repeat" ng-if="results.length == 0"> 6 <div class="animate-repeat" ng-if="results.length == 0">
src/app/pages/programas/programa-content.controller.js
@@ -39,6 +39,13 @@ @@ -39,6 +39,13 @@
39 39
40 // Get program by slug 40 // Get program by slug
41 var slug = vm.$state.params.slug; 41 var slug = vm.$state.params.slug;
  42 +
  43 + if(!slug){
  44 + vm.$log.error('slug not defined.');
  45 + vm.$log.info('Rollback to home page.');
  46 + vm.$state.go('inicio', {}, {location: true});
  47 + }
  48 +
42 vm.DialogaService.getProgramBySlug(slug, function(article) { 49 vm.DialogaService.getProgramBySlug(slug, function(article) {
43 vm.article = article; 50 vm.article = article;
44 vm.category = vm.article.categories[0]; 51 vm.category = vm.article.categories[0];