Commit 9c8b046a authored by Nicolas G.'s avatar Nicolas G.

Les détails du lieu des rencontres (fj+ponctu) sont intégrés dans le

message long avec une substitution de mots-clés.
parent 60c86c47
......@@ -55,10 +55,10 @@ class Ville(models.Model):
code = models.CharField(verbose_name=_("Raccourci"), help_text=_("Ce code est utilisé dans les URL. Les caractères autorisés sont des lettres, des chiffres et des tirets (-, _)"), validators=[RegexValidator("^[a-zA-Z0-9_-]*$")], max_length =30, unique=True, null=False)
nom = models.CharField(verbose_name=_("Nom complet"), max_length=30, unique=True, null=False)
message = tinymce_models.HTMLField(
verbose_name=_("Message long"), help_text=_("Apparaît sur la page de la rencontre."),
verbose_name=_("Message long"), help_text=_("Apparaît sur la page de la rencontre. Les mots-clés suivants peuvent êtres utilisés :<br>#LIEU_NOM : le nom du lieu<br>#LIEU_URL : l'URL vers la page du lieu<br>#LIEU_ADRESSE : adresse du lieu<br>#HEURE_DEBUT : début de l'évènement<br>#HEURE_FIN : Fin de l'évènement"),
)
description = tinymce_models.HTMLField(
verbose_name=_("Message plus court"), help_text=_("Apparaît sur le résumé."),
verbose_name=_("Message plus court"), help_text=_("Apparaît sur le résumé.")
)
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)
......
......@@ -55,16 +55,6 @@ function map_init_basic (map, options) {
{% leaflet_map "map" callback="window.map_init_basic" %}
<div class="lieu">
<strong>{{ ville.lieu|safe }}</strong>
{{ 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 %}
<p class="heure">{% trans "À partir de" %} {{ ville.debut }}</p>
{% endif %}
<p>{{ ville.message|safe }}</p>
<hr class="separation">
......
......@@ -79,6 +79,14 @@ def inscription(request, code):
# Pour la description de la ville :
ville = get_object_or_404(Ville, code=code)
ville.message = ville.message.replace(u"#LIEU_NOM",str(ville.lieu.nom))
ville.message = ville.message.replace(u"#LIEU_ADRESSE",str(ville.lieu.adresse))
ville.message = ville.message.replace(u"#LIEU_URL",'/lieu/' + str(ville.lieu.pk))
if ville.debut != None:
ville.message = ville.message.replace(u"#HEURE_DEBUT",ville.debut.strftime("%Hh%M"))
if ville.fin != None:
ville.message = ville.message.replace(u"#HEURE_FIN",ville.fin.strftime("%Hh%M"))
jr = (
(0,SU(ville.numweek)),
(1,MO(ville.numweek)),
......@@ -233,6 +241,14 @@ def adl(request, code):
jour = foo.strftime('%A %e %B %Y').capitalize() # sans (seulement sous *nix)
contact_adl = settings.ADMINS[0][1]
url = "http://" + request.META["SERVER_NAME"] + "/" + ville.code
ville.message = ville.message.replace(u"#LIEU_NOM",str(ville.lieu.nom))
ville.message = ville.message.replace(u"#LIEU_ADRESSE",str(ville.lieu.adresse))
ville.message = ville.message.replace(u"#LIEU_URL",'/lieu/' + str(ville.lieu.pk))
if ville.debut != None:
ville.message = ville.message.replace(u"#HEURE_DEBUT",ville.debut.strftime("%Hh%M"))
if ville.fin != None:
ville.message = ville.message.replace(u"#HEURE_FIN",ville.fin.strftime("%Hh%M"))
if request.method== 'POST':
form = AgendaForm(request.POST)
......@@ -279,6 +295,14 @@ def ical(request, code):
# Pour la description de la ville :
ville = get_object_or_404(Ville, code=code)
ville.message = ville.message.replace(u"#LIEU_NOM",str(ville.lieu.nom))
ville.message = ville.message.replace(u"#LIEU_ADRESSE",str(ville.lieu.adresse))
ville.message = ville.message.replace(u"#LIEU_URL",'/lieu/' + str(ville.lieu.pk))
if ville.debut != None:
ville.message = ville.message.replace(u"#HEURE_DEBUT",ville.debut.strftime("%Hh%M"))
if ville.fin != None:
ville.message = ville.message.replace(u"#HEURE_FIN",ville.fin.strftime("%Hh%M"))
jr = (
(0,SU(ville.numweek)),
(1,MO(ville.numweek)),
......@@ -296,29 +320,8 @@ def ical(request, code):
jour = foo.strftime("%Y%m%d")
veille = foo-datetime.timedelta(1)
veille.strftime("%Y%m%d")
#contact_adl = settings.ADMINS[0][1]
url = "http://" + request.META["SERVER_NAME"] + "/" + ville.code
#url = "http://" + "www.perdu.com/" + ville.code
return render(request, "ical.ics", locals(), content_type='text/calendar')
#class Flux(ICalFeed):
# """
# Export des évènements au format iCal
# """
# product_id = '-//Firstjeudi.org//Evenements//FR'
# timezone = 'UTC'
# file_name = "firstjeudi.ics"
#
# def items(self):
# return Rencontre.objects.all()
#
# def item_title(self, item):
# return item.nom
#
# def item_description(self, item):
# return item.description
#
# def item_start_datetime(self, item):
# return item.date
# ------- Page des statistiques ----------------
......
......@@ -41,7 +41,7 @@ class Rencontre(models.Model):
code = models.CharField(verbose_name=_("Raccourci"), help_text=_("Ce code est utilisé dans les URL. Les caractères autorisés sont des lettres, des chiffres et des tirets (-, _)"), validators=[RegexValidator("^[a-zA-Z0-9_-]*$")], max_length =30, unique=True, null=False)
nom = models.CharField(verbose_name=_("Nom complet"), max_length=30, unique=True, null=False)
message = tinymce_models.HTMLField(
verbose_name=_("Message long"), help_text=_("Apparaît sur la page de la Rencontre."),
verbose_name=_("Message long"), help_text=_("Apparaît sur la page de la Rencontre. Les mots-clés suivants peuvent êtres utilisés :<br>#LIEU_NOM : le nom du lieu<br>#LIEU_URL : l'URL vers la page du lieu<br>#LIEU_ADRESSE : adresse du lieu<br>#HEURE_DEBUT : début de l'évènement<br>#HEURE_FIN : Fin de l'évènement"),
)
description = tinymce_models.HTMLField(
verbose_name=_("Message plus court"), help_text=("Apparaît sur le résumé."),
......
......@@ -56,17 +56,8 @@ function map_init_basic (map, options) {
<div class="lieu">
<strong>{{ rencontre.lieu|safe }}</strong>
{{ 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 %}
<p class="heure">{% trans "À partir de" %} {{ rencontre.debut }}</p>
{% endif %}
<p>{{ rencontre.message|safe }}</p>
<hr class="separation">
{% if ok != True %}
......
......@@ -66,6 +66,15 @@ def inscription(request, code):
# Pour la description de la ville :
rencontre = get_object_or_404(Rencontre, code=code, date__gte=datetime.date.today())
# Substitution des mots-clés
rencontre.message = rencontre.message.replace(u"#LIEU_NOM",str(rencontre.lieu.nom))
rencontre.message = rencontre.message.replace(u"#LIEU_ADRESSE",str(rencontre.lieu.adresse))
rencontre.message = rencontre.message.replace(u"#LIEU_URL",'/lieu/' + str(rencontre.lieu.pk))
if rencontre.debut != None:
rencontre.message = rencontre.message.replace(u"#HEURE_DEBUT",rencontre.debut.strftime("%Hh%M"))
if rencontre.fin != None:
rencontre.message = rencontre.message.replace(u"#HEURE_FIN",rencontre.fin.strftime("%Hh%M"))
TropTard=False
if rencontre.debut:
......@@ -157,6 +166,15 @@ def adlxml(request, code):
# Pour la description de la rencontre
rencontre = get_object_or_404(Rencontre, code=code, date__gte=datetime.date.today())
# Substitution des mots-clés
rencontre.message = rencontre.message.replace(u"#LIEU_NOM",str(rencontre.lieu.nom))
rencontre.message = rencontre.message.replace(u"#LIEU_ADRESSE",str(rencontre.lieu.adresse))
rencontre.message = rencontre.message.replace(u"#LIEU_URL",'/lieu/' + str(rencontre.lieu.pk))
if rencontre.debut != None:
rencontre.message = rencontre.message.replace(u"#HEURE_DEBUT",rencontre.debut.strftime("%Hh%M"))
if rencontre.fin != None:
rencontre.message = rencontre.message.replace(u"#HEURE_FIN",rencontre.fin.strftime("%Hh%M"))
contact_adl = settings.ADMINS[0][1]
url = "http://" + request.META["SERVER_NAME"] + "/r/" + rencontre.code
#url = "http://" + "www.perdu.com/r/" + rencontre.code
......@@ -170,6 +188,16 @@ def adl(request, code):
# Pour la description de la rencontre
rencontre = get_object_or_404(Rencontre, code=code, date__gte=datetime.date.today())
# Substitution des mots-clés
rencontre.message = rencontre.message.replace(u"#LIEU_NOM",str(rencontre.lieu.nom))
rencontre.message = rencontre.message.replace(u"#LIEU_ADRESSE",str(rencontre.lieu.adresse))
rencontre.message = rencontre.message.replace(u"#LIEU_URL",'/lieu/' + str(rencontre.lieu.pk))
if rencontre.debut != None:
rencontre.message = rencontre.message.replace(u"#HEURE_DEBUT",rencontre.debut.strftime("%Hh%M"))
if rencontre.fin != None:
rencontre.message = rencontre.message.replace(u"#HEURE_FIN",rencontre.fin.strftime("%Hh%M"))
contact_adl = settings.ADMINS[0][1]
url = "http://" + request.META["SERVER_NAME"] + "/" + rencontre.code
......@@ -206,6 +234,15 @@ def ical(request, code):
# Pour la description
rencontre = get_object_or_404(Rencontre, code=code, date__gte=datetime.date.today())
# Substitution des mots-clés
rencontre.message = rencontre.message.replace(u"#LIEU_NOM",str(rencontre.lieu.nom))
rencontre.message = rencontre.message.replace(u"#LIEU_ADRESSE",str(rencontre.lieu.adresse))
rencontre.message = rencontre.message.replace(u"#LIEU_URL",'/lieu/' + str(rencontre.lieu.pk))
if rencontre.debut != None:
rencontre.message = rencontre.message.replace(u"#HEURE_DEBUT",rencontre.debut.strftime("%Hh%M"))
if rencontre.fin != None:
rencontre.message = rencontre.message.replace(u"#HEURE_FIN",rencontre.fin.strftime("%Hh%M"))
if rencontre.debut:
# On reconstitue la date/heure de l'évènement
debut = datetime.datetime(rencontre.date.year, rencontre.date.month, rencontre.date.day, rencontre.debut.hour, rencontre.debut.minute)
......
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