From dc1327674c2676db02ccf525725019cd9115b699 Mon Sep 17 00:00:00 2001
From: Wookey
QMs found:') -# for QM in LogbookEntry.instance.QMs_found.all(): -# res.append(QM.wiki_link()) - -# res.append(r'
QMs ticked off:') -# for QM in LogbookEntry.instance.QMs_ticked_off.all(): -# res.append(QM.wiki_link()) - -# res.append(r'
People') -# for persontrip in LogbookEntry.instance.persontrip_set.all(): -# res.append(persontrip.wiki_link()) -# res.append(r'
') - -# return string.join(res, r'QMs found:') +# for QM in LogbookEntry.instance.QMs_found.all(): +# res.append(QM.wiki_link()) + +# res.append(r'
QMs ticked off:') +# for QM in LogbookEntry.instance.QMs_ticked_off.all(): +# res.append(QM.wiki_link()) + +# res.append(r'
People') +# for persontrip in LogbookEntry.instance.persontrip_set.all(): +# res.append(persontrip.wiki_link()) +# res.append(r'
') + +# return string.join(res, r'" - outValue += wiki_to_html_short(paragraph, autoescape) - outValue += "
\n" - return mark_safe(outValue) - -@register.filter() -@stringfilter -def wiki_to_html_short(value, autoescape=None): - """ - This is the tag which turns wiki syntax into html. It is intended for short pieces of wiki. - Hence it is not split the wiki into paragraphs using where it finds double line feeds. - """ - if autoescape: - value = conditional_escape(value) - #deescape doubly escaped characters - value = re.sub("&(.*?);", r"&\1;", value, re.DOTALL) - #italics and bold - value = re.sub("''''([^']+)''''", r"\1", value, re.DOTALL) - value = re.sub("'b''([^']+)'''", r"\1", value, re.DOTALL) - value = re.sub("''([^']+)''", r"\1", value, re.DOTALL) - - #make headers - def headerrepl(matchobj): - number=len(matchobj.groups()[0]) - num=str(number) - if number>1: - return '-
+
{{message}}
- -Other years: -{% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %} - {% ifequal otherpersonexpedition personexpedition %} - | {{otherpersonexpedition.expedition.year}} - {% else %} - | {{ otherpersonexpedition.expedition.year }} - {% endifequal %} -{% endfor %} -
- -Date | Trips | Surveys | ||||||
---|---|---|---|---|---|---|---|---|
{{persondate.0}} | - - {% if persondate.1 %} -{{persondate.1.logbook_entry.title|safe}} | -{{persondate.1.place|safe}} | - {% else %} -- {% endif %} - - {% if persondate.2 %} - | {{persondate.2}} | -- {% for survexpersonrole in persondate.2.survexpersonrole_set.all %} - {{survexpersonrole.nrole}} - {% endfor %} - | - {% else %} -- {% endif %} - - |
{{message}}
+ +Other years: +{% for otherpersonexpedition in personexpedition.person.personexpedition_set.all %} + {% ifequal otherpersonexpedition personexpedition %} + | {{otherpersonexpedition.expedition.year}} + {% else %} + | {{ otherpersonexpedition.expedition.year }} + {% endifequal %} +{% endfor %} +
+ +Date | Trips | Surveys | ||||||
---|---|---|---|---|---|---|---|---|
{{persondate.0}} | + + {% if persondate.1 %} +{{persondate.1.logbook_entry.title|safe}} | +{{persondate.1.place|safe}} | + {% else %} ++ {% endif %} + + {% if persondate.2 %} + | {{persondate.2}} | ++ {% for survexpersonrole in persondate.2.survexpersonrole_set.all %} + {{survexpersonrole.nrole}} + {% endfor %} + | + {% else %} ++ {% endif %} + + |
Person | First | Last | Notability |
---|---|---|---|
{{person|wiki_to_html_short}} | -{{ person.first.expedition.year }} | -{{ person.last.expedition.year }} | -{{person.notability}} | -
-
-
|
-{% endfor %}
-
Person | First | Last | Notability |
---|---|---|---|
{{person|wiki_to_html_short}} | +{{ person.first.expedition.year }} | +{{ person.last.expedition.year }} | +{{person.notability}} | +
+
+
|
+{% endfor %}
+
Please correct the errors below
-{% endif %} +{% extends "base.html" %} + +{% block content %} + + + +{% if form.errors %} +Please correct the errors below
+{% endif %} {% endblock %} \ No newline at end of file diff --git a/templates/profiles/edit_profile.html b/templates/profiles/edit_profile.html index 7e32597..a147160 100644 --- a/templates/profiles/edit_profile.html +++ b/templates/profiles/edit_profile.html @@ -1,13 +1,13 @@ -{% extends "base.html" %} - -{% block content %} - - - -{% if form.errors %} -Please correct the errors below
-{% endif %} +{% extends "base.html" %} + +{% block content %} + + + +{% if form.errors %} +Please correct the errors below
+{% endif %} {% endblock %} \ No newline at end of file diff --git a/templates/profiles/profile_detail.html b/templates/profiles/profile_detail.html index baf3fae..cf2fb76 100644 --- a/templates/profiles/profile_detail.html +++ b/templates/profiles/profile_detail.html @@ -1,14 +1,14 @@ -{% extends "base.html" %} - -{% block contentheader %} -Please correct the errors below
-{% endif %} +{% extends "base.html" %} + +{% block contentheader %} +Please correct the errors below
+{% endif %} {% endblock %} \ No newline at end of file diff --git a/templates/profiles/select_profile.html b/templates/profiles/select_profile.html index 810efd2..e18191b 100644 --- a/templates/profiles/select_profile.html +++ b/templates/profiles/select_profile.html @@ -1,40 +1,40 @@ -{% extends "base.html" %} - -{% block content %} - -Please correct the errors below
-{% endif %} +{% extends "base.html" %} + +{% block content %} + +Please correct the errors below
+{% endif %} {% endblock %} \ No newline at end of file diff --git a/templates/qm.html b/templates/qm.html index 6e2a2fb..f960197 100644 --- a/templates/qm.html +++ b/templates/qm.html @@ -1,49 +1,49 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% load link %} - -{% block title %} QM: {{qm|wiki_to_html_short}} {% endblock %} - -{% block editLink %}| Edit QM {{qm|wiki_to_html_short}}{% endblock %} - - - -{% block contentheader %} -Previous | -{{qm|wiki_to_html_short}} | -Next | -
---|
Previous | +{{qm|wiki_to_html_short}} | +Next | +
---|
-Hello, {{ account }}! Your account is now activated. Now you can log in with the password you chose. Use the links in the upper right to control this in the future. -
- --If you have been on the expedition in the past, you already have a profile in the system; click here to find it and link it to your account. Otherwise, please create yourself a new profile. -
-{% else %} - -The activation key you entered has already been used or was invalid. -{% endif %} +{% extends "base.html" %} + +{% block title %} +New troggle account registered +{% endblock %} + +{% block header %} ++Hello, {{ account }}! Your account is now activated. Now you can log in with the password you chose. Use the links in the upper right to control this in the future. +
+ ++If you have been on the expedition in the past, you already have a profile in the system; click here to find it and link it to your account. Otherwise, please create yourself a new profile. +
+{% else %} + +The activation key you entered has already been used or was invalid. +{% endif %} {% endblock %} diff --git a/templates/registration/activation_email.html b/templates/registration/activation_email.html index 3d56009..abb0ad1 100644 --- a/templates/registration/activation_email.html +++ b/templates/registration/activation_email.html @@ -1,10 +1,10 @@ -Hello {{ form.user }},
- -Glad you're joining the CUCC EXPO team! Please go to
- -{{ site }}{% url registration_activate activation_key %}
- -to activate your account. Do this within {{ expiration_days }} days, or else you'll have to sign up again.
- -Yours,
-The magical troggle
Hello {{ form.user }},
+ +Glad you're joining the CUCC EXPO team! Please go to
+ +{{ site }}{% url registration_activate activation_key %}
+ +to activate your account. Do this within {{ expiration_days }} days, or else you'll have to sign up again.
+ +Yours,
+The magical troggle
Your username and password didn't match. Please try again.
-{% endif %} - - - -{% endblock %} +{% extends "base.html" %} +{% load csrffaker %} + +{% block content %} + +{% if form.errors %} +Your username and password didn't match. Please try again.
+{% endif %} + + + +{% endblock %} diff --git a/templates/registration/logout.html b/templates/registration/logout.html index 9e40c20..ef2a3b2 100644 --- a/templates/registration/logout.html +++ b/templates/registration/logout.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} -{% block content %} - You have been logged out. +{% extends "base.html" %} +{% block content %} + You have been logged out. {% endblock %} \ No newline at end of file diff --git a/templates/registration/registration_activate.html b/templates/registration/registration_activate.html index cbd540e..6566bf4 100644 --- a/templates/registration/registration_activate.html +++ b/templates/registration/registration_activate.html @@ -1,6 +1,6 @@ -{% extends “base.html” %} -{% block body %} -Hello {{ account }}! - -Check your email to confirm the activation. There are {{ expiration_days }} days left to do it. +{% extends “base.html” %} +{% block body %} +Hello {{ account }}! + +Check your email to confirm the activation. There are {{ expiration_days }} days left to do it. {% endblock %} \ No newline at end of file diff --git a/templates/registration/registration_complete.html b/templates/registration/registration_complete.html index 78684fe..4dac94b 100644 --- a/templates/registration/registration_complete.html +++ b/templates/registration/registration_complete.html @@ -1,13 +1,13 @@ -{% extends "base.html" %} - -{% block title %} -{{ block.super }}: registration complete -{% endblock %} - -{% block contentheader %} -Thank you for signing up. An email with the activation code has been sent to your inbox.
+{% extends "base.html" %} + +{% block title %} +{{ block.super }}: registration complete +{% endblock %} + +{% block contentheader %} +Thank you for signing up. An email with the activation code has been sent to your inbox.
{% endblock %} \ No newline at end of file diff --git a/templates/statistics.html b/templates/statistics.html index 1fddd67..daca752 100644 --- a/templates/statistics.html +++ b/templates/statistics.html @@ -1,8 +1,8 @@ -{% extends "base.html" %} -{% load wiki_markup %} - -{% block title %}Database statistics{% endblock %} - -{% block content %} -Over the course of {{ expoCount }} expeditions, {{ personCount }} people have contributed {{ caveCount }} caves and {{ logbookEntryCount }} logbook entries. +{% extends "base.html" %} +{% load wiki_markup %} + +{% block title %}Database statistics{% endblock %} + +{% block content %} +Over the course of {{ expoCount }} expeditions, {{ personCount }} people have contributed {{ caveCount }} caves and {{ logbookEntryCount }} logbook entries. {% endblock %} \ No newline at end of file diff --git a/templates/subcave.html b/templates/subcave.html index fbb8d1d..41fb2d0 100644 --- a/templates/subcave.html +++ b/templates/subcave.html @@ -1,59 +1,59 @@ -{% extends "cavebase.html" %} -{% load wiki_markup %} -{% load mptt_tags %} -{% block title %} Subcave {{subcave}} {% endblock title %} -{% block editLink %}Edit subcave {{subcave|wiki_to_html_short}}{% endblock %} - -{% block contentheader %} - {{subcave.title}} -{% endblock contentheader %} - - - -{% block content %} -{% block related %} - -- {{subcave.description}} -
- +{% extends "cavebase.html" %} +{% load wiki_markup %} +{% load mptt_tags %} +{% block title %} Subcave {{subcave}} {% endblock title %} +{% block editLink %}Edit subcave {{subcave|wiki_to_html_short}}{% endblock %} + +{% block contentheader %} + {{subcave.title}} +{% endblock contentheader %} + + + +{% block content %} +{% block related %} + ++ {{subcave.description}} +
+ {% endblock content %} \ No newline at end of file diff --git a/templates/survexblock.html b/templates/survexblock.html index 31958c0..c4c1066 100644 --- a/templates/survexblock.html +++ b/templates/survexblock.html @@ -1,49 +1,49 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% load survex_markup %} - - -{% block title %}Survex Block{% endblock %} - -{% block content %} -Link to {{survexblock.survexfile.path}}
- -Needs duplicates removed from right hand column
-Needs links to survex file presentation
-Needs to start dealing with misspellings of names (prob by editing the originals)
- -Survey block above:
-{{survexblock.parent.survexpath}}
-{% endif %} - -{% if survexblock.survexblock_set.all %} -Survey blocks below:
- {% for survexblockdown in survexblock.survexblock_set.all %} -{{survexblockdown.survexpath}}
- {% endfor %} -{% endif %} - -Date: {{survexblock.date}}
- -{{personrole.person}} | -{{personrole.roles}} | -
Link to {{survexblock.survexfile.path}}
+ +Needs duplicates removed from right hand column
+Needs links to survex file presentation
+Needs to start dealing with misspellings of names (prob by editing the originals)
+ +Survey block above:
+{{survexblock.parent.survexpath}}
+{% endif %} + +{% if survexblock.survexblock_set.all %} +Survey blocks below:
+ {% for survexblockdown in survexblock.survexblock_set.all %} +{{survexblockdown.survexpath}}
+ {% endfor %} +{% endif %} + +Date: {{survexblock.date}}
+ +{{personrole.person}} | +{{personrole.roles}} | +
{{survexscansingle.name}} | -- {% for survexblock in survexscansingle.survexblock_set.all %} - {{survexblock}} - {% endfor %} - | -
{{survexblock}} | -
{{survexscansingle.name}} | ++ {% for survexblock in survexscansingle.survexblock_set.all %} + {{survexblock}} + {% endfor %} + | +
{{survexblock}} | +
Scans folder | Files | Survex blocks |
---|---|---|
{{survexscansfolder.walletname}} | -{{survexscansfolder.survexscansingle_set.all|length}} | -- {% for survexblock in survexscansfolder.survexblock_set.all %} - {{survexblock}} - {% endfor %} - | -
Scans folder | Files | Survex blocks |
---|---|---|
{{survexscansfolder.walletname}} | +{{survexscansfolder.survexscansingle_set.all|length}} | ++ {% for survexblock in survexscansfolder.survexblock_set.all %} + {{survexblock}} + {% endfor %} + | +
- {% for survey in current_expedition.survey_set.all %} - | {{ survey.wallet_number }} | - {% endfor %}
---|---|
Notes | - {% for survey in current_expedition.survey_set.all %} -{% if survey.notes %} - ✓ - {% endif %} | - {% endfor %}
Survex file | - {% for survey in current_expedition.survey_set.all %} -{% if survey.survex_file %} - ✓ - {% endif %} | - {% endfor %}
Plans | - {% for survey in current_expedition.survey_set.all %} -{% if survey.plans %} - ✓ - {% endif %} | - {% endfor %}
Elevations | - {% for survey in current_expedition.survey_set.all %} -{% if survey.elevations %} - ✓ - {% endif %} | - {% endfor %}
-
File at: {{ noteItem.file.name }}
- Scanned by: {{ noteItem.scanned_by }}
- On: {{ noteItem.scanned_on }}
-
-
File at: {{ sketchItem.file.name }}
- Scanned by: {{ sketchItem.scanned_by }}
- On: {{ sketchItem.scanned_on }}
-
+ {% for survey in current_expedition.survey_set.all %} + | {{ survey.wallet_number }} | + {% endfor %}
---|---|
Notes | + {% for survey in current_expedition.survey_set.all %} +{% if survey.notes %} + ✓ + {% endif %} | + {% endfor %}
Survex file | + {% for survey in current_expedition.survey_set.all %} +{% if survey.survex_file %} + ✓ + {% endif %} | + {% endfor %}
Plans | + {% for survey in current_expedition.survey_set.all %} +{% if survey.plans %} + ✓ + {% endif %} | + {% endfor %}
Elevations | + {% for survey in current_expedition.survey_set.all %} +{% if survey.elevations %} + ✓ + {% endif %} | + {% endfor %}
+
File at: {{ noteItem.file.name }}
+ Scanned by: {{ noteItem.scanned_by }}
+ On: {{ noteItem.scanned_on }}
+
+
File at: {{ sketchItem.file.name }}
+ Scanned by: {{ sketchItem.scanned_by }}
+ On: {{ sketchItem.scanned_on }}
+
-{% for survexdirectory in cave.survexdirectory_set.all %} - {{survexdirectory.path}} -{% endfor %} -
- -{% for survexdirectory in cave.survexdirectory_set.all %} -Survex file | Block | Date | Explorers | length | Titles | Scans |
---|---|---|---|---|---|---|
- {% else %} - | - {% endif %} - - {% ifequal survexfile survexdirectory.primarysurvexfile %} - {{survexfile.path}} - {% else %} - {{survexfile.path}} - {% endifequal %} - | -|||||
{{survexblock.name}} | -- {% if survexblock.expedition %} - {{survexblock.date}} - {% else %} - {{survexblock.date}} - {% endif %} - | - -- {% for personrole in survexblock.personrole_set.all %} - {% if personrole.personexpedition %} - {{personrole.personname}} - {% else %} - {{personrole.personname}} - {% endif %} - {% endfor %} - | - -{{survexblock.totalleglength}} | - -- {% for survextitle in survexblock.survextitle_set.all %} - {{survextitle.title}} - {% endfor %} - | - -- {% if survexblock.survexscansfolder %} - {{survexblock.survexscansfolder.walletname}} - {% endif %} - | -
+{% for survexdirectory in cave.survexdirectory_set.all %} + {{survexdirectory.path}} +{% endfor %} +
+ +{% for survexdirectory in cave.survexdirectory_set.all %} +Survex file | Block | Date | Explorers | length | Titles | Scans |
---|---|---|---|---|---|---|
+ {% else %} + | + {% endif %} + + {% ifequal survexfile survexdirectory.primarysurvexfile %} + {{survexfile.path}} + {% else %} + {{survexfile.path}} + {% endifequal %} + | +|||||
{{survexblock.name}} | ++ {% if survexblock.expedition %} + {{survexblock.date}} + {% else %} + {{survexblock.date}} + {% endif %} + | + ++ {% for personrole in survexblock.personrole_set.all %} + {% if personrole.personexpedition %} + {{personrole.personname}} + {% else %} + {{personrole.personname}} + {% endif %} + {% endfor %} + | + +{{survexblock.totalleglength}} | + ++ {% for survextitle in survexblock.survextitle_set.all %} + {{survextitle.title}} + {% endfor %} + | + ++ {% if survexblock.survexscansfolder %} + {{survexblock.survexscansfolder.walletname}} + {% endif %} + | +
Included files: -{% for svxinclude in svxincludes %} - {{svxinclude}} -{% endfor %} -
-{% endif %} - - - --{% for diffline in difflist %}{{diffline}} -{% endfor %} -- -{% if logmessage %} -{% if has_3d %} - -{% else %} -
No 3d file
-{% endif %} --LOGMESSAGES -{{logmessage}} --{% endif %} -
Included files: +{% for svxinclude in svxincludes %} + {{svxinclude}} +{% endfor %} +
+{% endif %} + + + ++{% for diffline in difflist %}{{diffline}} +{% endfor %} ++ +{% if logmessage %} +{% if has_3d %} + +{% else %} +
No 3d file
+{% endif %} ++LOGMESSAGES +{{logmessage}} ++{% endif %} +
caves with subdirectories | caves with multiple files | caves with single files
- -{{cavefiles.0.1}} | -- {% for cavepath, cavename in cavefiles.1 %} - {{cavename}} - {% endfor %} - | -
{{primarycavefile.1}} | -- {% for cavepath, cavename in subcavefiles %} - {{cavename}} - {% endfor %} - | -
Dates and explorers | Survex files |
---|---|
- {{primarycavefile.1}} - | -- {{primarycavefile.1}} - - {% for cavepath, cavename in subcavefiles %} - {{cavename}} - {% endfor %} - | -
-{% for cavepath, cavename in onefilecaves %} - {{cavename}} -{% endfor %} -
- -{% endblock %} +{% extends "base.html" %} +{% load wiki_markup %} +{% load link %} + +{% block title %}List of survex files{% endblock %} + +{% block content %} +caves with subdirectories | caves with multiple files | caves with single files
+ +{{cavefiles.0.1}} | ++ {% for cavepath, cavename in cavefiles.1 %} + {{cavename}} + {% endfor %} + | +
{{primarycavefile.1}} | ++ {% for cavepath, cavename in subcavefiles %} + {{cavename}} + {% endfor %} + | +
Dates and explorers | Survex files |
---|---|
+ {{primarycavefile.1}} + | ++ {{primarycavefile.1}} - + {% for cavepath, cavename in subcavefiles %} + {{cavename}} + {% endfor %} + | +
+{% for cavepath, cavename in onefilecaves %} + {{cavename}} +{% endfor %} +
+ +{% endblock %} diff --git a/templates/svxfiledifflistonly.html b/templates/svxfiledifflistonly.html index f51744e..835125b 100644 --- a/templates/svxfiledifflistonly.html +++ b/templates/svxfiledifflistonly.html @@ -1,18 +1,18 @@ -- using difflistonly.html -{% for diffline in difflist %}{{diffline}} -{% endfor %} -- -{% if logmessage %} -{% if has_3d %} - -{% else %} -
No 3d file
-{% endif %} --LOGMESSAGES -{{logmessage}} --{% endif %} - +
+ using difflistonly.html +{% for diffline in difflist %}{{diffline}} +{% endfor %} ++ +{% if logmessage %} +{% if has_3d %} + +{% else %} +
No 3d file
+{% endif %} ++LOGMESSAGES +{{logmessage}} ++{% endif %} + diff --git a/templates/tasks.html b/templates/tasks.html index a429bd5..36d35f4 100644 --- a/templates/tasks.html +++ b/templates/tasks.html @@ -1,39 +1,39 @@ -{% extends "base.html" %} -{% load wiki_markup %} -{% load link %} - -{% block title %}Cambridge Expeditions to Austria{% endblock %} - -{% block content %} -
Please see the issues tracker on google code. You can contribute new feature requests and bug reports.
- -Julian's work: -
parse 1992-1976 logbooks; (esp top 161)
-detect T/U on log entries;
-name matching and spelling in survex files;
-Improve logbook wikihtml text
- -Other work:
-surf through the tunnel sketches and images
-bugs with all.svx block (double dot) -
render bitmap view of every survex block as a thumbnail
-upload tunnel images and tunnel sketches
-where are the subcaves;
-cave section entrance match for logbook entries
-simplify the survex parsing code (if necessary);
-wiki survex stop linegap between comment lins
-links between logbooks and survex blocks to cave things;
-mini-tree of survexblocks;
-connect sketches to caves to survey blocks and render thumbnailwise;
-all images to start appearing in pages; and so on
- -Please see the issues tracker on google code. You can contribute new feature requests and bug reports.
+ +Julian's work: +
parse 1992-1976 logbooks; (esp top 161)
+detect T/U on log entries;
+name matching and spelling in survex files;
+Improve logbook wikihtml text
+ +Other work:
+surf through the tunnel sketches and images
+bugs with all.svx block (double dot) +
render bitmap view of every survex block as a thumbnail
+upload tunnel images and tunnel sketches
+where are the subcaves;
+cave section entrance match for logbook entries
+simplify the survex parsing code (if necessary);
+wiki survex stop linegap between comment lins
+links between logbooks and survex blocks to cave things;
+mini-tree of survexblocks;
+connect sketches to caves to survey blocks and render thumbnailwise;
+all images to start appearing in pages; and so on
+ +File | Font | SurvexBlocks | Size | Paths | Scans folder | Scan files | Frames |
---|---|---|---|---|---|---|---|
{{tunnelfile.tunnelpath}} | -{{tunnelfile.bfontcolours}} | -- | {{tunnelfile.filesize}} | -{{tunnelfile.npaths}} | - -- {% for survexscansfolder in tunnelfile.survexscansfolders.all %} - {{survexscansfolder.walletname}} - {% endfor %} - | - -- {% for survexscansingle in tunnelfile.survexscans.all %} - {{survexscansingle.name}} - {% endfor %} - | - -- {% for rtunnelfile in tunnelfile.tunnelcontains.all %} - {{rtunnelfile.tunnelpath}} - {% endfor %} - | - - -
File | Font | SurvexBlocks | Size | Paths | Scans folder | Scan files | Frames |
---|---|---|---|---|---|---|---|
{{tunnelfile.tunnelpath}} | +{{tunnelfile.bfontcolours}} | ++ | {{tunnelfile.filesize}} | +{{tunnelfile.npaths}} | + ++ {% for survexscansfolder in tunnelfile.survexscansfolders.all %} + {{survexscansfolder.walletname}} + {% endfor %} + | + ++ {% for survexscansingle in tunnelfile.survexscans.all %} + {{survexscansingle.name}} + {% endfor %} + | + ++ {% for rtunnelfile in tunnelfile.tunnelcontains.all %} + {{rtunnelfile.tunnelpath}} + {% endfor %} + | + + +