first commit

This commit is contained in:
2020-07-13 01:07:56 +02:00
commit 6cdf4d5197
28 changed files with 2124 additions and 0 deletions

56
templates/base.html Normal file
View File

@ -0,0 +1,56 @@
<!DOCTYPE html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8" />
<title>{% block title %}{% endblock %} - UPCT</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#fafafa" />
<link rel="manifest" href="site.webmanifest" />
<link rel="apple-touch-icon" href="icon.png" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='css/normalize.css') }}" />
<link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='css/main.css') }}" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous" />
<script src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='js/plugins.js') }}"></script>
</head>
<body>
<!--[if IE]>
<p class="browserupgrade">
You are using an <strong>outdated</strong> browser. Please
<a href="https://browsehappy.com/">upgrade your browser</a> to improve
your experience and security.
</p>
<![endif]-->
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
<h5 class="my-0 mr-md-auto font-weight-normal">SDC Lifecycle 0.1</h5>
<nav class="nav-item">
<a class="nav-link" href="https://download.med.upct.es">🗄️ Obtener Datos</a>
</nav>
</div>
<div class="alert alert-danger" role="alert">
Tool is in heavy development.
</div>
{% block content %}{% endblock %}
</body>
</html>

11
templates/error.html Normal file
View File

@ -0,0 +1,11 @@
{% extends "base.html" %}
{% block title %}ERROR{% endblock %}
{% block content %}
<div class="container">
<div class="card-deck mb-3 text-center"></div>
<h3>ERROR en la subida</h3>
</div>
{% endblock %}

22
templates/regenerate.html Normal file
View File

@ -0,0 +1,22 @@
{% extends "base.html" %}
{% block title %}DONE{% endblock %}
{% block content %}
<div class="container">
<div class="card-deck mb-3 text-center"></div>
<h3>Control de calidad aplicado. </h3>
<!-- Printing errors -->
<table class="table">
{% for error in error_list %}
<tr>
<td>{{ error[0] }}</td>
<td>{{ error[1] }}</td>
</tr>
{% endfor %}
</table>
</div>
{% endblock %}

33
templates/successful.html Normal file
View File

@ -0,0 +1,33 @@
{% extends "base.html" %}
{% block title %}OK{% endblock %}
{% block content %}
<div class="container">
<div class="card-deck mb-3 text-center">
<div class="card">
<div class="alert alert-success text-center" role="alert">
Datos subidos con exito
</div>
<div class="card-body">
<a href="/" type="button" class="btn btn-outline-success btn-block"
style="margin-bottom: 50px">Volver</a>
<a href="{{ url }}" type="button" class="btn btn-outline-primary btn-block">Descargar Archivo</a>
<a class="btn btn-outline-info btn-block" data-toggle="collapse" href="#collapseExample" role="button"
aria-expanded="false" aria-controls="collapseExample">
Mostrar tabla
</a>
<div class="collapse" id="collapseExample">
<div class="card card-body">
{{ tables|safe }}
</div>
</div>
</div> <!-- End Card-body -->
</div> <!-- End Card -->
</div> <!-- End Card-deck -->
</div> <!-- End Container-->
{% endblock %}

127
templates/upload.html Normal file
View File

@ -0,0 +1,127 @@
{% extends "base.html" %}
{% block title %}Subida{% endblock %}
{% block content %}
<!-- Row Header -->
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">Sensores</h1>
</div>
<div class="container">
<div class="card-deck mb-3 text-center"></div>
<!-- Sensors row -->
<div class="row">
{% for i in probes %}
<div class="col-sm">
<div class="card mb-4 shadow-sm">
<div class="card-header">
<h4 class="my-0 font-weight-normal">{{ i.sensor }}</h4>
</div>
<div class="card-body">
<div class="text-center">
<img src="{{ url_for('static',filename='img/'+i.img) }}" class="rounded" alt="..."
height="200px" width="200px" />
</div>
</div>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#upload{{i.sensor}}">
Subir datos
</button>
</div>
</div>
{% endfor%}
</div>
<!-- Setting up the modal foreach probe -->
{% for i in probes %}
<div class="modal fade" id="upload{{i.sensor}}" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Subir datos de {{ i.sensor }}</h4>
<button type="button" class="close" data-dismiss="modal">
&times;
</button>
</div>
<div class="modal-body">
<!-- Modal header -->
<div class="upload-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h2 class="display-5">{{ i.sensor }}</h2>
</div>
<div class="container">
<div class="text-center">
<!-- Modal form -->
<form class="list-group list-group-flush" action="{{pagename}}/uploader" method="POST"
enctype="multipart/form-data">
<!-- File input -->
<div class="list-group-item" style="padding-left: 50px;">
<input type="file" class="form-control-file" name="file" />
</div>
<!-- Sensor select -->
<div class="form-group required" style="padding-top: 10px;">
<label class="form-check-label" for="activeProbe" style="padding-left: 5px;">Escoge
el sensor utilizado</label>
<select name="activeProbe" id="activeProbe">
{% for j in i.active %}
<option value="{{ j }}">{{ j }}</option>
{% endfor %}
</select>
</div>
<!-- Force station -->
<div class="form-group">
<input class="form-check-input" type="checkbox" name="forceStation{{i.sensor}}"
id="forceStation{{i.sensor}}"
onchange="toggleSelect('forceStation{{i.sensor}}', 'stations{{i.sensor}}')">
<label class="form-check-label" for="forceStation{{i.sensor}}"
style="padding-left: 5px;">
Forzar estación
</label>
<label class="form-check-label" for="stations{{i.sensor}}"
style="padding-left: 5px;">Selecciona la estación utilizada</label>
<select name="stations{{i.sensor}}" id="stations{{i.sensor}}" disabled>
{% for j in i.stations %}
<option value="{{ j }}">{{ j }}</option>
{% endfor %}
</select>
</div>
<!-- Apply quality control -->
<div class="list-group-item" style="padding-bottom: 50px;">
<input class="form-check-input" type="checkbox" id="autoSizingCheck" checked>
<label class="form-check-label" for="autoSizingCheck" style="padding-left: 5px;">
Aplicar control de calidad
</label>
</div>
<!-- Submit -->
<input type="hidden" value="{{i.sensor}}" name="probe" />
<button type="submit" class="btn btn-primary btn-lg btn-block">Subir CSV</button>
</form>
</div>
</div> <!-- Close Modal Container Body -->
</div> <!-- Close Modal Body -->
</div> <!-- Close Modal Content -->
</div> <!-- Close Modal dialog -->
</div> <!-- Close Modal -->
{% endfor %}
<!-- End Sensors Modals -->
</div> <!-- Close container field -->
{% endblock %}