Browse Source

Úprava verejne_url a absolute_url

middleware_test
Jonas Havelka 3 years ago
parent
commit
cd399ad4c1
  1. 15
      seminar/models.py
  2. 2
      seminar/views/views_all.py

15
seminar/models.py

@ -12,7 +12,7 @@ from django.utils import timezone
from django.conf import settings from django.conf import settings
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.text import slugify from django.utils.text import slugify
from django.urls import reverse from django.urls import reverse, reverse_lazy
from django.core.cache import cache from django.core.cache import cache
from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
@ -46,7 +46,7 @@ class SeminarModelBase(models.Model):
return False return False
# def get_absolute_url(self): # def get_absolute_url(self):
# return self.verejne_url() # TODO "absolute" # return "https://" + str(get_current_site(None)) + self.verejne_url()
def admin_url(self): def admin_url(self):
model_name = self.__class__.__name__.lower() model_name = self.__class__.__name__.lower()
@ -575,6 +575,9 @@ class Cislo(SeminarModelBase):
def verejne_url(self): def verejne_url(self):
return reverse('seminar_cislo', kwargs={'rocnik': self.rocnik.rocnik, 'cislo': self.poradi}) return reverse('seminar_cislo', kwargs={'rocnik': self.rocnik.rocnik, 'cislo': self.poradi})
def absolute_url(self):
return "https://" + str(get_current_site(None)) + self.verejne_url()
def nasledujici(self): def nasledujici(self):
"Vrací None, pokud je toto poslední" "Vrací None, pokud je toto poslední"
return self.relativni_v_rocniku(1) return self.relativni_v_rocniku(1)
@ -643,7 +646,7 @@ class Cislo(SeminarModelBase):
def posli_cislo_mailem(self): def posli_cislo_mailem(self):
# parametry e-mailu # parametry e-mailu
odkaz = "https://" + str(get_current_site(None)) + self.verejne_url() odkaz = self.absolute_url()
poslat_z_mailu = 'zadani@mam.mff.cuni.cz' poslat_z_mailu = 'zadani@mam.mff.cuni.cz'
predmet = 'Vyšlo číslo {}'.format(self.kod()) predmet = 'Vyšlo číslo {}'.format(self.kod())
@ -1115,6 +1118,12 @@ class Reseni(SeminarModelBase):
zverejneno = models.BooleanField('řešení zveřejněno', default=False, zverejneno = models.BooleanField('řešení zveřejněno', default=False,
help_text='Udává, zda je řešení zveřejněno') help_text='Udává, zda je řešení zveřejněno')
def verejne_url(self):
return str(reverse_lazy('odevzdavatko_detail_reseni', args=[self.object.id]))
def absolute_url(self):
return "https://" + str(get_current_site(None)) + self.verejne_url()
# má OneToOneField s: # má OneToOneField s:
# Konfera # Konfera

2
seminar/views/views_all.py

@ -1103,7 +1103,7 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
send_mail( send_mail(
subject="Nové řešení k " + seznam_do_subjectu, subject="Nové řešení k " + seznam_do_subjectu,
message=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í: { 'https://%s%s' % (str(get_current_site(self.request)), str(reverse_lazy('odevzdavatko_detail_reseni', args=[self.object.id]))) }", message=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="submitovatko@mam.mff.cuni.cz", # FIXME: Chceme to mít radši tady, nebo v nastavení?
recipient_list=list(prijemci), recipient_list=list(prijemci),
) )

Loading…
Cancel
Save