forked from DGNum/gestioCOF
Merge branch 'master' into Kerl/fix_32_do_tirage
This commit is contained in:
commit
dd951287a9
58 changed files with 1566 additions and 487 deletions
29
bda/migrations/0005_encoding.py
Normal file
29
bda/migrations/0005_encoding.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('bda', '0004_mails-rappel'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='choixspectacle',
|
||||
name='priority',
|
||||
field=models.PositiveIntegerField(verbose_name='Priorit\xe9'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='spectacle',
|
||||
name='priority',
|
||||
field=models.IntegerField(default=1000, verbose_name='Priorit\xe9'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='spectacle',
|
||||
name='rappel_sent',
|
||||
field=models.DateTimeField(null=True, verbose_name='Mail de rappel envoy\xe9', blank=True),
|
||||
),
|
||||
]
|
|
@ -19,7 +19,7 @@ def forwards_func(apps, schema_editor):
|
|||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('bda', '0004_mails-rappel'),
|
||||
('bda', '0005_encoding'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
@ -27,7 +27,9 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='tirage',
|
||||
name='enable_do_tirage',
|
||||
field=models.BooleanField(default=False, verbose_name=b'Le tirage peut \xc3\xaatre lanc\xc3\xa9'),
|
||||
field=models.BooleanField(
|
||||
default=False,
|
||||
verbose_name=b'Le tirage peut \xc3\xaatre lanc\xc3\xa9'),
|
||||
),
|
||||
migrations.RunPython(forwards_func, migrations.RunPython.noop),
|
||||
]
|
|
@ -1,10 +1,45 @@
|
|||
form#tokenform {text-align: center; font-size: 2em;}
|
||||
label {margin-right: 10px; vertical-align: top;}
|
||||
form#tokenform textarea {font-size: 2em; width: 350px; height: 200px; font-family: 'Droif Serif', serif;}
|
||||
input {width: 400px; font-size: 2em;}
|
||||
ul.losers {display: inline; margin: 0; padding: 0;}
|
||||
ul.losers li {display: inline;}
|
||||
span.details {font-size: 0.7em;}
|
||||
table {border: 1px solid black; border-collapse: collapse;}
|
||||
td {border: 1px solid black; padding: 2px;}
|
||||
.attribresult {margin: 10px 0px;}
|
||||
form#tokenform {
|
||||
text-align: center;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-right: 10px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
form#tokenform textarea {
|
||||
font-size: 2em;
|
||||
width: 350px;
|
||||
height: 200px;
|
||||
font-family: 'Droif Serif', serif;
|
||||
}
|
||||
|
||||
/* wft ?
|
||||
input {
|
||||
width: 400px;
|
||||
font-size: 2em;
|
||||
}*/
|
||||
|
||||
ul.losers {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.losers li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
span.details {
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
td {
|
||||
border: 0px solid black;
|
||||
padding: 2px;
|
||||
}
|
||||
.attribresult {
|
||||
margin: 10px 0px;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
{% block extracontent %}
|
||||
|
||||
<h1>Attributions (détails)</h1>
|
||||
<h2>Token :</h2>
|
||||
<h2>Attributions (détails)</h2>
|
||||
<h3 class="horizontal-title">Token :</h3>
|
||||
<pre>{{ token }}</pre>
|
||||
<h2>Placés : {{ total_slots }} ; Déçus : {{ total_losers }}</h2>
|
||||
<h3 class="horizontal-title">Placés : {{ total_slots }} ; Déçus : {{ total_losers }}</h3>
|
||||
|
||||
<table>
|
||||
{% for member, shows in members2 %}
|
||||
|
|
|
@ -7,22 +7,22 @@
|
|||
|
||||
{% block realcontent %}
|
||||
|
||||
<h1>Attributions</h1>
|
||||
<h2>Attributions</h2>
|
||||
|
||||
<br />
|
||||
<p class="success">Pour raison de sécurité, le lancement du tirage
|
||||
a été désactivé. Vous pouvez le réactiver dans
|
||||
l'<a href="{% url "admin:index" %}">interface admin</a></p>
|
||||
|
||||
<h2>Token :</h2>
|
||||
<h3 class="horizontal-title">Token :</h3>
|
||||
<pre>{{ token }}</pre>
|
||||
<h2>Placés : {{ total_slots }} ; Déçus : {{ total_losers }}</h2>
|
||||
{% if user.profile.is_buro %}<h2>Déficit total: {{ total_deficit }} €, Opéra: {{ opera_deficit }} €, Attribué: {{ total_sold }} €</h2>{% endif %}
|
||||
<h2>Temps de calcul : {{ duration|floatformat }}s</h2>
|
||||
<h3 class="horizontal-title">Placés : {{ total_slots }} ; Déçus : {{ total_losers }}</h3>
|
||||
{% if user.profile.is_buro %}<h3 class="horizontal-title">Déficit total: {{ total_deficit }} €, Opéra: {{ opera_deficit }} €, Attribué: {{ total_sold }} €</h3>{% endif %}
|
||||
<h3 class="horizontal-title">Temps de calcul : {{ duration|floatformat }}s</h3>
|
||||
|
||||
{% for show, members, losers in results %}
|
||||
<div class="attribresult">
|
||||
<h2>{{ show.title }} - {{ show.date_no_seconds }} @ {{ show.location }}</h2>
|
||||
<h3 class="horizontal-title">{{ show.title }} - {{ show.date_no_seconds }} @ {{ show.location }}</h3>
|
||||
<p>
|
||||
<strong>{{ show.nrequests }} demandes pour {{ show.slots }} places</strong>
|
||||
{{ show.price }}€ par place{% if user.profile.is_buro and show.nrequests < show.slots %}, {{ show.deficit }}€ de déficit{% endif %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "base_title.html" %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h1><strong>Nope</strong></h1>
|
||||
<h2><strong>Nope</strong></h1>
|
||||
<p>Avant de revendre des places, il faut aller les payer !</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,61 +1,67 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h2>{{ spectacle }}</h2>
|
||||
<h3><a href="{% url "admin:bda_attribution_add" %}?spectacle={{spectacle.id}}">Ajouter une attribution</a></h3>
|
||||
<table class='etat-bda' align="center">
|
||||
<table class='table table-striped etat-bda'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Identifiant</th>
|
||||
<th>Places</th>
|
||||
<th>Adresse Mail</th>
|
||||
<th>Payé</th>
|
||||
<th>Donné</th>
|
||||
<th data-sort="string">Nom</th>
|
||||
<th data-sort="int">Places</th>
|
||||
<th data-sort="string">Adresse Mail</th>
|
||||
<th data-sort="string">Payé</th>
|
||||
<th data-sort="string">Donné</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for participant in participants %}
|
||||
<tr>
|
||||
<td>{{participant.name}}</td>
|
||||
<td>{{participant.username}}</td>
|
||||
<td>{{participant.nb_places}} place{{participant.nb_places|pluralize}}</td>
|
||||
<td>{{participant.email}}</td>
|
||||
<td>
|
||||
<div class={%if participant.paid %}"greenratio"{%else%}"redratio"{%endif%}>
|
||||
{% if participant.paid %}Oui{% else %}Non{%endif%}
|
||||
</div>
|
||||
</td>
|
||||
<td align="center">
|
||||
<div class={%if participant.given == participant.nb_places %}"greenratio"
|
||||
{%elif participant.given == 0%}"redratio"
|
||||
{%else%}"orangeratio"
|
||||
{%endif%}>
|
||||
{% if participant.given == participant.nb_places %}Oui
|
||||
{% elif participant.given == 0 %}Non
|
||||
{% else %}{{participant.given}}/{{participant.nb_places}}
|
||||
{%endif%}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
<tr>
|
||||
<td data-sort-value="{{ participan.name}}">{{participant.name}}</td>
|
||||
<td data-sort-value="{{participant.nb_places}}">{{participant.nb_places}} place{{participant.nb_places|pluralize}}</td>
|
||||
<td data-sort-value="{{participant.email}}">{{participant.email}}</td>
|
||||
<td data-sort-value="{{ participant.paid}}" class={%if participant.paid %}"greenratio"{%else%}"redratio"{%endif%}>
|
||||
{% if participant.paid %}Oui{% else %}Non{%endif%}
|
||||
</td>
|
||||
<td data-sort-value="{{participant.given}}" class={%if participant.given == participant.nb_places %}"greenratio"
|
||||
{%elif participant.given == 0%}"redratio"
|
||||
{%else%}"orangeratio"
|
||||
{%endif%}>
|
||||
{% if participant.given == participant.nb_places %}Oui
|
||||
{% elif participant.given == 0 %}Non
|
||||
{% else %}{{participant.given}}/{{participant.nb_places}}
|
||||
{%endif%}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a href="{% url "admin:bda_attribution_add" %}?spectacle={{spectacle.id}}"><span class="glyphicon glyphicon-plus-sign"></span> Ajouter une attribution</a></h3>
|
||||
<br>
|
||||
<button type="button" onclick="toggle('export-mails')">Afficher/Cacher mails participants</button>
|
||||
<button class="btn btn-default" type="button" onclick="toggle('export-mails')">Afficher/Cacher mails participants</button>
|
||||
<pre id="export-mails" style="display:none">
|
||||
{%for participant in participants %}{{participant.email}}, {%endfor%}
|
||||
</pre>
|
||||
<br>
|
||||
<button type="button" onclick="toggle('export-salle')">Afficher/Cacher liste noms</button>
|
||||
<button class="btn btn-default" type="button" onclick="toggle('export-salle')">Afficher/Cacher liste noms</button>
|
||||
<pre id="export-salle" style="display:none">
|
||||
{% for participant in participants %}{{participant.name}} : {{participant.nb_places}} places
|
||||
{% endfor %}
|
||||
</pre>
|
||||
|
||||
<script>
|
||||
function toggle(id) {
|
||||
var pre = document.getElementById(id) ;
|
||||
pre.style.display = pre.style.display == "none" ? "block" : "none" ;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/jquery.min.js" %}"></script>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/joequery-Stupid-Table-Plugin/stupidtable.js" %}"></script>
|
||||
<script>
|
||||
function toggle(id) {
|
||||
var pre = document.getElementById(id) ;
|
||||
pre.style.display = pre.style.display == "none" ? "block" : "none" ;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("table.etat-bda").stupidtable();
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
{% block realcontent %}
|
||||
|
||||
<h1>Revente de place</h1>
|
||||
<form action="" method="post" id="resellform">
|
||||
<h2>Revente de place</h1>
|
||||
<form action="" method="post" id="resellform">
|
||||
{% csrf_token %}
|
||||
{% if form.spectacle.errors %}<ul class="errorlist"><li>Sélectionnez un spetacle</li></ul>{% endif %}
|
||||
<p>
|
||||
|
@ -21,6 +21,6 @@ Contactez-moi par email si vous êtes intéressé !<br />
|
|||
{{ user.get_full_name }} ({{ user.email }})
|
||||
</pre>
|
||||
</p>
|
||||
<input type="submit" value="Envoyer" />
|
||||
<input class="btn btn-primary" type="submit" value="Envoyer" />
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h2>État des inscriptions BdA</h2>
|
||||
<table class="etat-bda">
|
||||
<table class="table table-striped etat-bda">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-sort="string">Titre</th>
|
||||
|
@ -21,8 +22,8 @@
|
|||
<td data-sort-value="{{ spectacle.location }}">{{ spectacle.location }}</td>
|
||||
<td data-sort-value="{{ spectacle.slots }}">{{ spectacle.slots }} places</td>
|
||||
<td data-sort-value="{{ spectacle.total }}">{{ spectacle.total }} demandes</td>
|
||||
<td data-sort-value="{{ spectacle.ratio |stringformat:".3f" }}">
|
||||
<div class={% if spectacle.ratio < 1.0 %}
|
||||
<td data-sort-value="{{ spectacle.ratio |stringformat:".3f" }}"
|
||||
class={% if spectacle.ratio < 1.0 %}
|
||||
"greenratio"
|
||||
{% else %}
|
||||
{% if spectacle.ratio < 2.5 %}
|
||||
|
@ -32,15 +33,16 @@
|
|||
{% endif %}
|
||||
{% endif %}>
|
||||
{{ spectacle.ratio |floatformat }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<strong>Total : <u>{{ total }} demandes</u></strong>
|
||||
<script type="text/javascript" src="/gestion/media/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/gestion/media/js/joequery-Stupid-Table-Plugin/stupidtable.js"></script>
|
||||
<span class="bda-prix">Total : {{ total }} demandes</span>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/jquery.min.js" %}"></script>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/joequery-Stupid-Table-Plugin/stupidtable.js" %}"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("table.etat-bda").stupidtable();
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block extra_head %}
|
||||
<link href="{{ STATIC_URL }}grappelli/jquery/ui/css/custom-theme/jquery-ui-1.8.custom.css" rel="stylesheet" type="text/css" media="screen" title="no title" charset="utf-8" />
|
||||
|
@ -6,6 +7,7 @@
|
|||
<script src="{{ STATIC_URL }}grappelli/jquery/ui/js/jquery-ui-1.8.15.custom.min.js" type="text/javascript"></script>
|
||||
<link href="{{ STATIC_URL }}grappelli/css/tools.css" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ STATIC_URL }}grappelli/css/jquery-ui-grappelli-extensions.css" rel="stylesheet" type="text/css" />
|
||||
<link type="text/css" rel="stylesheet" href="{% static "css/bda.css" %}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block realcontent %}
|
||||
|
@ -49,9 +51,9 @@ var django = {
|
|||
});
|
||||
};
|
||||
$(document).ready(function($) {
|
||||
deleteButtonHandler($("table#bda_formset tbody.bda_formset_content").find("a.delete-handler"));
|
||||
deleteButtonHandler($("table#bda_formset tbody.bda_formset_content").find("a.remove-btn"));
|
||||
$("table#bda_formset tbody.bda_formset_content").sortable({
|
||||
handle: "a.drag-handler",
|
||||
handle: "a.drag-btn",
|
||||
items: "tr",
|
||||
axis: "y",
|
||||
appendTo: 'body',
|
||||
|
@ -91,28 +93,31 @@ var django = {
|
|||
})(django.jQuery);
|
||||
</script>
|
||||
|
||||
<h2>Inscription au tirage au sort du BdA</h2>
|
||||
{% if success %}
|
||||
<p class="success">Votre inscription a été mise à jour avec succès !</p>
|
||||
{% endif %}
|
||||
{% if stateerror %}
|
||||
<p class="error">Impossible d'enregistrer vos modifications: vous avez apporté d'autres modifications entre temps</p>
|
||||
{% endif %}
|
||||
<form id="bda_form" method="post" action="{% url 'bda-tirage-inscription' tirage.id %}">
|
||||
<h2 class="no-bottom-margin">Inscription au tirage au sort du BdA</h2>
|
||||
{% if success %}
|
||||
<p class="success table-top">Votre inscription a été mise à jour avec succès !</p>
|
||||
{% endif %}
|
||||
{% if stateerror %}
|
||||
<p class="error table-top">Impossible d'enregistrer vos modifications: vous avez apporté d'autres modifications entre temps</p>
|
||||
{% endif %}
|
||||
<form class="form-horizontal" id="bda_form" method="post" action="{% url 'bda-tirage-inscription' tirage.id %}">
|
||||
{% csrf_token %}
|
||||
{% include "inscription-formset.html" %}
|
||||
<input type="button" class="btn-addmore" value="Ajouter un autre vœu" id="add_more">
|
||||
<script>
|
||||
django.jQuery('#add_more').click(function() {
|
||||
cloneMore('tbody.bda_formset_content tr:last-child', 'choixspectacle_set');
|
||||
});
|
||||
</script>
|
||||
<input type="hidden" name="dbstate" value="{{ dbstate }}" />
|
||||
<input type="submit" class="btn-submit" value="Enregistrer" />
|
||||
Prix total actuel : {{ total_price }}€
|
||||
<hr />
|
||||
<p class="footnotes">
|
||||
<sup>1</sup>: cette liste de vœu est ordonnée (du plus important au moins important), pour ajuster la priorité vous pouvez déplacer chaque vœu<br />
|
||||
</p>
|
||||
</form>
|
||||
<div class="inscription-bottom">
|
||||
<span class="bda-prix">Prix total actuel : {{ total_price }}€</span>
|
||||
<div class="pull-right">
|
||||
<input type="button" class="btn btn-default" value="Ajouter un autre vœu" id="add_more">
|
||||
<script>
|
||||
django.jQuery('#add_more').click(function() {
|
||||
cloneMore('tbody.bda_formset_content tr:last-child', 'choixspectacle_set');
|
||||
});
|
||||
</script>
|
||||
<input type="hidden" name="dbstate" value="{{ dbstate }}" />
|
||||
<input type="submit" class="btn btn-primary" value="Enregistrer" />
|
||||
</div>
|
||||
<p class="footnotes">
|
||||
<sup>1</sup>: cette liste de vœu est ordonnée (du plus important au moins important), pour ajuster la priorité vous pouvez déplacer chaque vœu.<br />
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{% load bootstrap %}
|
||||
{{ formset.non_form_errors.as_ul }}
|
||||
<table id="bda_formset" class="form">
|
||||
<table id="bda_formset" class="form table">
|
||||
{{ formset.management_form }}
|
||||
{% for form in formset.forms %}
|
||||
{% if forloop.first %}
|
||||
|
@ -22,15 +23,15 @@
|
|||
{% for hidden in form.hidden_fields %}{{ hidden }}{% endfor %}
|
||||
{% endif %}
|
||||
{{ field.errors.as_ul }}
|
||||
{{ field }}
|
||||
{{ field | bootstrap }}
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<td class="tools-cell"><div class="tools">
|
||||
<a href="javascript://" class="icon drag-handler" title="Déplacer"></a>
|
||||
<a href="javascript://" class="glyphicon glyphicon-sort drag-btn" title="Déplacer"></a>
|
||||
<input type="checkbox" name="{{ form.DELETE.html_name }}" style="display: none;" />
|
||||
<input type="hidden" name="{{ form.priority.html_name }}" style="{{ form.priority.value }}" />
|
||||
<a href="javascript://" class="icon delete-handler" title="Supprimer"></a>
|
||||
<a href="javascript://" class="glyphicon glyphicon-remove remove-btn" title="Supprimer"></a>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</td>
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
{% extends "base_title.html" %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h3><strong>Places attribuées</strong></h3>
|
||||
<h2><strong>Places attribuées</strong></h3>
|
||||
{% if warning %}
|
||||
<h3 class="error">Attention, vous avez reçu plusieurs places pour des spectacles différents à la même date !</h3>
|
||||
{% endif %}
|
||||
{% if places %}
|
||||
<ol>
|
||||
<table class="table table-striped">
|
||||
{% for place in places %}
|
||||
<li>{{ place.spectacle }}{% if place.double %} (deux places){% endif %}</li>
|
||||
<tr>
|
||||
<td>{{place.spectacle.title}}</td>
|
||||
<td>{{place.spectacle.location}}</td>
|
||||
<td>{{place.spectacle.date_no_seconds}}</td>
|
||||
<td>{% if place.double %}deux places{%else%}une place{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
<h4>Total à payer : {{ total|floatformat }}€</h4>
|
||||
</table>
|
||||
<h4 class="bda-prix">Total à payer : {{ total|floatformat }}€</h4>
|
||||
<br/>
|
||||
<h4><a href="{% url "bda-places-attribuees-ics" tirage.id %}">Exporter au format calendrier</a> (.ics, compatible avec tous les logiciels d'agenda)</h4>
|
||||
{% else %}
|
||||
<h3>Vous n'avez aucune place :(</h3>
|
||||
|
|
|
@ -1,13 +1,50 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h2><strong>{{tirage_name}}</strong></h2>
|
||||
<h3>Liste des spectacles</h3>
|
||||
<ul>
|
||||
{% for spectacle in object_list %}
|
||||
<li><a href="{% url 'bda-spectacle' tirage_id spectacle.id %}">{{ spectacle }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
<table class="table table-striped table-hover etat-bda">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-sort="string">Titre</th>
|
||||
<th data-sort="int">Date</th>
|
||||
<th data-sort="string">Lieu</th>
|
||||
<th data-sort="float">Prix</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for spectacle in object_list %}
|
||||
<tr class="clickable-row" data-href="{% url 'bda-spectacle' tirage_id spectacle.id %}">
|
||||
<td><a href="{% url 'bda-spectacle' tirage_id spectacle.id %}">{{ spectacle.title }} <span style="font-size:small;" class="glyphicon glyphicon-link" aria-hidden="true"></span></a></td>
|
||||
<td data-sort-value="{{ spectacle.timestamp }}">{{ spectacle.date_no_seconds }}</td>
|
||||
<td data-sort-value="{{ spectacle.location }}">{{ spectacle.location }}</td>
|
||||
<td data-sort-value="{{ spectacle.price |stringformat:".3f" }}">
|
||||
{{ spectacle.price |floatformat }}€
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/jquery.min.js" %}"></script>
|
||||
<script type="text/javascript"
|
||||
src="{% static "js/joequery-Stupid-Table-Plugin/stupidtable.js" %}"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("table.etat-bda").stupidtable();
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
jQuery(document).ready(function($) {
|
||||
$(".clickable-row").click(function() {
|
||||
window.document.location = $(this).data("href");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<h3> Exports </h3>
|
||||
<ul>
|
||||
<li><a href="{% url 'bda-unpaid' tirage_id %}">Mailing list impayés</a>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue