diff --git a/fet2020/blackboard/models.py b/fet2020/blackboard/models.py index a90e819d..1997041e 100644 --- a/fet2020/blackboard/models.py +++ b/fet2020/blackboard/models.py @@ -30,9 +30,7 @@ class JobPosting(models.Model): validators=[FileExtensionValidator(["pdf"])], ) - publish_date = models.DateField( - verbose_name="Veröffentlichung", default=timezone.now - ) + publish_date = models.DateField(verbose_name="Veröffentlichung", default=timezone.now) all_job_postings = models.Manager() diff --git a/fet2020/blackboard/views.py b/fet2020/blackboard/views.py index ee91cc16..e6c247fc 100644 --- a/fet2020/blackboard/views.py +++ b/fet2020/blackboard/views.py @@ -8,9 +8,7 @@ from .models import JobPosting def index(request): job_postings_cutoff = timezone.now().date() - timedelta(30) # 30days from now - job_postings = JobPosting.all_job_postings.filter( - publish_date__gt=job_postings_cutoff - ) + job_postings = JobPosting.all_job_postings.filter(publish_date__gt=job_postings_cutoff) context = { "job_postings": job_postings.order_by("-publish_date"), diff --git a/fet2020/fet2020/urls.py b/fet2020/fet2020/urls.py index 1dc7cf75..d5b0f952 100644 --- a/fet2020/fet2020/urls.py +++ b/fet2020/fet2020/urls.py @@ -54,9 +54,7 @@ urlpatterns = [ RedirectView.as_view(url="https://www.instagram.com/fet_tuwien/"), name="instagram", ), - path( - "telegram/", RedirectView.as_view(url="https://t.me/FETInfo"), name="telegram" - ), + path("telegram/", RedirectView.as_view(url="https://t.me/FETInfo"), name="telegram"), path( "sitemap.xml", sitemap, diff --git a/fet2020/finance/forms.py b/fet2020/finance/forms.py index b40830e1..d3945d45 100644 --- a/fet2020/finance/forms.py +++ b/fet2020/finance/forms.py @@ -252,9 +252,7 @@ class BillUpdateForm(forms.ModelForm): self.fields["saving"].required = False # only digital bill field - self.fields[ - "only_digital_new" - ].label = "Ich habe eine neue digitale Rechnung." + self.fields["only_digital_new"].label = "Ich habe eine neue digitale Rechnung." self.fields["only_digital_new"].required = False # Resolution fields @@ -443,11 +441,7 @@ class BillAdminForm(forms.ModelForm): self.fields["bill_creator"].widget.can_delete_related = False # delete wiref id from list if there are already 8 bills in wiref form. - qs = ( - self.fields["wiref"] - .queryset.annotate(num_bills=Count("bill")) - .filter(num_bills__lt=8) - ) + qs = self.fields["wiref"].queryset.annotate(num_bills=Count("bill")).filter(num_bills__lt=8) # delete wiref id from if status is not opened. qs = qs.filter(status=Wiref.Status.OPENED) diff --git a/fet2020/finance/models.py b/fet2020/finance/models.py index 71f45a73..4dd796ee 100644 --- a/fet2020/finance/models.py +++ b/fet2020/finance/models.py @@ -34,9 +34,7 @@ class BankData(models.Model): class Resolution(models.Model): - id = models.CharField( - primary_key=True, max_length=128, verbose_name="Beschlussnummer" - ) + id = models.CharField(primary_key=True, max_length=128, verbose_name="Beschlussnummer") name = models.CharField(max_length=128, verbose_name="Bezeichnung") is_visible = models.BooleanField(default=False, verbose_name="sichtbar") @@ -47,9 +45,7 @@ class Resolution(models.Model): FINANCE = "F", "Finanzbeschluss" FSREF = "R", "FsRef-Beschluss" - option = models.CharField( - max_length=1, choices=Option.choices, verbose_name="Beschluss" - ) + option = models.CharField(max_length=1, choices=Option.choices, verbose_name="Beschluss") date = models.DateField(verbose_name="Datum") voting = models.CharField(max_length=15, verbose_name="Abstimmungsverhalten") @@ -142,9 +138,7 @@ class Bill(models.Model): date = models.DateField() invoice = models.TextField() - amount = models.DecimalField( - max_digits=7, decimal_places=2, verbose_name="Betrag (EUR)" - ) + amount = models.DecimalField(max_digits=7, decimal_places=2, verbose_name="Betrag (EUR)") purpose = models.CharField(max_length=140, verbose_name="Verwendungszweck") class Affiliation(models.TextChoices): diff --git a/fet2020/finance/urls.py b/fet2020/finance/urls.py index 760c2b33..5fe73b96 100644 --- a/fet2020/finance/urls.py +++ b/fet2020/finance/urls.py @@ -22,9 +22,7 @@ urlpatterns = [ BillCreateDoneView.as_view(), name="bill_create_done", ), - path( - "create-resolution/", ResolutionCreateView.as_view(), name="resolution_create" - ), + path("create-resolution/", ResolutionCreateView.as_view(), name="resolution_create"), path("resolutions/", ResolutionListView.as_view(), name="resolution_list"), path( "resolutions//", diff --git a/fet2020/finance/views.py b/fet2020/finance/views.py index 69b85ab1..07b555bb 100644 --- a/fet2020/finance/views.py +++ b/fet2020/finance/views.py @@ -46,9 +46,7 @@ class BillCreateView(LoginRequiredMixin, CreateView): # Disable old bank data. qs = BankData.objects.filter( - ~Q(id=obj.id) - & Q(bankdata_creator=obj.bankdata_creator) - & Q(is_disabled=False) + ~Q(id=obj.id) & Q(bankdata_creator=obj.bankdata_creator) & Q(is_disabled=False) ) qs.update(is_disabled=True) diff --git a/fet2020/gallery/models.py b/fet2020/gallery/models.py index bad6b7c6..552ea0ca 100644 --- a/fet2020/gallery/models.py +++ b/fet2020/gallery/models.py @@ -11,9 +11,7 @@ class Album(models.Model): slug = models.SlugField(unique=True, null=True, blank=True) folder_name = models.CharField(verbose_name="Ordner Name", max_length=200) - thumbnail = models.CharField( - verbose_name="Thumbnail", max_length=200, null=True, blank=True - ) + thumbnail = models.CharField(verbose_name="Thumbnail", max_length=200, null=True, blank=True) event_date = models.DateField( verbose_name="Event Datum", null=True, blank=True, default=timezone.now diff --git a/fet2020/gallery/utils.py b/fet2020/gallery/utils.py index 4fb64269..952b932c 100644 --- a/fet2020/gallery/utils.py +++ b/fet2020/gallery/utils.py @@ -21,9 +21,7 @@ def get_image_list(folder_name): if ext.lower() not in valid_images: continue - thumb_path = os.path.join( - settings.MEDIA_ROOT + gallery_thumb_path, folder_name - ) + thumb_path = os.path.join(settings.MEDIA_ROOT + gallery_thumb_path, folder_name) thumb_file_path = os.path.join(thumb_path, f"thumb_{img}") if os.path.exists(thumb_file_path): thumb_url = os.path.join( diff --git a/fet2020/gallery/views.py b/fet2020/gallery/views.py index 1f3b0f7a..61a4e974 100644 --- a/fet2020/gallery/views.py +++ b/fet2020/gallery/views.py @@ -31,9 +31,7 @@ def index(request): ) else: # show only PUBLIC albums. - albums = deque( - Album.objects.filter(status=Album.PUBLIC).order_by("-event_date") - ) + albums = deque(Album.objects.filter(status=Album.PUBLIC).order_by("-event_date")) for album in list(albums): img_list = album.get_images() diff --git a/fet2020/intern/models.py b/fet2020/intern/models.py index b31ac03f..7d29aa3f 100644 --- a/fet2020/intern/models.py +++ b/fet2020/intern/models.py @@ -63,9 +63,7 @@ class Topic(models.Model): verbose_name_plural = "Themen" constraints = [ - UniqueConstraint( - fields=["slug", "topic_group"], name="unique_intern_slug_topic_group" - ), + UniqueConstraint(fields=["slug", "topic_group"], name="unique_intern_slug_topic_group"), UniqueConstraint( fields=["title", "topic_group"], name="unique_intern_title_topic_group" ), @@ -102,9 +100,7 @@ class Attachment(models.Model): constraints = [ UniqueConstraint(fields=["slug", "topic"], name="unique_intern_slug_topic"), - UniqueConstraint( - fields=["title", "topic"], name="unique_intern_title_topic" - ), + UniqueConstraint(fields=["title", "topic"], name="unique_intern_title_topic"), ] def __str__(self): @@ -125,9 +121,7 @@ class Attachment(models.Model): class Etherpad(models.Model): title = models.CharField(max_length=128, verbose_name="Titel") - slug_id = models.CharField( - default=create_random_id, editable=False, max_length=8, unique=True - ) + slug_id = models.CharField(default=create_random_id, editable=False, max_length=8, unique=True) etherpad_key = models.CharField(blank=True, max_length=50) date = models.DateField(default=date.today, verbose_name="Datum") @@ -142,9 +136,7 @@ class Etherpad(models.Model): verbose_name_plural = "Etherpads" constraints = [ - UniqueConstraint( - fields=["title", "date", "attachment"], name="unique_intern_etherpad" - ), + UniqueConstraint(fields=["title", "date", "attachment"], name="unique_intern_etherpad"), ] def __str__(self): @@ -182,9 +174,7 @@ class Etherpad(models.Model): class FileUpload(models.Model): title = models.CharField(blank=True, max_length=128, verbose_name="Titel") - file_field = models.FileField( - upload_to="uploads/intern/files/", verbose_name="Dokument" - ) + file_field = models.FileField(upload_to="uploads/intern/files/", verbose_name="Dokument") date = models.DateField(default=date.today, verbose_name="Datum") attachment = models.ForeignKey( diff --git a/fet2020/intern/views.py b/fet2020/intern/views.py index 67c161c9..ae720d0d 100644 --- a/fet2020/intern/views.py +++ b/fet2020/intern/views.py @@ -186,9 +186,7 @@ class EtherpadCreateView(LoginRequiredMixin, CreateView): topic_slug = self.kwargs.get("topic_slug") slug = self.kwargs.get("slug") attachment = Attachment.objects.get( - Q(topic__topic_group__slug=topic_group_slug) - & Q(topic__slug=topic_slug) - & Q(slug=slug) + Q(topic__topic_group__slug=topic_group_slug) & Q(topic__slug=topic_slug) & Q(slug=slug) ) context["attachment"] = attachment return context @@ -213,9 +211,7 @@ class FileUploadCreateView(LoginRequiredMixin, CreateView): topic_slug = self.kwargs.get("topic_slug") slug = self.kwargs.get("slug") attachment = Attachment.objects.get( - Q(topic__topic_group__slug=topic_group_slug) - & Q(topic__slug=topic_slug) - & Q(slug=slug) + Q(topic__topic_group__slug=topic_group_slug) & Q(topic__slug=topic_slug) & Q(slug=slug) ) context["attachment"] = attachment return context diff --git a/fet2020/members/forms.py b/fet2020/members/forms.py index a5cb23ef..a3aa0fa4 100644 --- a/fet2020/members/forms.py +++ b/fet2020/members/forms.py @@ -24,11 +24,7 @@ class ActiveMemberForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - member_qs = ( - self.fields["member"] - .queryset.filter(role="A") - .order_by("firstname", "surname") - ) + member_qs = self.fields["member"].queryset.filter(role="A").order_by("firstname", "surname") self.fields["member"].queryset = member_qs diff --git a/fet2020/members/managers.py b/fet2020/members/managers.py index e697a7d6..010158a6 100644 --- a/fet2020/members/managers.py +++ b/fet2020/members/managers.py @@ -40,11 +40,7 @@ class InactiveJobMemberManager(models.Manager): def get_queryset(self): date_today = timezone.now().date() - qs = ( - super() - .get_queryset() - .order_by("member__firstname", "member__surname", "-job_start") - ) + qs = super().get_queryset().order_by("member__firstname", "member__surname", "-job_start") return qs.filter( Q(member__role="P") @@ -66,25 +62,15 @@ class JobMemberManager(models.Manager): def get_active_jobs(self, member_id): date_today = timezone.now().date() - qs = ( - self.get_queryset() - .filter(member__id=member_id) - .order_by("-job_start", "job__name") - ) + qs = self.get_queryset().filter(member__id=member_id).order_by("-job_start", "job__name") return qs.filter(Q(job_end__gt=date_today) | Q(job_end__isnull=True)) def get_inactive_jobs(self, member_id): date_today = timezone.now().date() - qs = ( - self.get_queryset() - .filter(member__id=member_id) - .order_by("-job_start", "job__name") - ) + qs = self.get_queryset().filter(member__id=member_id).order_by("-job_start", "job__name") - return qs.filter( - Q(job_end__lt=date_today + timedelta(days=1)) & Q(job_end__isnull=False) - ) + return qs.filter(Q(job_end__lt=date_today + timedelta(days=1)) & Q(job_end__isnull=False)) class MemberManager(models.Manager): diff --git a/fet2020/members/models.py b/fet2020/members/models.py index 3180b91b..bbd4cf4c 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -194,11 +194,7 @@ class Job(models.Model): return self.name def get_absolute_url(self): - return ( - reverse("members:jobs", kwargs={"slug": self.job_group.slug}) - + "#" - + self.slug - ) + return reverse("members:jobs", kwargs={"slug": self.job_group.slug}) + "#" + self.slug def clean(self): if not self.shortterm: @@ -229,9 +225,7 @@ class JobMember(models.Model): MEMBER = ("50", "Mitglied") SUBSTITUTE_MEMBER = ("60", "Ersatzmitglied") - job_role = models.CharField( - max_length=2, choices=JobRole.choices, default=JobRole.MEMBER - ) + job_role = models.CharField(max_length=2, choices=JobRole.choices, default=JobRole.MEMBER) objects = models.Manager() members = JobMemberManager() diff --git a/fet2020/members/serializers.py b/fet2020/members/serializers.py index 34d44c69..5b852d39 100644 --- a/fet2020/members/serializers.py +++ b/fet2020/members/serializers.py @@ -27,9 +27,7 @@ class JobGroupSerializer(serializers.HyperlinkedModelSerializer): class JobSerializer(serializers.HyperlinkedModelSerializer): # job_group = JobGroupSerializer() - job_group = serializers.SlugRelatedField( - slug_field="slug", queryset=JobGroup.objects - ) + job_group = serializers.SlugRelatedField(slug_field="slug", queryset=JobGroup.objects) class Meta: model = Job @@ -40,9 +38,7 @@ class JobMemberSerializer(serializers.HyperlinkedModelSerializer): # member = MemberSerializer() # job = JobSerializer() job = serializers.SlugRelatedField(slug_field="slug", queryset=Job.objects) - member = serializers.SlugRelatedField( - slug_field="mailaccount", queryset=Member.objects - ) + member = serializers.SlugRelatedField(slug_field="mailaccount", queryset=Member.objects) class Meta: model = JobMember diff --git a/fet2020/members/tests.py b/fet2020/members/tests.py index 96e1f12a..97ca3be2 100644 --- a/fet2020/members/tests.py +++ b/fet2020/members/tests.py @@ -88,9 +88,7 @@ class MemberFormTestCase(TestCase): ) self.assertFalse(form.is_valid()) - self.assertEqual( - form.errors.as_data()["__all__"][0].message, "Es fehlt das Profilbild." - ) + self.assertEqual(form.errors.as_data()["__all__"][0].message, "Es fehlt das Profilbild.") def test_form_wrong_mailaccount(self): image = SimpleUploadedFile( diff --git a/fet2020/posts/forms.py b/fet2020/posts/forms.py index afad0775..55f759d6 100644 --- a/fet2020/posts/forms.py +++ b/fet2020/posts/forms.py @@ -40,9 +40,7 @@ class NewsForm(PostForm): "Die Hashtags ohne '#' eintragen, und mit Komma kann man mehrere Tags anfügen." ), "image": "Verwendbare Formate: ...", - "is_pinned": ( - "Dieser Post soll an die Startseite als erster Post angeheftet werden." - ), + "is_pinned": ("Dieser Post soll an die Startseite als erster Post angeheftet werden."), } labels = { @@ -74,9 +72,7 @@ class EventForm(PostForm): "Die Hashtags ohne '#' eintragen, und mit Komma kann man mehrere Tags anfügen." ), "image": "Verwendbare Formate: Bildformate", - "is_pinned": ( - "Dieses Event soll an die Startseite als erster Post angeheftet werden." - ), + "is_pinned": ("Dieses Event soll an die Startseite als erster Post angeheftet werden."), } labels = { diff --git a/fet2020/posts/models.py b/fet2020/posts/models.py index 2d1d791f..b438c5b2 100644 --- a/fet2020/posts/models.py +++ b/fet2020/posts/models.py @@ -109,9 +109,7 @@ class Post(models.Model): is_pinned = models.BooleanField(verbose_name="ANGEHEFTET", default=False) # addional infos for events - event_start = models.DateTimeField( - verbose_name="Event Start", null=True, blank=True - ) + event_start = models.DateTimeField(verbose_name="Event Start", null=True, blank=True) event_end = models.DateTimeField(verbose_name="Event Ende", null=True, blank=True) event_place = models.CharField(max_length=200, null=True, blank=True) @@ -178,9 +176,7 @@ class Post(models.Model): ep_set_html(self.agenda_key, value) - request_logger.info( - "set etherpad for post %s id: %s", self.slug, self.agenda_key - ) + request_logger.info("set etherpad for post %s id: %s", self.slug, self.agenda_key) return value @protocol_html.setter @@ -192,9 +188,7 @@ class Post(models.Model): ep_set_html(self.protocol_key, value) - request_logger.info( - "set etherpad for post %s id: %s", self.slug, self.protocol_key - ) + request_logger.info("set etherpad for post %s id: %s", self.slug, self.protocol_key) return value _agenda_filename = None @@ -305,9 +299,7 @@ class Post(models.Model): if self.event_end and self.event_end < self.event_start: raise ValidationError(_("Das Ende des Events liegt vor dem Beginn.")) if self.event_start and self.post_type not in ["E", "F"]: - raise ValidationError( - _("Für diesen Post Typ ist kein Event Start zulässig") - ) + raise ValidationError(_("Für diesen Post Typ ist kein Event Start zulässig")) @property def published(self): @@ -408,9 +400,7 @@ class FetMeeting(Event): if Post.objects.filter(slug=slug).exists(): if Post.objects.get(slug=slug).id != self.id: - raise ValidationError( - _("Es existiert bereits eine Sitzung mit demselben Datum.") - ) + raise ValidationError(_("Es existiert bereits eine Sitzung mit demselben Datum.")) return slug @@ -422,9 +412,7 @@ class FetMeeting(Event): class FileUpload(models.Model): title = models.CharField(verbose_name="Titel", max_length=200) - file_field = models.FileField( - verbose_name="Dokument", upload_to="uploads/posts/files/" - ) + file_field = models.FileField(verbose_name="Dokument", upload_to="uploads/posts/files/") post = models.ForeignKey(Post, on_delete=models.CASCADE) objects = models.Manager() diff --git a/fet2020/posts/serializers.py b/fet2020/posts/serializers.py index d9bf34c5..ddbcf533 100644 --- a/fet2020/posts/serializers.py +++ b/fet2020/posts/serializers.py @@ -28,7 +28,7 @@ class PostSerializer(serializers.HyperlinkedModelSerializer): "has_agenda", "has_protocol", "tag_string", - "imageurl" + "imageurl", # 'author', ] diff --git a/fet2020/posts/views.py b/fet2020/posts/views.py index bae1de90..4a997e8b 100644 --- a/fet2020/posts/views.py +++ b/fet2020/posts/views.py @@ -81,9 +81,7 @@ def calendar(request): "events": events, } - return render( - request, "posts/fet_calendar.ics", context, content_type="text/calendar" - ) + return render(request, "posts/fet_calendar.ics", context, content_type="text/calendar") def tags(request, tag=""): @@ -303,9 +301,7 @@ def show_pdf_protocol(request, id): def show_pdf(request, html, filename): - rendered = render_to_string( - settings.BASE_DIR + "/templates/posts/pdf/template.html" - ) + rendered = render_to_string(settings.BASE_DIR + "/templates/posts/pdf/template.html") # get body-content from pdf template rendered = rendered.split("")[1] diff --git a/fet2020/search/legacy.py b/fet2020/search/legacy.py index dee30ed4..1d7c0c2d 100644 --- a/fet2020/search/legacy.py +++ b/fet2020/search/legacy.py @@ -50,9 +50,9 @@ class SearchObject: self.url = res.get("_source", {}).get("url", "") self.text = res.get("_source", {}).get("text", "") self.raw = res.get("_source", {}).get("raw", "") - self.highlight = res.get("highlight", {}).get("title", [""]) + res.get( - "highlight", {} - ).get("text", [""]) + self.highlight = res.get("highlight", {}).get("title", [""]) + res.get("highlight", {}).get( + "text", [""] + ) def es_sorting():