Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Teckids/hacknfun/AlekSIS-App-Paweljong
  • 8sercomcurro/AlekSIS-App-Paweljong
  • gassungtholbuy/AlekSIS-App-Paweljong
  • inturnickterc/AlekSIS-App-Paweljong
  • 3vibbergulyo/AlekSIS-App-Paweljong
  • 9fulcvoZdendmi/AlekSIS-App-Paweljong
  • 8stagitWriate/AlekSIS-App-Paweljong
  • 9sorneWpersma/AlekSIS-App-Paweljong
  • imelKgeshi/AlekSIS-App-Paweljong
  • ceotremagi/AlekSIS-App-Paweljong
  • niebutdiscchi/AlekSIS-App-Paweljong
  • plusultesetz/AlekSIS-App-Paweljong
  • 7tiadeKplicpu/AlekSIS-App-Paweljong
  • grehanbeci/AlekSIS-App-Paweljong
  • inocpuhaw/AlekSIS-App-Paweljong
  • 7inenprobko/AlekSIS-App-Paweljong
  • _weblate/AlekSIS-App-Paweljong
17 results
Show changes
Commits on Source (9)
......@@ -14,6 +14,7 @@ Added
* Add link to public page to events list
* Add RSS feed of upcoming events
* Add slug field to Event model
Changed
~~~~~~~
......
......@@ -43,7 +43,7 @@ class EditEventForm(ExtensibleForm):
Fieldset(
_("Base data"),
"linked_group",
Row("display_name", "description"),
Row("display_name", "slug", "description"),
Row("place", "published"),
Fieldset(_("Date data"), Row("date_event", "date_registration", "date_retraction")),
Fieldset(_("Event details"), Row("cost", "max_participants"), "information"),
......@@ -57,6 +57,7 @@ class EditEventForm(ExtensibleForm):
"linked_group",
"display_name",
"description",
"slug",
"place",
"published",
"date_event",
......@@ -378,7 +379,8 @@ class RegisterEventConsent(ExtensibleForm):
field_instance = forms.BooleanField(
required=True,
label=_(
"I confirm that the retraction of the registration is not possible anymore after {}"
"I confirm that the retraction of the registration is not possible anymore "
"after {}"
).format(event.date_retraction),
)
self.fields["retraction_deadline"] = field_instance
......
# Generated by Django 3.2.12 on 2022-02-21 19:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('paweljong', '0011_registration_accepted_terms'),
]
operations = [
migrations.AddField(
model_name='event',
name='slug',
field=models.SlugField(max_length=255, verbose_name='Slug', blank=True),
preserve_default=False,
),
]
......@@ -2,6 +2,7 @@ from datetime import datetime
from django.db import models
from django.urls import reverse
from django.utils.text import slugify
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _
......@@ -31,6 +32,7 @@ class Event(ExtensibleModel):
description = models.CharField(max_length=500, verbose_name=_("Description"))
published = models.BooleanField(default=False, verbose_name=_("Publish"))
place = models.CharField(max_length=50, verbose_name="Place")
slug = models.SlugField(max_length=255, verbose_name=_("Slug"), blank=True)
# Date details
date_event = models.DateField(verbose_name=_("Date of event"))
......@@ -43,6 +45,15 @@ class Event(ExtensibleModel):
information = RichTextField(verbose_name=_("Information about the event"))
terms = models.ManyToManyField(Terms, verbose_name=_("Terms"), related_name="event", blank=True)
def save(self, *args, **kwargs):
if not self.slug:
if self.linked_group.short_name:
self.slug = slugify(self.linked_group.short_name)
else:
self.slug = slugify(self.display_name)
return super().save(*args, **kwargs)
def __str__(self) -> str:
return self.display_name
......@@ -70,7 +81,7 @@ class Event(ExtensibleModel):
return self.date_event > now
def get_absolute_url(self):
return reverse("event_by_name", kwargs={"slug": self.linked_group.short_name})
return reverse("event_by_name", kwargs={"slug": self.slug})
@property
def booked_percentage(self):
......
......@@ -15,13 +15,13 @@ class ManageEventsTable(tables.Table):
edit = tables.LinkColumn(
"edit_event_by_slug",
args=[A("linked_group__short_name")],
args=[A("slug")],
verbose_name=_("Edit"),
text=_("Edit"),
)
view = tables.LinkColumn(
"event_by_name",
args=[A("linked_group__short_name")],
args=[A("slug")],
verbose_name=_("View"),
text=_("View"),
)
......
......@@ -27,23 +27,23 @@
<table>
<tr>
<td><i class="material-icons small">calendar</i></td>
<td><i class="material-icons small">event</i></td>
<td>{{ event.date_event }}</td>
<td><i class="material-icons small">map-marker</i></td>
<td><i class="material-icons small">location_on</i></td>
<td>{{ event.place }}</td>
</tr>
<tr>
<td><i class="material-icons small">calendar-edit</i></td>
<td><i class="material-icons small">edit_calendar</i></td>
<td colspan="2">{% trans "Registration open until" %}:</td>
<td>{{ event.date_registration }}</td>
</tr>
<tr>
<td><i class="material-icons small">cash-multiple</i></td>
<td><i class="material-icons small">money</i></td>
<td colspan="2">{% trans "Participation fee (all inclusive)" %}</td>
<td>{{ event.cost }}</td>
</tr>
<tr>
<td><i class="material-icons small">account-group</i></td>
<td><i class="material-icons small">group</i></td>
<td>{{ event.linked_group.members.count }}</td>
<td colspan="2">{% trans "of" %} {{ event.max_participants }}</td>
</tr>
......@@ -61,9 +61,9 @@
</div>
<div class="card-action">
{% if can_register and not is_authenticated %}
<a href="{% url "register_event_by_slug_start" event.linked_group.short_name %}">{% trans "Register now" %}</a>
<a href="{% url "register_event_by_slug_start" event.slug %}">{% trans "Register now" %}</a>
{% elif can_register and is_authenticated %}
<a href="{% url "register_event_by_slug" event.linked_group.short_name %}">{% trans "Register now" %}</a>
<a href="{% url "register_event_by_slug" event.slug %}">{% trans "Register now" %}</a>
{% else %}
<a href="#">{% trans "Not available" %}</a>
{% endif %}
......
......@@ -87,7 +87,7 @@
or have problems logging in, please send us an e-mail.
{% endblocktrans %}
</p>
<a href="{% url "login" %}?next=/app/paweljong/event/{{ event.linked_group.short_name }}/register">{% trans "Login" %}</a>
<a href="{% url "login" %}?next=/app/paweljong/event/{{ event.slug }}/register">{% trans "Login" %}</a>
</div>
<div id="with_email">
<p>
......@@ -98,7 +98,7 @@
https://leopard.institute/pages/services.html</a>
{% endblocktrans %}
</p>
<a href="{% url "set_email_needed" event.linked_group.short_name %}">{% trans "Register now" %}</a>
<a href="{% url "set_email_needed" event.slug %}">{% trans "Register now" %}</a>
</div>
<div id="without_email">
<p>
......@@ -108,7 +108,7 @@
a personal e-mail address, please choose the respective option instead!
{% endblocktrans %}
</p>
<a href="{% url "register_event_by_slug" event.linked_group.short_name %}">{% trans "Register now" %}</a>
<a href="{% url "register_event_by_slug" event.slug %}">{% trans "Register now" %}</a>
</div>
{% else %}
<div id="not_possible">
......
......@@ -116,7 +116,7 @@
<td>
<i class="material-icons small">local_activity</a>
</td>
<td colspan="3"><a href="{% url 'edit_event_by_slug' registration.event.linked_group.short_name %}">{{ registration.event }}</a></td>
<td colspan="3"><a href="{% url 'edit_event_by_slug' registration.event.slug %}">{{ registration.event }}</a></td>
</tr>
<tr>
<td>
......
......@@ -53,7 +53,7 @@ class CreateEventView(PermissionRequiredMixin, AdvancedCreateView):
class EditEventView(PermissionRequiredMixin, RevisionMixin, AdvancedEditView):
form_class = EditEventForm
model = Event
slug_field = "linked_group__short_name"
slug_field = "slug"
permission_required = "paweljong.change_event"
context_object_name = "manage_events"
template_name = "paweljong/event/edit.html"
......@@ -293,7 +293,7 @@ class RegisterEventWizardView(SessionWizardView):
def get_context_data(self, form, **kwargs):
context = super().get_context_data(form, **kwargs)
context["event"] = Event.objects.get(linked_group__short_name=self.kwargs["slug"])
context["event"] = Event.objects.get(slug=self.kwargs["slug"])
if self.steps.current == "email":
context["page_title"] = ""
......@@ -369,10 +369,10 @@ class RegisterEventWizardView(SessionWizardView):
if step == "email":
kwargs["request"] = self.request
if step == "additional":
event = Event.objects.get(linked_group__short_name=self.kwargs["slug"])
event = Event.objects.get(slug=self.kwargs["slug"])
kwargs["event"] = event
if step == "consent":
event = Event.objects.get(linked_group__short_name=self.kwargs["slug"])
event = Event.objects.get(slug=self.kwargs["slug"])
kwargs["event"] = event
return kwargs
......@@ -439,7 +439,7 @@ class RegisterEventWizardView(SessionWizardView):
def done(self, form_list, **kwargs):
event = Event.objects.get(linked_group__short_name=self.kwargs["slug"])
event = Event.objects.get(slug=self.kwargs["slug"])
cleaned_data_email = self.get_cleaned_data_for_step("email")
cleaned_data_contact_details = self.get_cleaned_data_for_step("contact_details")
cleaned_data_guardians = self.get_cleaned_data_for_step("guardians")
......@@ -610,7 +610,7 @@ class RegisterEventWizardView(SessionWizardView):
class EventFullView(DetailView):
model = Event
slug_field = "linked_group__short_name"
slug_field = "slug"
template_name = "paweljong/event/full.html"
object_context_name = "event"
......@@ -625,7 +625,7 @@ class EventFullView(DetailView):
class RegisterEventStart(DetailView):
model = Event
slug_field = "linked_group__short_name"
slug_field = "slug"
template_name = "paweljong/event/register_start.html"
object_context_name = "event"
......