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 (3)
......@@ -461,7 +461,7 @@ class EditInfoMailingForm(forms.ModelForm):
layout = Layout(
Row("sender", "reply_to", "active"),
Row("send_to_person", "send_to_guardians"),
Row("send_to_person", "send_to_guardians", "send_to_retracted", "send_to_not_checked_in"),
Row("subject"),
Row("text"),
)
......@@ -507,11 +507,13 @@ class PersonGroupFormPerson(forms.Form):
class EventCheckpointForm(forms.Form):
class Media:
js = ("https://unpkg.com/html5-qrcode", "js/paweljong/qrscanner.js", "js/paweljong/checkpoint.js")
js = (
"https://unpkg.com/html5-qrcode",
"js/paweljong/qrscanner.js",
"js/paweljong/checkpoint.js",
)
layout = Layout(
"comment", "use_latlon", "username"
)
layout = Layout("comment", "use_latlon", "username")
comment = forms.CharField(
required=True,
......
......@@ -51,9 +51,12 @@ class InfoMailing(ExtensibleModel):
sender = models.EmailField(verbose_name=_("Sender"), blank=True)
send_to_person = models.BooleanField(verbose_name=_("Send to registered person"), default=True)
send_to_guardians = models.BooleanField(verbose_name=_("Send to guardians"), default=False)
send_to_retracted = models.BooleanField(verbose_name=_("Send to participants who retracted"), default=False)
send_to_not_checked_in = models.BooleanField(verbose_name=_("Send to participants who did not check in"), default=True)
send_to_retracted = models.BooleanField(
verbose_name=_("Send to participants who retracted"), default=False
)
send_to_not_checked_in = models.BooleanField(
verbose_name=_("Send to participants who did not check in"), default=True
)
def __str__(self) -> str:
return self.subject
......@@ -418,13 +421,28 @@ class EventRegistration(ExtensibleModel):
class Checkpoint(ExtensibleModel):
event = models.ForeignKey(Event, verbose_name=_("Related event"), related_name="checkpoints", on_delete=models.CASCADE)
person = models.ForeignKey(Person, verbose_name=_("Checked person"), related_name="event_checkpoints", on_delete=models.CASCADE)
checked_by = models.ForeignKey(Person, verbose_name=_("Checked by person"), related_name="event_checkpoints_created", on_delete=models.CASCADE)
event = models.ForeignKey(
Event, verbose_name=_("Related event"), related_name="checkpoints", on_delete=models.CASCADE
)
person = models.ForeignKey(
Person,
verbose_name=_("Checked person"),
related_name="event_checkpoints",
on_delete=models.CASCADE,
)
checked_by = models.ForeignKey(
Person,
verbose_name=_("Checked by person"),
related_name="event_checkpoints_created",
on_delete=models.CASCADE,
)
comment = models.CharField(max_length=60, verbose_name=_("Comment"))
timestamp = models.DateTimeField(verbose_name=_("Date and time of check"), auto_now_add=True)
lat = models.DecimalField(max_digits=10, decimal_places=8, verbose_name=_("Latitude of check"), blank=True, null=True)
lon = models.DecimalField(max_digits=11, decimal_places=8, verbose_name=_("Longitude of check"), blank=True, null=True)
lat = models.DecimalField(
max_digits=10, decimal_places=8, verbose_name=_("Latitude of check"), blank=True, null=True
)
lon = models.DecimalField(
max_digits=11, decimal_places=8, verbose_name=_("Longitude of check"), blank=True, null=True
)
......@@ -50,7 +50,11 @@ urlpatterns = [
),
path("event/<slug:slug>", views.EventFullView.as_view(), name="event_by_name"),
path("event/<slug:slug>/detail", views.EventDetailView.as_view(), name="event_detail_by_name"),
path("event/<slug:slug>/checkpoint", views.EventCheckpointView.as_view(), name="event_by_name_checkpoint"),
path(
"event/<slug:slug>/checkpoint",
views.EventCheckpointView.as_view(),
name="event_by_name_checkpoint",
),
path(
"event/<slug:slug>/start",
views.RegisterEventStart.as_view(),
......
......@@ -44,7 +44,15 @@ from .forms import (
RegistrationNotificationForm,
RegistrationStatesForm,
)
from .models import Checkpoint, Event, EventRegistration, InfoMailing, RegistrationState, Terms, Voucher
from .models import (
Checkpoint,
Event,
EventRegistration,
InfoMailing,
RegistrationState,
Terms,
Voucher,
)
from .tables import (
AdditionalFieldsTable,
ChildGroupsTable,
......@@ -1004,12 +1012,21 @@ class EventCheckpointView(PermissionRequiredMixin, FormView):
checkpoint.lon = form.cleaned_data["lon"]
checkpoint.save()
messages.success(self.request, _("{} successfully checked for {}.").format(str(checkpoint.person), str(checkpoint.comment)))
messages.success(
self.request,
_("{} successfully checked for {}.").format(
str(checkpoint.person), str(checkpoint.comment)
),
)
self._comment = checkpoint.comment
return super().form_valid(self)
def get_success_url(self):
return reverse("event_by_name_checkpoint", kwargs={"slug": self.kwargs["slug"]}) + "?" + urlencode({"comment": self._comment})
return (
reverse("event_by_name_checkpoint", kwargs={"slug": self.kwargs["slug"]})
+ "?"
+ urlencode({"comment": self._comment})
)
class ViewTerms(PermissionRequiredMixin, DetailView):
......
......@@ -10,7 +10,7 @@ skip_install = true
envdir = {toxworkdir}/globalenv
commands_pre =
poetry install
poetry run aleksis-admin yarn install
poetry run aleksis-admin webpack_bundle
poetry run aleksis-admin collectstatic --no-input
commands =
poetry run pytest --cov=. {posargs} aleksis/
......@@ -49,13 +49,13 @@ commands =
[testenv:makemessages]
commands =
poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la
poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la
poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
[flake8]
max_line_length = 100
exclude = migrations,tests
ignore = BLK100,E203,E231,E266,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101,DJ05
ignore = BLK100,E203,E231,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101,DJ05
[isort]
profile = black
......