Commit 499deb48e7bbd9fe252bb94e8e5cbbdfb3681f7c
1 parent
5d427492
Exists in
master
and in
8 other branches
Sync
Showing
5 changed files
with
30 additions
and
10 deletions
Show diff stats
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]; |