Commit 83c9d339edc1ed9285230ee3a8c8ca014b4629a7

Authored by Rafael Diego
1 parent 4a6c4a70

correcao para usar as duas APIs

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
@@ -478,4 +478,4 @@ @@ -478,4 +478,4 @@
478 return abstract.replace(style, ''); 478 return abstract.replace(style, '');
479 } 479 }
480 } 480 }
481 -})(); 481 -})();
  482 +})();
482 \ No newline at end of file 483 \ No newline at end of file
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