make links clickable in task descriptions #23
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import re
|
||||
from flask import Flask, render_template, redirect, url_for, request, flash
|
||||
from flask_migrate import Migrate
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
@@ -195,7 +196,7 @@ def events():
|
||||
events = Event.query.all()
|
||||
periods = Period.query.all()
|
||||
|
||||
return render_template('events.html', events=events, periods=periods, datetime=datetime, date=date, ZoneInfo=ZoneInfo)
|
||||
return render_template('events.html', events=events, periods=periods, datetime=datetime, date=date, ZoneInfo=ZoneInfo, re=re)
|
||||
|
||||
@app.route('/event/edit/<int:event_id>/', methods=('GET', 'POST'))
|
||||
@login_required
|
||||
@@ -218,13 +219,13 @@ def editEvent(event_id):
|
||||
@login_required
|
||||
def tasks():
|
||||
tasks = Task.query.all()
|
||||
return render_template('tasks.html', str=str, tasks=tasks, datetime=datetime, date=date)
|
||||
return render_template('tasks.html', str=str, tasks=tasks, datetime=datetime, date=date, re=re)
|
||||
|
||||
@app.route('/task/<int:task_id>/')
|
||||
@login_required
|
||||
def task(task_id):
|
||||
task = Task.query.get_or_404(task_id)
|
||||
return render_template('task.html', str=str, task=task, datetime=datetime, date=date)
|
||||
return render_template('task.html', str=str, task=task, datetime=datetime, date=date, re=re)
|
||||
|
||||
@app.route('/task/new', methods=('GET', 'POST'))
|
||||
@login_required
|
||||
|
@@ -21,7 +21,17 @@
|
||||
</b>
|
||||
<div>
|
||||
{% if event.tasks.description != None %}
|
||||
<p>{{ event.tasks.description }}</p>
|
||||
{% set description = event.tasks.description %}
|
||||
{% set url_regex = '(https?://[^\s]+)' %}
|
||||
|
||||
{% set match = re.search(url_regex, description) %}
|
||||
{% if match %}
|
||||
{% set url = match.group(0) %}
|
||||
{% set rest = description[match.end(0):] %}
|
||||
<p>{{ description[:match.start(0)] }}<a href="{{ url }}">{{ url }}</a>{{ rest }}</p>
|
||||
{% else %}
|
||||
<p>{{ description }}</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
|
@@ -9,7 +9,17 @@
|
||||
<div>
|
||||
<br>
|
||||
{% if task.description != None %}
|
||||
<p>{{ task.description }}</p>
|
||||
{% set description = task.description %}
|
||||
{% set url_regex = '(https?://[^\s]+)' %}
|
||||
|
||||
{% set match = re.search(url_regex, description) %}
|
||||
{% if match %}
|
||||
{% set url = match.group(0) %}
|
||||
{% set rest = description[match.end(0):] %}
|
||||
<p>{{ description[:match.start(0)] }}<a href="{{ url }}">{{ url }}</a>{{ rest }}</p>
|
||||
{% else %}
|
||||
<p>{{ description }}</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
|
@@ -12,7 +12,17 @@
|
||||
</a>
|
||||
<b>
|
||||
{% if task.description != None %}
|
||||
{{ task.description }}
|
||||
{% set description = task.description %}
|
||||
{% set url_regex = '(https?://[^\s]+)' %}
|
||||
|
||||
{% set match = re.search(url_regex, description) %}
|
||||
{% if match %}
|
||||
{% set url = match.group(0) %}
|
||||
{% set rest = description[match.end(0):] %}
|
||||
<p>{{ description[:match.start(0)] }}<a href="{{ url }}">{{ url }}</a>{{ rest }}</p>
|
||||
{% else %}
|
||||
<p>{{ description }}</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</b>
|
||||
<div>
|
||||
|
Reference in New Issue
Block a user