Skip to content

Commit a916932

Browse files
authored
Merge pull request #4 from pretalx/pretalx-updates
Mixed updates: 2024.3.x-Kompatibilität + mehr
2 parents 90629b1 + 4737bdb commit a916932

12 files changed

Lines changed: 106 additions & 61 deletions

File tree

pretalx_halfnarp/apps.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ class PretalxPluginMeta:
1616
"room-sizes accordingly by scheduling the most requested submissions into the larger rooms. It can "
1717
"also help you avoid overlaps by correlating submissions that are preferred by the same people so "
1818
"that you can plan them at different times. "
19-
""
20-
"Halfnarp is an anagram of Fahrplan, a not-yet sorted Fahrplan"
19+
"\n"
20+
"Halfnarp is an anagram of Fahrplan, a not-yet sorted Fahrplan."
2121
)
2222
visible = True
2323
version = __version__
24+
category = "FEATURE"
2425

2526
def ready(self):
2627
from . import signals # NOQA

pretalx_halfnarp/forms.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.translation import gettext_lazy as _
33
from hierarkey.forms import HierarkeyForm
44
from i18nfield.forms import I18nFormMixin
5+
from pretalx.common.forms.widgets import HtmlDateInput
56

67

78
class HalfnarpSettingsForm(I18nFormMixin, HierarkeyForm):
@@ -12,4 +13,5 @@ class HalfnarpSettingsForm(I18nFormMixin, HierarkeyForm):
1213
),
1314
label=_("Allow votes until"),
1415
required=False,
16+
widget=HtmlDateInput,
1517
)

pretalx_halfnarp/models.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from django.db import models
2+
from django_scopes import ScopedManager
23

34

45
class Preference(models.Model):
@@ -8,8 +9,10 @@ class Preference(models.Model):
89
event = models.ForeignKey(to="event.Event", on_delete=models.CASCADE)
910
preferred_submissions = models.TextField()
1011

12+
objects = ScopedManager(event="event")
13+
1114
class Meta:
12-
unique_together = [["hash", "event"]]
15+
unique_together = (("hash", "event"),)
1316

1417
@property
1518
def preferred_submission_ids(self):
@@ -18,5 +21,6 @@ def preferred_submission_ids(self):
1821

1922
return []
2023

21-
def set_preferred_submission_ids(self, submission_ids):
24+
@preferred_submission_ids.setter
25+
def preferred_submission_ids(self, submission_ids):
2226
self.preferred_submissions = ",".join([str(i) for i in submission_ids])

pretalx_halfnarp/signals.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from django.dispatch import receiver
22
from django.urls import resolve, reverse
33
from django.utils.translation import gettext_lazy as _
4-
from pretalx.orga.signals import nav_event
4+
from pretalx.orga.signals import nav_event, nav_event_settings
55

66

77
@receiver(nav_event, dispatch_uid="halfnarp")
8-
def navbar_info(sender, request, **kwargs):
8+
def navbar_info_settings(sender, request, **kwargs):
99
url = resolve(request.path_info)
1010
if not request.user.has_perm("orga.view_submissions", request.event):
1111
return []
@@ -24,3 +24,25 @@ def navbar_info(sender, request, **kwargs):
2424
and url.url_name == "organiser",
2525
}
2626
]
27+
28+
29+
@receiver(nav_event_settings, dispatch_uid="halfnarp_nav_settings")
30+
def navbar_info(sender, request, **kwargs):
31+
url = resolve(request.path_info)
32+
33+
if not request.user.has_perm("orga.change_settings", request.event):
34+
return []
35+
36+
return [
37+
{
38+
"label": _("Halfnarp"),
39+
"url": reverse(
40+
"plugins:pretalx_halfnarp:settings",
41+
kwargs={
42+
"event": request.event.slug,
43+
},
44+
),
45+
"active": url.namespace == "plugins:pretalx_halfnarp"
46+
and url.url_name == "settings",
47+
}
48+
]

pretalx_halfnarp/static/pretalx_halfnarp/frontend.scss

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$transitionSpeed: .5s;
1+
$transitionSpeed: 0.5s;
22

33
.submissions .submission {
44
display: block;
@@ -15,7 +15,7 @@ $transitionSpeed: .5s;
1515
&.preferred {
1616
margin-left: 2rem;
1717
margin-right: 2rem;
18-
background: rgba(0, 0, 0, .05);
18+
background: rgba(0, 0, 0, 0.05);
1919

2020
.preferred-icon {
2121
opacity: 1;
@@ -44,15 +44,16 @@ $transitionSpeed: .5s;
4444
margin-top: 0;
4545
}
4646

47-
.headline, .footer {
47+
.headline,
48+
.footer {
4849
display: flex;
4950

50-
.title, .track {
51+
.title,
52+
.track {
5153
flex-grow: 1;
5254
}
5355
}
5456

55-
5657
.description {
5758
display: none;
5859
}

pretalx_halfnarp/static/pretalx_halfnarp/organiser.scss

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
.submissions .submission {
1010
max-width: 50rem;
1111

12-
.headline, .footer {
12+
.headline,
13+
.footer {
1314
display: flex;
1415

15-
.title, .track {
16+
.title,
17+
.track {
1618
flex-grow: 1;
1719
}
1820
}
19-
20-
}
21+
}

pretalx_halfnarp/templates/pretalx_halfnarp/frontend.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<link rel="stylesheet" type="text/x-scss" href="{% static "pretalx_halfnarp/frontend.scss" %}"/>
1111
{% endcompress %}
1212
{% compress js %}
13+
<script defer src="{% static "js/jquery.js" %}"></script>
1314
<script defer src="{% static "pretalx_halfnarp/frontend.js" %}"></script>
1415
{% endcompress %}
1516
{% endblock %}
Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
{% extends "orga/cfp/base.html" %}
2-
{% load bootstrap4 %}
1+
{% extends "orga/base.html" %}
32
{% load compress %}
43
{% load i18n %}
54
{% load rules %}
65
{% load static %}
7-
{% load url_replace %}
86

97
{% block stylesheets %}
108
{% compress css %}
@@ -16,8 +14,6 @@
1614
{% compress js %}
1715
<script defer src="{% static "vendored/moment-with-locales.js" %}"></script>
1816
<script defer src="{% static "vendored/moment-timezone-with-data-10-year-range.js" %}"></script>
19-
<script defer src="{% static "vendored/datetimepicker/bootstrap-datetimepicker.js" %}"></script>
20-
<script defer src="{% static "orga/js/datetimepicker.js" %}"></script>
2117
{% endcompress %}
2218
{% endblock %}
2319

@@ -29,27 +25,9 @@ <h2>{% translate "Most Preferred Submissions" %}</h2>
2925
{% translate "Link to Vote-Page" %}
3026
</a>
3127
</div>
32-
<form method="post">
33-
{% csrf_token %}
34-
<fieldset>
35-
<legend>{% translate "Settings" %}</legend>
36-
37-
{% bootstrap_form_errors form %}
38-
39-
{% bootstrap_field form.halfnarp_allow_voting_until layout='event' %}
40-
</fieldset>
41-
<div class="submit-group panel">
42-
<span>
43-
<button type="submit" class="btn btn-success btn-lg">
44-
<i class="fa fa-check"></i>
45-
{% translate "Save" %}
46-
</button>
47-
</span>
48-
</div>
49-
</form>
5028
<p>
5129
{% blocktranslate trimmed %}
52-
The following Submissions have been voted the most (in descending order).
30+
The following Submissions have been voted the most (in descending order):
5331
{% endblocktranslate %}
5432
</p>
5533
<div class="submissions">
@@ -67,6 +45,8 @@ <h2 class="title">{{info.submission.title}}</h2>
6745
</div>
6846
</div>
6947
</div>
48+
{% empty %}
49+
{% translate "There have been no votes yet." %}
7050
{% endfor %}
7151
</div>
7252
{% endblock %}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{% extends "orga/base.html" %}
2+
{% load compress %}
3+
{% load copyable %}
4+
{% load i18n %}
5+
{% load static %}
6+
7+
{% block content %}
8+
9+
<h2>{% translate "Halfnarp Settings" %}</h2>
10+
{% include "orga/includes/base_form.html" %}
11+
12+
{% endblock %}

pretalx_halfnarp/urls.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,9 @@
1919
organiser.OrganiserView.as_view(),
2020
name="organiser",
2121
),
22+
re_path(
23+
f"^orga/event/(?P<event>[{SLUG_CHARS}]+)/settings/p/halfnarp/$",
24+
organiser.HalfnarpSettingsView.as_view(),
25+
name="settings",
26+
),
2227
]

0 commit comments

Comments
 (0)