refactor1

This commit is contained in:
Andreas Stephanides
2017-08-28 09:08:47 +02:00
parent 699f4f6546
commit 630b982502
14 changed files with 274 additions and 230 deletions

View File

@@ -49,13 +49,16 @@ def store_value(id,key,value):
mth.opened=bool(value)
if key=="maintopic" and value in maintopic_values:
mth.maintopic=str(value)
if key=="lang" and value in maintopic_values:
if key=="lang" and value in ["de", "en"]:
mth.lang=str(value)
if key =="trained":
value = value in ["true", "True", "1", "t"]
mth.istrained=bool(value)
db_session.add(mth)
db_session.commit()
@app.route("/<int:id>")
def store_answered(id):

View File

@@ -0,0 +1,89 @@
{# -*-jinja2-*- #}
{% macro render_nav(m, maintopics) %}
<div class="nav">
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink1_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#">
{% if m.is_answered() %}
IS answered
{% else %}
ISNOT answered
{% endif %}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink1_{{m.firstmail}}">
<a class="btn" href="{{m.firstmail}}?key=answered&value={{(not m.is_answered())}}">
answered:{{(not m.is_answered())}}
</a>
</div>
</div>
<div class="dropdown nav-item">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink2_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#">
{{m.maintopic}}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink2_{{m.firstmail}}">
{% for t in maintopics %}
<a class="dropdown-item" href="{{m.firstmail}}?key=maintopic&value={{t}}">{{t}}</a>
{% endfor %}
</div>
</div>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink3_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {% if m.istrained %}
IS trained
{% else %}
ISNOT trained
{% endif %}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink3_{{m.firstmail}}">
<a class="btn" href="{{m.firstmail}}?key=trained&value={{(not m.istrained)}}">TRAINED:{{(not m.istrained)}}</a>
</div>
</div>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink4_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {{ m.lang }}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink3_{{m.firstmail}}">
{% for l in ["de", "en"] %}
<a class="btn" href="{{m.firstmail}}?key=lang&value={{l}}">{{(l)}}</a>
{% endfor %}
</div>
</div>
</div>
{% endmacro %}
{% macro render_inline_thread(m, maintopics) %}
<div class="card card-thread answ-{{m.is_answered()}} trained-{{m.istrained}}">
<div class="" role="tab" id="heading{{m.firstmail}}">
<b class="mb-0">
<a data-toggle="collapse"
data-parent="#accordion"
href="#collapse{{m.firstmail}}"
aria-expanded="true" aria-controls="collapse1"
>
{% if m.istrained %} trained: {% endif %} {{m.tstr()}}
</a>
</b>
</div>
<div id="collapse{{m.firstmail}}"
class="collapse {{'show' if m.firstmail==opened}}"
role="tabpanel"
aria-labelledby="headingOne"
>
<div class="card-block">
{{render_nav(m,maintopics) }}
</div>
{% for (h,txt) in m.print_mail() %}
<div> {{h}}</div>
<div class="textbox"> {{ txt }} </div>
{% endfor %}
</div>
</div>
{% endmacro %}

View File

@@ -1,104 +1,45 @@
{# -*-jinja2-*- #}
{% from "_macros.html" import render_inline_thread %}
{% extends "layout.html" %}
{% block header %}
<style>
.card.answ-1,.card.answ-True {
background: lightgreen;
}
.card.trained-1,.card.trained-True {
border: solid blue;
}
.card.card-thread {
padding-top: 2pt;
padding-bottom:2pt;
border-radius:0;
margin-top:1pt;
margin-bottom:1pt
}
div.textbox {
white-space: pre-wrap;
font:Courier, monospace;
font-size:small;
width:50em;
border: thin blue solid;
}
</style>
{% endblock %}
<html>
<head>
<title>{{title}}</title>
<script src="/static/jquery-3.2.0.min.js" ></script>
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css"/>
<script src="/static/bootstrap/js/bootstrap.min.js" ></script>
</head>
<body>
<style>
.card.answ-1,.card.answ-True {
background: lightgreen;
}
.card.trained-1,.card.trained-True {
border: solid blue;
}
</style>
<div class="container">
<div class="row">
<div class="col-12">
<h1>{{title}}</h1>
<div id="accordion" role="tablist" aria-multiselectable="true">
{% for m in mths %}
<div class="card answ-{{m.is_answered()}} trained-{{m.istrained}}" style="padding-top: 2pt; padding-bottom:2pt; border-radius:0;margin-top:1pt; margin-bottom:1pt">
<div class="" role="tab" id="heading{{m.firstmail}}">
<b class="mb-0">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse{{m.firstmail}}" aria-expanded="true" aria-controls="collapse1">
{% if m.istrained %} trained: {% endif %} {{m.tstr()}}
</a>
</b>
</div>
{% block content %}
<div class="container">
<div class="row">
<div class="col-12">
<div id="collapse{{m.firstmail}}" class="collapse {{'show' if m.firstmail==opened}}" role="tabpanel" aria-labelledby="headingOne">
<div class="card-block">
<div class="nav">
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink1_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {% if m.is_answered() %}
IS answered
{% else %}
ISNOT answered
{% endif %}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink1_{{m.firstmail}}">
<h1>{{title}}</h1>
<a class="btn" href="{{m.firstmail}}?key=answered&value={{(not m.is_answered())}}">answered:{{(not m.is_answered())}}</a>
</div>
</div>
<div class="dropdown nav-item">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink2_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {{m.maintopic}}</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink2_{{m.firstmail}}">
{% for t in maintopics %}
<a class="dropdown-item" href="{{m.firstmail}}?key=maintopic&value={{t}}">{{t}}</a>
{% endfor %}
</div>
</div>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink3_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {% if m.istrained %}
IS trained
{% else %}
ISNOT trained
{% endif %}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink3_{{m.firstmail}}">
<a class="btn" href="{{m.firstmail}}?key=trained&value={{(not m.istrained)}}">TRAINED:{{(not m.istrained)}}</a>
</div>
</div>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdownMenuLink4_{{m.firstmail}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#"> {{ m.lang }}
</a>
<div class="dropdown-menu" arialabelledby="dropdownMenuLink3_{{m.firstmail}}">
{% for l in ["de", "en"] %}
<a class="btn" href="{{m.firstmail}}?key=lang&value={{l}}">{{(l)}}</a>
{% endfor %}
</div>
</div>
</div>
</div>
{% for txt in m.print_text() %}
<div style="white-space: pre-wrap;font:Courier, monospace; font-size:small; width:50em; border: thin blue solid;">
{{ txt }}
</div>
{% endfor %}
</div>
</div>
<div id="accordion" role="tablist" aria-multiselectable="true">
{% for m in mths %}
{{ render_inline_thread(m, maintopics) }}
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</body>
</div>
{% endblock %}

View File

@@ -0,0 +1,17 @@
{# -*-jinja2-*- #}
<html>
<head>
<title>{{title}}</title>
<script src="/static/jquery-3.2.0.min.js" ></script>
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css"/>
<script src="/static/bootstrap/js/bootstrap.min.js" ></script>
{% block header %}
{% endblock %}
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>