Commit 83c9d339edc1ed9285230ee3a8c8ca014b4629a7
1 parent
4a6c4a70
Exists in
master
and in
4 other branches
correcao para usar as duas APIs
Showing
3 changed files
with
93 additions
and
54 deletions
Show diff stats
src/app/components/article-service/article.service.js
| @@ -2,8 +2,8 @@ | @@ -2,8 +2,8 @@ | ||
| 2 | 'use strict'; | 2 | 'use strict'; |
| 3 | 3 | ||
| 4 | angular | 4 | angular |
| 5 | - .module('dialoga') | ||
| 6 | - .factory('ArticleService', ArticleService); | 5 | + .module('dialoga') |
| 6 | + .factory('ArticleService', ArticleService); | ||
| 7 | 7 | ||
| 8 | /** @ngInject */ | 8 | /** @ngInject */ |
| 9 | function ArticleService($http, $q, $rootScope, API, UtilService, Slug, GUID, $log) { | 9 | function ArticleService($http, $q, $rootScope, API, UtilService, Slug, GUID, $log) { |
| @@ -23,6 +23,7 @@ | @@ -23,6 +23,7 @@ | ||
| 23 | getProposals: getProposals, | 23 | getProposals: getProposals, |
| 24 | getProposalById: getProposalById, | 24 | getProposalById: getProposalById, |
| 25 | getProposalsByTopicId: getProposalsByTopicId, | 25 | getProposalsByTopicId: getProposalsByTopicId, |
| 26 | + getProposalsByTopicIdRanked: getProposalsByTopicIdRanked, | ||
| 26 | getResponseByProposalId: getResponseByProposalId, | 27 | getResponseByProposalId: getResponseByProposalId, |
| 27 | createProposal: createProposal, | 28 | createProposal: createProposal, |
| 28 | voteProposal: voteProposal, | 29 | voteProposal: voteProposal, |
| @@ -107,8 +108,7 @@ | @@ -107,8 +108,7 @@ | ||
| 107 | } | 108 | } |
| 108 | 109 | ||
| 109 | function getProposalById (proposalId, params, cbSuccess, cbError) { | 110 | function getProposalById (proposalId, params, cbSuccess, cbError) { |
| 110 | - var url = service.apiProposals + proposalId + '/ranking?per_page=5&page=1'; | ||
| 111 | - console.log(url); | 111 | + var url = service.apiArticles + proposalId; |
| 112 | 112 | ||
| 113 | var paramsExtended = angular.extend({ | 113 | var paramsExtended = angular.extend({ |
| 114 | // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], | 114 | // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], |
| @@ -126,6 +126,25 @@ | @@ -126,6 +126,25 @@ | ||
| 126 | 126 | ||
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | + function getProposalByIdRanked (proposalId, params, cbSuccess, cbError) { | ||
| 130 | + var url = service.apiProposals + proposalId + '/ranking?per_page=5&page=1'; | ||
| 131 | + console.log(url); | ||
| 132 | + var paramsExtended = angular.extend({ | ||
| 133 | + // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], | ||
| 134 | + // 'per_page':'1', | ||
| 135 | + 'limit':'1', | ||
| 136 | + 'content_type':'ProposalsDiscussionPlugin::Proposal' | ||
| 137 | + }, params); | ||
| 138 | + | ||
| 139 | + UtilService.get(url, {params: paramsExtended}).then(function(data){ | ||
| 140 | + _pipeInjectSlugIntoParentProgramRanked(data); | ||
| 141 | + cbSuccess(data); | ||
| 142 | + }).catch(function(error){ | ||
| 143 | + cbError(error); | ||
| 144 | + }); | ||
| 145 | + | ||
| 146 | + } | ||
| 147 | + | ||
| 129 | /** | 148 | /** |
| 130 | * Ex.: /api/v1/articles/[article_id]/children?[params]content_type=ProposalsDiscussionPlugin::Proposal | 149 | * Ex.: /api/v1/articles/[article_id]/children?[params]content_type=ProposalsDiscussionPlugin::Proposal |
| 131 | * Ex.: /api/v1/articles/103644/children?limit=20&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal | 150 | * Ex.: /api/v1/articles/103644/children?limit=20&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal |
| @@ -136,13 +155,17 @@ | @@ -136,13 +155,17 @@ | ||
| 136 | * @param {Function} cbError callback for error | 155 | * @param {Function} cbError callback for error |
| 137 | * @return {Array} [description] | 156 | * @return {Array} [description] |
| 138 | */ | 157 | */ |
| 139 | - function getProposalsByTopicId (topicId, params, cbSuccess, cbError) { | ||
| 140 | - getProposalById(topicId /*+ '/children'*/, params, cbSuccess, cbError); | 158 | + function getProposalsByTopicId (topicId, params, cbSuccess, cbError) { |
| 159 | + getProposalById(topicId + '/children', params, cbSuccess, cbError); | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + function getProposalsByTopicIdRanked (topicId, params, cbSuccess, cbError) { | ||
| 163 | + getProposalByIdRanked(topicId, params, cbSuccess, cbError); | ||
| 141 | } | 164 | } |
| 142 | 165 | ||
| 143 | function getResponseByProposalId (proposalId) { | 166 | function getResponseByProposalId (proposalId) { |
| 144 | var url = service.apiArticles + proposalId + '/children?content_type=ProposalsDiscussionPlugin::Response&limit=1'; | 167 | var url = service.apiArticles + proposalId + '/children?content_type=ProposalsDiscussionPlugin::Response&limit=1'; |
| 145 | - | 168 | + |
| 146 | // var paramsExtended = {}; | 169 | // var paramsExtended = {}; |
| 147 | 170 | ||
| 148 | return UtilService.get(url); | 171 | return UtilService.get(url); |
| @@ -233,10 +256,10 @@ | @@ -233,10 +256,10 @@ | ||
| 233 | function sendContactForm (community_id, data){ | 256 | function sendContactForm (community_id, data){ |
| 234 | var url = service.apiCommunities + community_id + '/contact'; | 257 | var url = service.apiCommunities + community_id + '/contact'; |
| 235 | var encodedParams = [ | 258 | var encodedParams = [ |
| 236 | - 'contact[name]=' + data.name, | ||
| 237 | - 'contact[email]=' + data.email, | ||
| 238 | - 'contact[subject]=' + data.subject, | ||
| 239 | - 'contact[message]=' + data.message | 259 | + 'contact[name]=' + data.name, |
| 260 | + 'contact[email]=' + data.email, | ||
| 261 | + 'contact[subject]=' + data.subject, | ||
| 262 | + 'contact[message]=' + data.message | ||
| 240 | ].join('&'); | 263 | ].join('&'); |
| 241 | 264 | ||
| 242 | return UtilService.post(url, encodedParams); | 265 | return UtilService.post(url, encodedParams); |
| @@ -258,33 +281,29 @@ | @@ -258,33 +281,29 @@ | ||
| 258 | } | 281 | } |
| 259 | 282 | ||
| 260 | function searchProposals (params, cbSuccess, cbError) { | 283 | function searchProposals (params, cbSuccess, cbError) { |
| 261 | - // Search | ||
| 262 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Proposal&query=cisternas | 284 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Proposal&query=cisternas |
| 263 | - // Propostal Ranking | ||
| 264 | - // api/v1/proposals_discussion_plugin/103521/ranking?per_page=3&page=1 | ||
| 265 | var url = service.apiSearch + 'article'; | 285 | var url = service.apiSearch + 'article'; |
| 266 | - // var url = service.apiProposals; | ||
| 267 | var paramsExtended = angular.extend({ | 286 | var paramsExtended = angular.extend({ |
| 268 | page: 1, | 287 | page: 1, |
| 269 | - per_page: 3, | 288 | + per_page: 10, |
| 270 | type: 'ProposalsDiscussionPlugin::Proposal', | 289 | type: 'ProposalsDiscussionPlugin::Proposal', |
| 271 | 'fields[]': [ | 290 | 'fields[]': [ |
| 272 | - 'id', | ||
| 273 | - 'abstract', | ||
| 274 | - 'hits', | ||
| 275 | - 'ranking_position', | ||
| 276 | - 'votes_against', | ||
| 277 | - 'votes_count', | ||
| 278 | - 'votes_for', | ||
| 279 | - 'parent', | ||
| 280 | - 'categories', | ||
| 281 | - 'slug', | 291 | + 'id', |
| 292 | + 'abstract', | ||
| 293 | + 'hits', | ||
| 294 | + 'ranking_position', | ||
| 295 | + 'votes_against', | ||
| 296 | + 'votes_count', | ||
| 297 | + 'votes_for', | ||
| 298 | + 'parent', | ||
| 299 | + 'categories', | ||
| 300 | + 'slug', | ||
| 282 | 'url', // parent.image.url | 301 | 'url', // parent.image.url |
| 283 | 'image', | 302 | 'image', |
| 284 | 'title', | 303 | 'title', |
| 285 | 'archived', | 304 | 'archived', |
| 286 | - ] | ||
| 287 | - }, params); | 305 | + ] |
| 306 | + }, params); | ||
| 288 | 307 | ||
| 289 | UtilService.get(url, {params: paramsExtended}).then(function(data){ | 308 | UtilService.get(url, {params: paramsExtended}).then(function(data){ |
| 290 | _pipeInjectSlugIntoParentProgram(data); | 309 | _pipeInjectSlugIntoParentProgram(data); |
| @@ -295,10 +314,10 @@ | @@ -295,10 +314,10 @@ | ||
| 295 | } | 314 | } |
| 296 | 315 | ||
| 297 | function _pipeInjectSlugIntoParentProgram(data){ | 316 | function _pipeInjectSlugIntoParentProgram(data){ |
| 298 | - if(!data.proposals && data.proposals){ | ||
| 299 | - data.proposals = [data.proposals]; | 317 | + if(!data.articles && data.article){ |
| 318 | + data.articles = [data.article]; | ||
| 300 | } | 319 | } |
| 301 | - var proposals = data.proposals; | 320 | + var proposals = data.articles; |
| 302 | for (var i = proposals.length - 1; i >= 0; i--) { | 321 | for (var i = proposals.length - 1; i >= 0; i--) { |
| 303 | var proposal = proposals[i]; | 322 | var proposal = proposals[i]; |
| 304 | if(proposal.parent && !proposal.parent.slug){ | 323 | if(proposal.parent && !proposal.parent.slug){ |
| @@ -307,23 +326,37 @@ | @@ -307,23 +326,37 @@ | ||
| 307 | } | 326 | } |
| 308 | } | 327 | } |
| 309 | 328 | ||
| 310 | - function _pipeRemoveOldEvents(data){ | ||
| 311 | - if(!data.articles && data.article){ | ||
| 312 | - data.articles = [data.article]; | ||
| 313 | - data.article = null; | ||
| 314 | - } | 329 | +//Refazer esse método. Não faz sentido |
| 330 | +function _pipeInjectSlugIntoParentProgramRanked(data){ | ||
| 331 | + if(!data.proposals && data.proposals){ | ||
| 332 | + data.proposals = [data.proposals]; | ||
| 333 | + } | ||
| 334 | + var proposals = data.proposals; | ||
| 335 | + for (var i = proposals.length - 1; i >= 0; i--) { | ||
| 336 | + var proposal = proposals[i]; | ||
| 337 | + if(proposal.parent && !proposal.parent.slug){ | ||
| 338 | + proposal.parent.slug = Slug.slugify(proposal.parent.title); | ||
| 339 | + } | ||
| 340 | + } | ||
| 341 | +} | ||
| 315 | 342 | ||
| 316 | - var now = (new Date()).getTime(); | ||
| 317 | - var eventDate = null; | ||
| 318 | - var events = data.articles; | 343 | +function _pipeRemoveOldEvents(data){ |
| 344 | + if(!data.articles && data.article){ | ||
| 345 | + data.articles = [data.article]; | ||
| 346 | + data.article = null; | ||
| 347 | + } | ||
| 319 | 348 | ||
| 320 | - var results = []; | ||
| 321 | - for (var i = events.length - 1; i >= 0; i--) { | ||
| 322 | - var event = events[i]; | 349 | + var now = (new Date()).getTime(); |
| 350 | + var eventDate = null; | ||
| 351 | + var events = data.articles; | ||
| 323 | 352 | ||
| 324 | - if(event.end_date){ | ||
| 325 | - eventDate = new Date(event.end_date); | ||
| 326 | - } | 353 | + var results = []; |
| 354 | + for (var i = events.length - 1; i >= 0; i--) { | ||
| 355 | + var event = events[i]; | ||
| 356 | + | ||
| 357 | + if(event.end_date){ | ||
| 358 | + eventDate = new Date(event.end_date); | ||
| 359 | + } | ||
| 327 | 360 | ||
| 328 | // if(eventDate.getTime() < now){ | 361 | // if(eventDate.getTime() < now){ |
| 329 | // event.isOld = true; | 362 | // event.isOld = true; |
| @@ -336,4 +369,4 @@ | @@ -336,4 +369,4 @@ | ||
| 336 | data.articles = results; | 369 | data.articles = results; |
| 337 | } | 370 | } |
| 338 | } | 371 | } |
| 339 | -})(); | 372 | -})(); |
| 373 | +})(); | ||
| 340 | \ No newline at end of file | 374 | \ No newline at end of file |
src/app/components/dialoga-service/dialoga.service.js
src/app/pages/programas/programa.controller.js
| @@ -83,12 +83,18 @@ | @@ -83,12 +83,18 @@ | ||
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | vm.loadingTopProposals = true; | 85 | vm.loadingTopProposals = true; |
| 86 | - vm.DialogaService.getProposalsByTopicId(vm.article.id, { | 86 | + vm.DialogaService.getProposalsByTopicIdRanked(vm.article.id, { |
| 87 | 'limit': 5 | 87 | 'limit': 5 |
| 88 | }, function(data) { | 88 | }, function(data) { |
| 89 | vm.total_proposals = parseInt(vm.article.children_count); | 89 | vm.total_proposals = parseInt(vm.article.children_count); |
| 90 | // vm.total_proposals = parseInt(vm.article.amount_of_children); // DEPRECATED?! | 90 | // vm.total_proposals = parseInt(vm.article.amount_of_children); // DEPRECATED?! |
| 91 | - vm.proposals = data.proposals; | 91 | + if (data.articles) { |
| 92 | + vm.proposals = data.articles; | ||
| 93 | + console.log("1"); | ||
| 94 | + } else { | ||
| 95 | + vm.proposals = data.proposals; | ||
| 96 | + console.log("2"); | ||
| 97 | + } | ||
| 92 | vm.proposalsTopFive = vm.proposals.slice(0, 5); | 98 | vm.proposalsTopFive = vm.proposals.slice(0, 5); |
| 93 | vm.proposalsTopRated = vm.proposals.slice(0, 3); | 99 | vm.proposalsTopRated = vm.proposals.slice(0, 3); |
| 94 | vm.loadingTopProposals = false; | 100 | vm.loadingTopProposals = false; |
| @@ -216,9 +222,9 @@ | @@ -216,9 +222,9 @@ | ||
| 216 | ProgramaPageController.prototype._handleSuccessOnGetProposal = function(data) { | 222 | ProgramaPageController.prototype._handleSuccessOnGetProposal = function(data) { |
| 217 | var vm = this; | 223 | var vm = this; |
| 218 | 224 | ||
| 219 | - if (data && data.proposals) { | ||
| 220 | - var MAX = data.proposals.length; | ||
| 221 | - vm.randomProposal = data.proposals[Math.floor(Math.random() * MAX)]; | 225 | + if (data && data.articles) { |
| 226 | + var MAX = data.articles.length; | ||
| 227 | + vm.randomProposal = data.articles[Math.floor(Math.random() * MAX)]; | ||
| 222 | vm.loadingProposalBox = false; | 228 | vm.loadingProposalBox = false; |
| 223 | vm.$scope.$broadcast('proposal-box:proposal-loaded', { success: true}); | 229 | vm.$scope.$broadcast('proposal-box:proposal-loaded', { success: true}); |
| 224 | } | 230 | } |
| @@ -252,7 +258,7 @@ | @@ -252,7 +258,7 @@ | ||
| 252 | vm.voteSkip(); | 258 | vm.voteSkip(); |
| 253 | return; | 259 | return; |
| 254 | } | 260 | } |
| 255 | - | 261 | + |
| 256 | vm.DialogaService.voteProposal(proposal_id, { | 262 | vm.DialogaService.voteProposal(proposal_id, { |
| 257 | value: value | 263 | value: value |
| 258 | }).then(function(response) { | 264 | }).then(function(response) { |
| @@ -378,4 +384,4 @@ | @@ -378,4 +384,4 @@ | ||
| 378 | } | 384 | } |
| 379 | }; | 385 | }; |
| 380 | 386 | ||
| 381 | -})(); | 387 | -})(); |
| 388 | +})(); | ||
| 382 | \ No newline at end of file | 389 | \ No newline at end of file |