Fix various issues in polls (#10165)

* Fix ActivityPub poll results being serialized even with hide_totals

* Fix poll refresh button having a different font size

* Display poll in OpenGraph description

* Fix NoMethodError when serializing votes

Regression from #10158

* Fix polls on public pages being broken for non-logged-in users

* Do not show time remaining if poll has no expiration date
This commit is contained in:
Eugen Rochko 2019-03-05 03:51:18 +01:00 committed by GitHub
parent 0a39c81dd8
commit a198add83b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 37 additions and 13 deletions

View file

@ -1,5 +1,5 @@
- options = (!poll.expired? && poll.hide_totals?) ? poll.unloaded_options : poll.loaded_options
- voted = poll.votes.where(account: current_user.account).exists?
- options = (!poll.expired? && poll.hide_totals?) ? poll.unloaded_options : poll.loaded_options
- voted = user_signed_in? && poll.votes.where(account: current_account).exists?
- show_results = voted || poll.expired?
.poll
@ -9,17 +9,21 @@
- if show_results
- percent = 100 * option.votes_count / poll.votes_count
%span.poll__chart{ style: "width: #{percent}%" }
%label.poll__text><
%span.poll__number= percent
%span.poll__number= percent.round
= option.title
- else
%label.poll__text><
%span.poll__input{ class: poll.multiple ? 'checkbox' : nil}><
%span.poll__input{ class: poll.multiple? ? 'checkbox' : nil}><
= option.title
.poll__footer
- unless show_results
%button.button.button-secondary{ disabled: true }
= t('statuses.poll.vote')
%span= t('statuses.poll.total_votes', count: poll.votes_count)
·
%span= poll.expires_at
- unless poll.expires_at.nil?
·
%span= l poll.expires_at