Commit 8d3b5cd4 authored by Nicolas G.'s avatar Nicolas G.

Page publique d'un lieu (dont l'URL peut être utilisée dans le courriel

de confirmation d'inscription)
parent 23bcb750
......@@ -52,6 +52,8 @@ urlpatterns = [
url('^r/', include('ponctu.urls')),
url('^lieu/', include('lieux.urls')),
# Flux iCal
#url(r'^flux$', Flux()),
......
......@@ -65,7 +65,7 @@ class Ville(models.Model):
email = models.TextField(
verbose_name=_("Message sur le courriel de confirmation d'inscription"),
default=_("Bonjour #PRENOM #NOM.\n\nVotre inscription a bien été prise en compte (pour #NB) :\n- Ville : #VILLE\n- Date : #DATE\n- Cette rencontre aura lieu à #LIEU\n- Adresse IP : #IP\n\nPour annuler votre inscription, vous pouvez cliquer sur le lien suivant : \n#URL_DEL"),
help_text=_("Les mots-clés suivants peuvent être utilisés :<br>#NOM : Nom de l'inscrit<br>#PRENOM : prénom de l'inscrit<br>#ASSO : Association<br>#VILLE : nom complet de la ville<br>#LIEU : Nom du lieu de la rencontre<br>#DATE : date de la rencontre<br>#HEURE_DEBUT : heure du début de la rencontre<br>#HEURE_FIN : heure de fin de la rencontre<br>#NB : nombre d'inscrit<br>#IP : adresse IP de l'inscrit<br>#URL_DEL : adresse de désinscription")
help_text=_("Les mots-clés suivants peuvent être utilisés :<br>#NOM : Nom de l'inscrit<br>#PRENOM : prénom de l'inscrit<br>#ASSO : Association<br>#VILLE : nom complet de la ville<br>#LIEU : Nom du lieu de la rencontre<br>#URL_LIEU : Lien vers les détails du lieu<br>#DATE : date de la rencontre<br>#HEURE_DEBUT : heure du début de la rencontre<br>#HEURE_FIN : heure de fin de la rencontre<br>#NB : nombre d'inscrit<br>#IP : adresse IP de l'inscrit<br>#URL_DEL : adresse de désinscription")
)
numday = models.IntegerField(verbose_name=_("Jour de la semaine"),null=False, choices=JOURS)
numweek = models.IntegerField(verbose_name=_("nième semaine du mois"),null=False, validators=[pas_de_zero, pas_plus_de_cinq])
......
......@@ -54,7 +54,10 @@ function map_init_basic (map, options) {
{% leaflet_map "map" callback="window.map_init_basic" %}
<div class="lieu">{{ ville.lieu.adresse|safe }}</div>
<div class="lieu">
{{ ville.lieu.adresse|safe }}
<p>{% if perms.lieux.change_lieu %}<a href="{% url "admin:lieux_lieu_change" ville.lieu.id %}">Modifier ce lieu</a>{% endif %}</p>
</div>
{% if ville.debut != None and ville.fin != None %}
<p class="heure">{% trans "De" %} {{ ville.debut }} {% trans "à" %} {{ ville.fin }}</p>
{% elif ville.debut != None and ville.fin == None %}
......
......@@ -143,6 +143,8 @@ def inscription(request, code):
corps = corps.replace(u"#ASSO",form.cleaned_data['asso'])
corps = corps.replace(u"#VILLE",ville.nom)
corps = corps.replace(u"#LIEU",ville.lieu.nom)
corps = corps.replace(u"#URL_LIEU",'http://' + url_fj + '/lieu/'
+ str(ville.lieu.pk))
corps = corps.replace(u"#DATE",humain)
corps = corps.replace(u"#HEURE_DEBUT",str(ville.debut))
corps = corps.replace(u"#HEURE_FIN",str(ville.fin))
......
......@@ -22,5 +22,6 @@ from lieux.models import Lieu
class LieuAdmin(LeafletGeoAdmin):
save_as = True
save_on_top = True
view_on_site = True
admin.site.register(Lieu, LieuAdmin)
......@@ -44,6 +44,8 @@ class Lieu(models.Model):
)
champGeo = PointField(verbose_name=_("Lieu"), help_text=_("Cliquer sur le marqueur puis cliquer sur la carte pour indiquer le lieu de l'évènement."))
zoom = models.FloatField(verbose_name=_("Zoom de la carte"), null=False, default=13, validators=[MinValueValidator(0), MaxValueValidator(19)])
def get_absolute_url(self):
return "/lieu/{0}".format(self.pk)
def __str__ (self):
return self.nom
class Meta:
......
from django.shortcuts import render
# Create your views here.
from django.views.generic.detail import DetailView
from lieux.models import Lieu
class LieuDetailView(DetailView):
model = Lieu
template_name = "lieu.html"
......@@ -46,7 +46,7 @@ class Rencontre(models.Model):
description = tinymce_models.HTMLField(
verbose_name=_("Message plus court"), help_text=("Apparaît sur le résumé."),
)
email = models.TextField(verbose_name=_("Message sur le courriel de confirmation d'inscription"),default=_("Bonjour #PRENOM #NOM.\n\nVotre inscription (pour #NB) a bien été prise en compte :\n- Rencontre : #RENCONTRE\n- Date : #DATE\n- Lieu : #LIEU\n- Adresse IP : #IP\n\nPour annuler votre inscription, vous pouvez cliquer sur le lien suivant : \n#URL_DEL"), help_text=_("Les mots-clés suivants peuvent être utilisés :<br>#NOM : Nom de l'inscrit<br>#PRENOM : prénom de l'inscrit<br>#ASSO : Association<br>#RENCONTRE : nom complet de la rencontre<br>#DATE : date de la rencontre<br>#HEURE_DEBUT : heure du début de la rencontre<br>#HEURE_FIN : heure de fin de la rencontre<br>#LIEU : Nom du lieu de la rencontre<br>#NB : nombre d'inscrit<br>#IP : adresse IP de l'inscrit<br>#URL_DEL : adresse de désinscription"))
email = models.TextField(verbose_name=_("Message sur le courriel de confirmation d'inscription"),default=_("Bonjour #PRENOM #NOM.\n\nVotre inscription (pour #NB) a bien été prise en compte :\n- Rencontre : #RENCONTRE\n- Date : #DATE\n- Lieu : #LIEU\n- Adresse IP : #IP\n\nPour annuler votre inscription, vous pouvez cliquer sur le lien suivant : \n#URL_DEL"), help_text=_("Les mots-clés suivants peuvent être utilisés :<br>#NOM : Nom de l'inscrit<br>#PRENOM : prénom de l'inscrit<br>#ASSO : Association<br>#RENCONTRE : nom complet de la rencontre<br>#DATE : date de la rencontre<br>#HEURE_DEBUT : heure du début de la rencontre<br>#HEURE_FIN : heure de fin de la rencontre<br>#LIEU : Nom du lieu de la rencontre<br>#URL_LIEU : Lien vers les détails du lieu de la rencontre<br>#NB : nombre d'inscrit<br>#IP : adresse IP de l'inscrit<br>#URL_DEL : adresse de désinscription"))
lieu = models.ForeignKey(Lieu, null=True, on_delete=models.PROTECT)
tag = models.CharField(verbose_name=_("Tags"), help_text=_("Utile pour la soumission à l'Agenda du Libre <br><em>Séparés par des espaces, ils ne peuvent contenir que des lettres minuscules, des chiffres et des tirets. Ajoutez le nom de la ou des organisations de l'événement, mais pas de la ville ou de la région.</em>"), max_length=364, null=True)
date = models.DateField(verbose_name=_("Date"),help_text=_('Saisissez donc la date !'), null=False)
......
......@@ -55,7 +55,9 @@ function map_init_basic (map, options) {
<div class="lieu">{{ rencontre.lieu.adresse|safe }}</div>
<div class="lieu">{{ rencontre.lieu.adresse|safe }}
<p>{% if perms.lieux.change_lieu %}<a href="{% url "admin:lieux_lieu_change" rencontre.lieu.id %}">Modifier ce lieu</a>{% endif %}</p>
</div>
{% if rencontre.debut != None and rencontre.fin != None %}
<p class="heure">{% trans "De" %} {{ rencontre.debut }} {% trans "à" %} {{ rencontre.fin }}</p>
{% elif rencontre.debut != None and rencontre.fin == None %}
......
......@@ -117,6 +117,9 @@ def inscription(request, code):
corps = corps.replace(u"#HEURE_FIN",str(rencontre.fin))
corps = corps.replace(u"#IP",adresse_ip + " " + v6)
corps = corps.replace(u"#LIEU",rencontre.lieu.nom)
corps = corps.replace(u"#URL_LIEU",'http://' + url_fj + '/lieu/'
+ str(rencontre.lieu.pk))
corps = corps.replace(u"#DATE",humain)
corps = corps.replace(u"#IP",adresse_ip + " " + v6)
corps = corps.replace(u"#URL_DEL",'http://' + url_fj + '/r/del/' +unique)
send_mail(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment