Commit 1b4fb62a4d0ba2fdf23feb24fca27067ecb790ba
1 parent
dde02317
Exists in
master
and in
6 other branches
Relate with issue #230 show only the proposal passed in url. Needs check id's th…
…at not exists in noosfero api.
Showing
1 changed file
with
25 additions
and
3 deletions
Show diff stats
js/main.js
... | ... | @@ -36,6 +36,20 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F |
36 | 36 | Main = (function(){ |
37 | 37 | |
38 | 38 | return { |
39 | + getProposalId: function(){ | |
40 | + var regexProposals = /\d.*\/propostas\/\d.*/; | |
41 | + var proposalId = 0; | |
42 | + | |
43 | + var hasProposal = regexProposals.test(location.hash); | |
44 | + if( hasProposal ){ | |
45 | + var regexExtractProposal = /propostas\/\d.*/; | |
46 | + proposalId = regexExtractProposal.exec(location.hash)[0].split('/')[1]; | |
47 | + | |
48 | + } | |
49 | + | |
50 | + return proposalId; | |
51 | + }, | |
52 | + | |
39 | 53 | loadRandomProposal: function (topic_id, private_token) { |
40 | 54 | var $noProposals = $('.no-proposals'); |
41 | 55 | var $loading = $('.loading'); |
... | ... | @@ -48,10 +62,18 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F |
48 | 62 | $loading.show(); |
49 | 63 | $randomProposal.html(''); |
50 | 64 | |
51 | - var url = host + '/api/v1/articles/' + topic_id + '/children' + '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal'; | |
65 | + var url = host + '/api/v1/articles/' + topic_id + '/children'; | |
66 | + var childId = this.getProposalId(); | |
67 | + | |
68 | + if(childId != 0){ | |
69 | + url += '/'+childId; | |
70 | + } | |
71 | + url += '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal'; | |
72 | + | |
52 | 73 | $.getJSON(url).done(function( data ) { |
53 | 74 | $loading.hide(); |
54 | 75 | |
76 | + data.articles = data.articles || [data.article]; | |
55 | 77 | if(data.articles.length === 0) { |
56 | 78 | $noProposals.show(); |
57 | 79 | return; |
... | ... | @@ -387,7 +409,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F |
387 | 409 | // show the 'index' -> category tab |
388 | 410 | this.display_category_tab(); |
389 | 411 | |
390 | - | |
412 | + | |
391 | 413 | // if(navOffset){ |
392 | 414 | // scrollTop = navOffset.top; |
393 | 415 | // } |
... | ... | @@ -610,7 +632,7 @@ define(['handlebars', 'fastclick', 'handlebars_helpers'], function(Handlebars, F |
610 | 632 | |
611 | 633 | |
612 | 634 | $(document).ready(function($) { |
613 | - | |
635 | + | |
614 | 636 | FastClick.attach(document.body); |
615 | 637 | |
616 | 638 | if($.cookie('_dialoga_session')) { | ... | ... |