Changeset - 20083bcb1639
[Not reviewed]
dev/2020
0 5 0
Joel Addison - 4 years ago 2020-01-23 04:52:28
joel@addison.net.au
Raffle improvements

Add flag to enable/disable raffle display on dashboard.
Add link from raffle winner to attendee profile.
Add URL for single raffle and base raffle path.
5 files changed with 38 insertions and 29 deletions:
0 comments (0 inline, 0 general)
pinaxcon/raffle/urls.py
Show inline comments
...
 
@@ -3,8 +3,9 @@ from pinaxcon.raffle import views
 

	
 

	
 
urlpatterns = [
 
    url(r'^tickets/', views.raffle_view),
 
    url(r"^$", views.raffle_view, name="raffle-home"),
 
    url(r'^tickets/', views.raffle_view, name="raffle-tickets"),
 
    url(r'^draw/(?P<raffle_id>[0-9]+)/$', views.draw_raffle_ticket, name="raffle-draw"),
 
    url(r'^draw/redraw/([0-9]+)/$', views.raffle_redraw, name="raffle-redraw"),
 
    url(r'^draw/', views.draw_raffle_ticket, name="raffle-draw"),
 
]
...
 
\ No newline at end of file
 
]
pinaxcon/raffle/views.py
Show inline comments
...
 
@@ -29,7 +29,12 @@ def draw_raffle_ticket(request, raffle_id=None):
 
        Raffle.objects.get(id=raffle_id).draw(user=request.user)
 
        return HttpResponseRedirect(reverse('raffle-draw'))
 

	
 
    raffles = Raffle.objects.prefetch_related('draws', 'prizes')
 
    if raffle_id is not None:
 
        raffle = Raffle.objects.prefetch_related('draws', 'prizes').get(
 
            id=raffle_id)
 
        raffles = (raffle,)
 
    else:
 
        raffles = Raffle.objects.prefetch_related('draws', 'prizes')
 
    return render(request, 'raffle_draw.html', {'raffles': raffles})
 

	
 

	
...
 
@@ -42,4 +47,3 @@ def raffle_redraw(request, redraw_ticket_id):
 
    prize.remove_winner(user=request.user)
 
    prize.raffle.draw(user=request.user)
 
    return HttpResponseRedirect(reverse('raffle-draw'))
 

	
pinaxcon/templates/raffle.html
Show inline comments
 
{% extends "registrasion/base.html" %}
 
{% extends "site_base.html" %}
 
{% load registrasion_tags %}
 
{% load lca2018_tags %}
 
{% load staticfiles %}
 

	
 
{% block header_title %}{% conference_name %}{% endblock %}
 
{% block head_title %}Raffle Tickets{% endblock %}
 
{% block page_title %}Raffle Tickets{% endblock %}
 

	
 
{% block proposals_body %}
 
<h1 class="mb-5">Raffle Tickets</h1>
 

	
 
<p>You can buy more raffle tickets from the <a href="/dashboard">dashboard</a>.</p>
 
{% block content %}
 
<p>
 
  All of the raffles you are entered into and the tickets you have for each of them.
 
  If available, you will be able to purchase additional raffle tickets from the <a href="{% url "dashboard" %}">Dashboard</a>.
 
</p>
 

	
 
<h2>Your Raffle Tickets</h2>
 
{% for raffle in raffles %}
 
{% if raffle.tickets %}
 
  <h2 class="mt-5">{{ raffle }}</h2>
 
  <h3 class="mt-3">{{ raffle }}</h3>
 
  <ul>
 
   {% for id, numbers in raffle.tickets %}
 
    <h4 class="mt-3"><strong>Ticket {{ id }}</strong></h4>
 
    <p>{% for number in numbers %}{{ number }}{% if not forloop.last %}, {% endif %}{% endfor %}</p>
 
    <li>
 
      <strong>Ticket {{ id }}</strong>
 
      <p>{% for number in numbers %}{{ number }}{% if not forloop.last %}, {% endif %}{% endfor %}</p>
 
    </li>
 
  {% endfor %}
 
  </ul>
 
{% endif %}
 
{% empty %}
 
<p>You do not have tickets in any raffles.</p>
 
{% endfor %}
 
{% endblock %}
pinaxcon/templates/raffle_draw.html
Show inline comments
 
{% extends "registrasion/base.html" %}
 
{% extends "site_base.html" %}
 
{% load registrasion_tags %}
 
{% load lca2018_tags %}
 
{% load staticfiles %}
 

	
 
{% block header_title %}{% conference_name %}{% endblock %}
 

	
 
{% block proposals_body %}
 
<h1 class="mb-5">Raffle Winners</h1>
 
{% block head_title %}Raffle Winners{% endblock %}
 
{% block page_title %}Raffle Winners{% endblock %}
 

	
 
{% block content %}
 
{% for raffle in raffles %}
 
{% if raffle.hidden %}
 
{% else %}
 
<h2 class="mt-5">{{ raffle }}</h2>
 
<h2 class="mt-3"><a href="{% url "raffle-draw" raffle.id %}">{{ raffle }}</a></h2>
 

	
 
<dl class="row my-4">
 
  {% for prize in raffle.prizes.all %}
...
 
@@ -21,7 +20,7 @@
 
    {% with prize.winning_ticket as winner %}
 
    {# this should be attendee name #}
 
    {% with winner.lineitem.invoice.user.attendee.attendeeprofilebase as profile %}
 
    <p><strong>Winning ticket {{ winner.ticket }}, {{ profile.attendee_name }}</strong><br />
 
    <p><strong>Winning ticket {{ winner.ticket }}, <a href="{% url "attendee" winner.lineitem.invoice.user.id %}">{{ profile.attendee_name }}</a></strong><br />
 
      Drawn by {{ winner.draw.drawn_by }}, {{ winner.draw.drawn_time}}
 
    </p>
 
    {% endwith %}
...
 
@@ -47,9 +46,7 @@
 
{% if raffle.is_open %}
 
<form method="POST" action="{% url 'raffle-draw' raffle_id=raffle.id %}">
 
    {% csrf_token %}
 
    <p class="text-center">
 
      <button type="submit" class="btn btn-success">Draw tickets</button>
 
    </p>
 
    <button type="submit" class="btn btn-success">Draw tickets</button>
 
    <div class="clearfix"></div>
 
  </form>
 
{% endif %}
...
 
@@ -57,4 +54,4 @@
 
{% endif %}
 
{% endfor %}
 

	
 
{% endblock %}
...
 
\ No newline at end of file
 
{% endblock %}
pinaxcon/templates/symposion/dashboard/_categories.html
Show inline comments
...
 
@@ -131,15 +131,13 @@
 
    </div>
 
    {% endif %}
 

	
 
    {% if false %}
 
    {% flag "raffle_dashboard" %}
 
    <div class="col-md-6 mb-3">
 
      <h4>Raffle Tickets</h4>
 

	
 
      <p><a href="/raffle/tickets/">View all my raffle tickets</a></p>
 
      {# REMOVE HARDCODED CATEGORY NUMBER!!!! #}
 
      <p><a href="/tickets/category/8">Buy raffle tickets</a></p>
 
      <p><a href="{% url "raffle-tickets" %}">View raffle tickets</a></p>
 
    </div>
 
    {% endif %}
 
    {% endflag %}
 

	
 
    {% available_credit as credit %}
 
    {% if credit %}
0 comments (0 inline, 0 general)