Question/poll support
This commit is contained in:
@@ -12,9 +12,13 @@
|
||||
<h3 style="padding-bottom: 30px">Replying to {{ content }}</h3>
|
||||
{{ utils.display_thread(thread) }}
|
||||
{% else %}
|
||||
<h3 style="padding-bottom:20px;">New note</h3>
|
||||
{% if request.args.get("question") == "1" %}
|
||||
<h3 style="padding-bottom:20px;">New question <small><a href="/admin/new">make it a note?</a></small></h3>
|
||||
{% else %}
|
||||
<h3 style="padding-bottom:20px;">New note <small><a href="/admin/new?question=1">make it a question?</a></small></h3>
|
||||
{% endif %}
|
||||
<form action="/api/new_note" method="POST" enctype="multipart/form-data">
|
||||
{% endif %}
|
||||
<form action="/api/new_{% if request.args.get("question") == "1" %}question{%else%}note{%endif%}" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="redirect" value="/">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
||||
{% if reply %}<input type="hidden" name="reply" value="{{reply}}">{% endif %}
|
||||
@@ -27,7 +31,32 @@
|
||||
|
||||
<textarea name="content" rows="10" cols="50" autofocus="autofocus" designMode="on">{{ content }}</textarea>
|
||||
<input type="file" name="file">
|
||||
|
||||
{% if request.args.get("question") == "1" %}
|
||||
<div style="margin-top:20px;">
|
||||
<p>Open for: <select name="open_for">
|
||||
<option value="30">30 minutes</option>
|
||||
<option value="60">1 hour</option>
|
||||
<option value="360">6 hour</option>
|
||||
<option value="1440" selected>1 day</option>
|
||||
<option value="4320">3 days</option>
|
||||
<option value="10080">7 days</option>
|
||||
</select></p>
|
||||
|
||||
<input type="hidden" name="of" value="oneOf" />
|
||||
<!--
|
||||
<p><select name="of">
|
||||
<option value="oneOf">Single choice</option>
|
||||
<option value="anyOf">Multiple choices</option>
|
||||
</select></p>-->
|
||||
|
||||
{% for i in range(4) %}
|
||||
<p><input type="text" name="answer{{i}}" placeholder="Answer #{{i+1}}"></p>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<input type="submit" value="post">
|
||||
</div>
|
||||
</form>
|
||||
|
@@ -15,8 +15,6 @@
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
|
||||
{% macro display_note(obj, perma=False, ui=False, likes=[], shares=[], meta={}, no_color=False) -%}
|
||||
{% if meta.actor %}
|
||||
{% set actor = meta.actor %}
|
||||
@@ -24,6 +22,20 @@
|
||||
{% set actor = obj.attributedTo | get_actor %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if session.logged_in %}
|
||||
{% set perma_id = obj.id | permalink_id %}
|
||||
|
||||
{% if request.args.get('older_than') %}
|
||||
{% set redir = request.path + "?older_than=" + request.args.get('older_than') + "#activity-" + perma_id %}
|
||||
{% elif request.args.get('newer_than') %}
|
||||
{% set redir = request.path + "?newer_than=" + request.args.get('newer_than') + "#activity-" + perma_id %}
|
||||
{% else %}
|
||||
{% set redir = request.path + "#activity-" + perma_id %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<div class="note-box">
|
||||
<div class="note h-entry" id="activity-{{ obj.id | permalink_id }}">
|
||||
|
||||
@@ -58,11 +70,67 @@
|
||||
{{ obj.name }} <a href="{{ obj | url_or_id | get_url }}">{{ obj | url_or_id | get_url }}</a>
|
||||
{% elif obj | has_type('Question') %}
|
||||
{{ obj.content | clean | safe }}
|
||||
<ul>
|
||||
|
||||
{% if obj.id | is_from_outbox %}
|
||||
<ul style="list-style:none;padding:0;">
|
||||
{% set total_votes = [0] %}
|
||||
{% for oneOf in obj.oneOf %}
|
||||
<li>{{ oneOf.name }} ({{ oneOf.replies.totalItems }})</li>
|
||||
{% if oneOf.replies %}
|
||||
{% if total_votes.append(total_votes.pop() + oneOf.replies.totalItems) %}{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% for oneOf in obj.oneOf %}
|
||||
{% set pct = 0 %}
|
||||
{% if total_votes[0] > 0 and oneOf.replies %}
|
||||
{% set pct = oneOf.replies.totalItems * 100.0 / total_votes[0] %}
|
||||
{% endif %}
|
||||
<li class="answer">
|
||||
<span class="answer-bar color-menu-background" style="width:{{pct}}%;"></span>
|
||||
<span class="answer-text">
|
||||
<span>{{ '%0.0f'| format(pct) }}%</span>
|
||||
{{ oneOf.name }}
|
||||
</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<p><small>
|
||||
{% if obj.closed %}
|
||||
Ended {{ obj.endTime | format_timeago }} with <strong>{{ total_votes[0] }}</strong> vote{% if total_votes[0] | gtone %}s{% endif %}.
|
||||
{% else %}
|
||||
Ends {{ obj.endTime | format_timeago }} (<strong>{{ total_votes[0] }}</strong> vote{% if total_votes[0] | gtone %}s{% endif %} as of now).
|
||||
{% endif %}
|
||||
</small></p>
|
||||
{% else %}
|
||||
|
||||
<ul style="list-style:none;padding:0;">
|
||||
{% for oneOf in obj.oneOf %}
|
||||
<li class="answer">
|
||||
<span class="answer-text">
|
||||
|
||||
{% if not meta.voted_for and not obj.endTime | gtnow %}
|
||||
<span><form action="/api/vote" class="action-form" method="POST">
|
||||
<input type="hidden" name="redirect" value="{{ redir }}">
|
||||
<input type="hidden" name="id" value="{{ obj.id }}">
|
||||
<input type="hidden" name="choice" value="{{ oneOf.name }}">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
||||
<button type="submit" class="bar-item">vote</button>
|
||||
</form></span>
|
||||
{% else %}
|
||||
<span>???</span>
|
||||
{% endif %}
|
||||
{{ oneOf.name }} {% if oneOf.name == meta.voted_for %}(your vote){% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
<p><small>{% if obj.endTime | gtnow %}This question ended {{ obj.endTime | format_timeago }}.</small></p>
|
||||
{% else %}This question ends {{ obj.endTime | format_timeago }}{% endif %}
|
||||
</small></p>
|
||||
</ul>
|
||||
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{{ obj.content | clean | safe }}
|
||||
{% endif %}
|
||||
@@ -120,17 +188,6 @@
|
||||
<a class ="bar-item" href="{{ obj | url_or_id | get_url }}">permalink</a>
|
||||
{% endif %}
|
||||
|
||||
{% if session.logged_in %}
|
||||
{% set perma_id = obj.id | permalink_id %}
|
||||
|
||||
{% if request.args.get('older_than') %}
|
||||
{% set redir = request.path + "?older_than=" + request.args.get('older_than') + "#activity-" + perma_id %}
|
||||
{% elif request.args.get('newer_than') %}
|
||||
{% set redir = request.path + "?newer_than=" + request.args.get('newer_than') + "#activity-" + perma_id %}
|
||||
{% else %}
|
||||
{% set redir = request.path + "#activity-" + perma_id %}
|
||||
{% endif %}
|
||||
|
||||
{% set aid = obj.id | quote_plus %}
|
||||
{% endif %}
|
||||
|
||||
|
Reference in New Issue
Block a user