1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<!doctype html>
<html lang="de">
<head>
<title>Lehrerspruch-Wahlplattform</title>
<link rel="stylesheet" type="text/css" href="/static/materialize.min.css">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0" />
</head>
<body>
<script type="text/javascript" src="/static/jquery.min.js"></script>
<script type="text/javascript" src="/static/materialize.min.js"></script>
<div class="container">
<h3>Lehrersprüche</h3>
<div class="divider"></div>
{% for joke in jokes %}
<div class="row section valign-wrapper">
<div class="col s3 m2">
<div class="row joke">
<form action="/vote" method="post" class="voteform">
<input type="hidden" name="id" value="{{ joke.id }}">
<input type="hidden" name="redirpage" value="{{ currentpage }}">
<button class="upvotebtn btn{% if joke.reports>0 %}-flat{% endif %}{% if joke.upvoted %} disabled{% endif %} col s12" type="submit" name="vote" value="upvote">
<i class="material-icons">thumb_up</i> <span class="btnval" data-original="{% if joke.upvoted %}{{ joke.upvotes-1 }}{% else %}{{ joke.upvotes }}{% endif %}">{{ joke.upvotes }}</span>
</button>
<button class="downvotebtn btn{% if joke.reports>0 %}-flat{% endif %}{% if joke.downvoted %} disabled{% endif %} col s12" type="submit" name="vote" value="downvote">
<i class="material-icons">thumb_down</i> <span class="btnval" data-original="{% if joke.downvoted %}{{ joke.downvotes-1 }}{% else %}{{ joke.downvotes }}{% endif %}">{{ joke.downvotes }}</span>
</button>
</form>
<form action="/report" method="post">
<input type="hidden" name="id" value="{{ joke.id }}">
<input type="hidden" name="redirpage" value="{{ currentpage }}">
<button class="btn-flat col s12{% if joke.reported %} disabled{% endif %}" type="submit">
{% if joke.reports>0 %}
<div class="row">
<i class="material-icons col s6">report_problem</i>
<span class="red-text col s6">{{ joke.reports }}</span>
</div>
{% else %}
<i class="material-icons">report_problem</i>
{% endif %}
</button>
</form>
{% if joke.mine %}
<form action="/delete" method="post">
<input type="hidden" name="id" value="{{ joke.id }}">
<input type="hidden" name="redirpage" value="{{ currentpage }}">
<button class="btn-flat col s12" type="submit"><i class="material-icons">delete</i></button>
</form>
{% endif %}
</div>
</div>
<div class="valign col s9 m10 {% if joke.reports>0 %}grey-text{% endif %}">
{{ joke.text|safe }}
</div>
</div>
<div class="divider"></div>
{% endfor %}
<div class="section center">
<ul class="pagination">
<li{% if currentpage==0 %} class="disabled"{% endif %}><a href="/page/{{ currentpage-1 }}"><i class="material-icons">chevron_left</i></a></li>
{% for page in pages %}
<li{% if currentpage==loop.index0 %} class="active"{% endif %}><a href="/page/{{ loop.index0 }}">{{ loop.index }}</a></li>
{% endfor %}
<li{% if currentpage==loop.length-1 %} class="disabled"{% endif %}><a href="/page/{{ currentpage+1 }}"><i class="material-icons">chevron_right</i></a></li>
</ul>
</div>
<div class="divider hide-on-small-only"></div>
<div class="section hide-on-small-only">
<form action="/submit" method="post">
<input type="hidden" name="redirpage" value="{{ currentpage }}">
<div class="row valign-wrapper">
<div class="col s10 input-field">
<label for="text">Neuen Spruch hinzufügen</label>
<textarea class="materialize-textarea" name="text"></textarea>
</div>
<div class="col s3 valign">
<input type="submit" class="btn" value="hinzufügen">
</div>
</div>
</form>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.upvotebtn').click(function(e) { submitAjaxer.call(this, e, 'upvote'); });
$('.downvotebtn').click(function(e) { submitAjaxer.call(this, e, 'downvote'); });
function submitAjaxer(e, type) {
e.preventDefault();
var form = $(this).closest('form');
var joke = $(this).closest('.joke');
$.ajax({
url: form.attr('action'),
type: "POST",
data: form.serialize() + '&vote=' + type,
success: function(data) {
var upvotebtn = $('.upvotebtn .btnval', form).first();
var downvotebtn = $('.downvotebtn .btnval', form).first();
var upvotes = parseInt(upvotebtn.data('original'));
var downvotes = parseInt(downvotebtn.data('original'));
upvotebtn.text();
downvotebtn.text(downvotebtn.data('original'));
upvotebtn.parent().removeClass('disabled');
downvotebtn.parent().removeClass('disabled');
upvotebtn.text(upvotes);
downvotebtn.text(downvotes);
if (type == "upvote") {
upvotebtn.text(upvotes+1);
upvotebtn.parent().addClass('disabled');
} else if (type == "downvote") {
downvotebtn.text(downvotes+1);
downvotebtn.parent().addClass('disabled');
}
}
});
}
});
</script>
</body>
</html>
|