Vytáhnuty konstanty do settings_common.py
(Takže teď lze jednoduše měnit e-maily a také testovací data (settings_local.py) nemusí mít 30 ročníků pro otestování zlomů)
This commit is contained in:
parent
206d37e21c
commit
cb924f846f
9 changed files with 28 additions and 14 deletions
|
@ -1,3 +1,4 @@
|
|||
from django.conf import settings
|
||||
from django.contrib import admin
|
||||
from reversion.admin import VersionAdmin
|
||||
from korektury.models import KorekturovanePDF
|
||||
|
@ -40,8 +41,8 @@ class KorekturovanePDFAdmin(VersionAdmin):
|
|||
super().save_model(request, obj, form, change)
|
||||
if not change and obj.poslat_mail: # Je nový a má se poslat mail
|
||||
odkaz = request.build_absolute_uri(reverse('korektury', kwargs={'pdf': obj.id}))
|
||||
odesilatel = 'korekturovatko-nove-pdf@mam.mff.cuni.cz'
|
||||
prijemce = 'org@mam.mff.cuni.cz'
|
||||
odesilatel = settings.KOREKTURY_NOVE_PDF_EMAIL
|
||||
prijemce = settings.KONFERA_ORGOVE_EMAIL
|
||||
predmet = f'Nové korektury: {obj.nazev}'
|
||||
text = f'''\
|
||||
V korekturovátku se objevil nový soubor: {obj.nazev}
|
||||
|
|
|
@ -161,7 +161,7 @@ class KorekturyView(generic.TemplateView):
|
|||
from django.urls import reverse
|
||||
odkaz = self.request.build_absolute_uri(reverse('korektury', kwargs={'pdf': oprava.pdf.pk}))
|
||||
odkaz = f"{odkaz}#op{oprava.id}-pointer"
|
||||
from_email = 'korekturovatko@mam.mff.cuni.cz'
|
||||
from_email = settings.KOREKTURY_EMAIL
|
||||
subject = 'Nová korektura od {} v {}'.format(autor, oprava.pdf.nazev)
|
||||
texty = [(oprava.autor.osoba.plne_jmeno(),oprava.text)]
|
||||
for kom in Komentar.objects.filter(oprava=oprava):
|
||||
|
|
|
@ -155,7 +155,18 @@ CISLO_IMG_DIR = os.path.join('cislo', 'img')
|
|||
|
||||
|
||||
# MaM-specifické konstanty
|
||||
# TODO (e-maily atd.)
|
||||
ROCNIK_ZRUSENI_TEMAT = 25
|
||||
ROCNIK_INFLACE_BODU = 25
|
||||
ROCNIK_INFLACE_TITULU = 26
|
||||
#
|
||||
NOVE_CISLO_EMAIL = 'zadani@mam.mff.cuni.cz'
|
||||
NOVE_RESENI_EMAIL = 'submitovatko@mam.mff.cuni.cz'
|
||||
KOREKTURY_NOVE_PDF_EMAIL = 'korekturovatko-nove-pdf@mam.mff.cuni.cz'
|
||||
KOREKTURY_EMAIL = 'korekturovatko@mam.mff.cuni.cz'
|
||||
REGISTRACE_EMAIL = 'registrace@mam.mff.cuni.cz'
|
||||
PASSWD_RESET_EMAIL = 'login@mam.mff.cuni.cz'
|
||||
#
|
||||
KONFERA_ORGOVE_EMAIL = 'org@mam.mff.cuni.cz'
|
||||
|
||||
|
||||
# CKEditor = WYSIWYG html editor
|
||||
|
|
|
@ -10,6 +10,7 @@ from django.shortcuts import redirect, get_object_or_404, render
|
|||
from django.urls import reverse
|
||||
from django.db import transaction
|
||||
from django.db.models import Q
|
||||
from django.conf import settings
|
||||
|
||||
from dataclasses import dataclass
|
||||
import datetime
|
||||
|
@ -503,7 +504,7 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
|
|||
EmailMessage(
|
||||
subject="Nové řešení k " + seznam_do_subjectu,
|
||||
body=f"Řešitel{ '' if resitel.pohlavi_muz else 'ka' } { resitel } právě nahrál{'' if resitel.pohlavi_muz else 'a' } nové řešení k { seznam }.\n\nHurá do opravování: { self.object.absolute_url() }",
|
||||
from_email="submitovatko@mam.mff.cuni.cz", # FIXME: Chceme to mít radši tady, nebo v nastavení?
|
||||
from_email=settings.NOVE_RESENI_EMAIL,
|
||||
to=list(prijemci),
|
||||
).send()
|
||||
|
||||
|
|
|
@ -302,7 +302,7 @@ class Resitel(SeminarModelBase):
|
|||
# - proto se započítávají dvojnásobně a byly posunuté hranice titulů
|
||||
# - staré tituly se ale nemají odebrat, pokud řešitel v t.č. minulém (26.) ročníku měl titul, má ho mít pořád.
|
||||
from odevzdavatko.models import Hodnoceni
|
||||
hodnoceni_do_25_rocniku = Hodnoceni.objects.filter(deadline_body__cislo__rocnik__rocnik__lte=25,reseni__in=self.reseni_set.all())
|
||||
hodnoceni_do_25_rocniku = Hodnoceni.objects.filter(deadline_body__cislo__rocnik__rocnik__lte=settings.ROCNIK_INFLACE_BODU,reseni__in=self.reseni_set.all())
|
||||
novejsi_hodnoceni = Hodnoceni.objects.filter(reseni__in=self.reseni_set.all()).difference(hodnoceni_do_25_rocniku)
|
||||
|
||||
def body_z_hodnoceni(hh : list):
|
||||
|
@ -340,7 +340,7 @@ class Resitel(SeminarModelBase):
|
|||
return Titul.akad
|
||||
|
||||
from odevzdavatko.models import Hodnoceni
|
||||
hodnoceni_do_26_rocniku = Hodnoceni.objects.filter(deadline_body__cislo__rocnik__rocnik__lte=26,reseni__in=self.reseni_set.all())
|
||||
hodnoceni_do_26_rocniku = Hodnoceni.objects.filter(deadline_body__cislo__rocnik__rocnik__lte=settings.ROCNIK_INFLACE_TITULU,reseni__in=self.reseni_set.all())
|
||||
novejsi_body = body_z_hodnoceni(
|
||||
Hodnoceni.objects.filter(reseni__in=self.reseni_set.all())
|
||||
.difference(hodnoceni_do_26_rocniku)
|
||||
|
|
|
@ -267,7 +267,7 @@ class Cislo(SeminarModelBase):
|
|||
# parametry e-mailu
|
||||
odkaz = self.absolute_url()
|
||||
|
||||
poslat_z_mailu = 'zadani@mam.mff.cuni.cz'
|
||||
poslat_z_mailu = settings.NOVE_CISLO_EMAIL
|
||||
predmet = 'Vyšlo číslo {}'.format(self.kod())
|
||||
# TODO Možná nechceme všem psát „Ahoj“, např. příjemcům…
|
||||
text_mailu = 'Ahoj,\n' \
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from django.conf import settings
|
||||
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||
from django.contrib.sites.shortcuts import get_current_site
|
||||
from django.urls import reverse_lazy
|
||||
|
@ -27,5 +28,5 @@ Organizátoři M&M
|
|||
Tento e-mail byl vygenerován automaticky, chceš-li nás kontaktovat, napiš nám na adresu mam@matfyz.cz.
|
||||
""" % url,
|
||||
# TODO: templates/autentizace a django/contrib/auth/forms.py říkají, jak na to lépe
|
||||
from_email="registrace@mam.mff.cuni.cz", # FIXME: Chceme to mít radši tady, nebo v nastavení?
|
||||
)
|
||||
from_email=settings.REGISTRACE_EMAIL,
|
||||
)
|
||||
|
|
|
@ -33,7 +33,7 @@ class PasswordResetView(auth_views.PasswordResetView):
|
|||
""" Chci resetovat heslo. """
|
||||
template_name = 'autentizace/reset_hesla.html'
|
||||
success_url = reverse_lazy('reset_password_done')
|
||||
from_email = 'login@mam.mff.cuni.cz'
|
||||
from_email = settings.PASSWD_RESET_EMAIL
|
||||
email_template_name = 'autentizace/password_reset_email.html'
|
||||
subject_template_name = 'autentizace/password_reset_subject.txt'
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@ import abc
|
|||
from functools import cached_property
|
||||
from typing import Union, Iterable # TODO: s pythonem 3.10 přepsat na '|'
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from tvorba.models import Rocnik, Cislo, Deadline, Problem, Clanek
|
||||
from odevzdavatko.models import Hodnoceni
|
||||
from personalni.models import Resitel
|
||||
|
@ -9,8 +11,6 @@ from soustredeni.models import Konfera
|
|||
from django.db.models import Q, Sum
|
||||
from personalni.utils import resi_v_rocniku
|
||||
|
||||
ROCNIK_ZRUSENI_TEMAT = 25
|
||||
|
||||
|
||||
class FixedIterator:
|
||||
def next(self):
|
||||
|
@ -351,7 +351,7 @@ class VysledkovkaCisla(Vysledkovka):
|
|||
|
||||
@cached_property
|
||||
def temata_a_spol(self) -> list[Problem]:
|
||||
if self.rocnik.rocnik < ROCNIK_ZRUSENI_TEMAT:
|
||||
if self.rocnik.rocnik < settings.ROCNIK_ZRUSENI_TEMAT:
|
||||
return self.hlavni_problemy
|
||||
else:
|
||||
return list(filter(self.ne_clanek_ne_konfera, self.hlavni_problemy))
|
||||
|
|
Loading…
Reference in a new issue