mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-25 02:44:18 +00:00
Merge branch 'development' of gitlab.ub.uni-bielefeld.de:sfb1288inf/opaque into development
This commit is contained in:
commit
6318c753b2
12
app/main/forms.py
Normal file
12
app/main/forms.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
from flask_wtf import FlaskForm
|
||||||
|
from wtforms import DecimalField, StringField, SubmitField, TextAreaField
|
||||||
|
from wtforms.validators import DataRequired, Email, Length, NumberRange
|
||||||
|
|
||||||
|
|
||||||
|
class FeedbackForm(FlaskForm):
|
||||||
|
email = StringField('Email', validators=[DataRequired(), Email()])
|
||||||
|
feedback = TextAreaField('Feedback', validators=[Length(0, 255)])
|
||||||
|
like_range = DecimalField('How would you rate nopaque?',
|
||||||
|
validators=[DataRequired(),
|
||||||
|
NumberRange(min=1, max=10)])
|
||||||
|
submit = SubmitField('Send feedback')
|
@ -1,8 +1,10 @@
|
|||||||
|
from app import logger
|
||||||
from app.auth.forms import LoginForm
|
from app.auth.forms import LoginForm
|
||||||
from app.models import User
|
from app.models import User
|
||||||
from flask import flash, redirect, render_template, url_for
|
from flask import flash, redirect, render_template, url_for
|
||||||
from flask_login import login_required, login_user
|
from flask_login import login_required, login_user
|
||||||
from . import main
|
from . import main
|
||||||
|
from .forms import FeedbackForm
|
||||||
|
|
||||||
|
|
||||||
@main.route('/', methods=['GET', 'POST'])
|
@main.route('/', methods=['GET', 'POST'])
|
||||||
@ -26,6 +28,18 @@ def dashboard():
|
|||||||
return render_template('main/dashboard.html.j2', title='Dashboard')
|
return render_template('main/dashboard.html.j2', title='Dashboard')
|
||||||
|
|
||||||
|
|
||||||
|
@main.route('/feedback', methods=['GET', 'POST'])
|
||||||
|
@login_required
|
||||||
|
def feedback():
|
||||||
|
feedback_form = FeedbackForm(prefix='feedback-form')
|
||||||
|
if feedback_form.validate_on_submit():
|
||||||
|
logger.warning(feedback_form.email)
|
||||||
|
logger.warning(feedback_form.feedback)
|
||||||
|
logger.warning(feedback_form.like_range)
|
||||||
|
return render_template('main/feedback.html.j2',
|
||||||
|
feedback_form=feedback_form, title='Feedback')
|
||||||
|
|
||||||
|
|
||||||
@main.route('/poster', methods=['GET', 'POST'])
|
@main.route('/poster', methods=['GET', 'POST'])
|
||||||
def poster():
|
def poster():
|
||||||
login_form = LoginForm(prefix='login-form')
|
login_form = LoginForm(prefix='login-form')
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<div class="card medium">
|
<div class="card medium">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ login_form.hidden_tag() }}
|
{{ login_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
<i class="material-icons prefix">person</i>
|
<i class="material-icons prefix">person</i>
|
||||||
{{ login_form.user(class='validate') }}
|
{{ login_form.user(class='validate') }}
|
||||||
|
@ -24,8 +24,8 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<div class="card medium">
|
<div class="card medium">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ registration_form.hidden_tag() }}
|
{{ registration_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
<i class="material-icons prefix">person</i>
|
<i class="material-icons prefix">person</i>
|
||||||
{{ registration_form.username(class='validate', data_length='64') }}
|
{{ registration_form.username(class='validate', data_length='64') }}
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ reset_password_form.hidden_tag() }}
|
{{ reset_password_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
{{ reset_password_form.password(class='validate') }}
|
{{ reset_password_form.password(class='validate') }}
|
||||||
{{ reset_password_form.password.label }}
|
{{ reset_password_form.password.label }}
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ reset_password_request_form.hidden_tag() }}
|
{{ reset_password_request_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
{{ reset_password_request_form.email(class='validate', type='email') }}
|
{{ reset_password_request_form.email(class='validate', type='email') }}
|
||||||
{{ reset_password_request_form.email.label }}
|
{{ reset_password_request_form.email.label }}
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ add_corpus_form.hidden_tag() }}
|
{{ add_corpus_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 m4">
|
<div class="col s12 m4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
|
|
||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<form method="POST" enctype="multipart/form-data">
|
<form method="POST" enctype="multipart/form-data">
|
||||||
|
{{ add_corpus_file_form.hidden_tag() }}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<span class="card-title">Required metadata</span>
|
<span class="card-title">Required metadata</span>
|
||||||
{{ add_corpus_file_form.hidden_tag() }}
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 m4">
|
<div class="col s12 m4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
|
{{ edit_corpus_file_form.hidden_tag() }}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
{{ edit_corpus_file_form.hidden_tag() }}
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 m4">
|
<div class="col s12 m4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
35
app/templates/main/feedback.html.j2
Normal file
35
app/templates/main/feedback.html.j2
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{% extends "nopaque.html.j2" %}
|
||||||
|
|
||||||
|
{% block page_content %}
|
||||||
|
|
||||||
|
<div class="col s12">
|
||||||
|
<div class="card">
|
||||||
|
<form method="POST">
|
||||||
|
{{ feedback_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
|
<p class="range-field">
|
||||||
|
{{ feedback_form.like_range.label }}
|
||||||
|
{{ feedback_form.like_range(class='validate', type='range', min=1, max=10) }}
|
||||||
|
</p>
|
||||||
|
<div class="input-field">
|
||||||
|
<i class="material-icons prefix">email</i>
|
||||||
|
{{ feedback_form.email(class='validate', type='email') }}
|
||||||
|
{{ feedback_form.email.label }}
|
||||||
|
{% for error in feedback_form.email.errors %}
|
||||||
|
<span class="helper-text red-text">{{ error }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="input-field">
|
||||||
|
<i class="material-icons prefix">mode_edit</i>
|
||||||
|
{{ feedback_form.feedback(class='materialize-textarea', data_length=255) }}
|
||||||
|
{{ feedback_form.feedback.label }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-action right-align">
|
||||||
|
{{ macros.submit_button(feedback_form.submit) }}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -163,9 +163,9 @@
|
|||||||
<div class="col s12">
|
<div class="col s12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
|
{{ login_form.hidden_tag() }}
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<span class="card-title">Registration and Log in</span>
|
<span class="card-title">Registration and Log in</span>
|
||||||
{{ login_form.hidden_tag() }}
|
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
<i class="material-icons prefix">person</i>
|
<i class="material-icons prefix">person</i>
|
||||||
{{ login_form.user(class='validate') }}
|
{{ login_form.user(class='validate') }}
|
||||||
|
@ -1,264 +0,0 @@
|
|||||||
{% extends "nopaque.html.j2" %}
|
|
||||||
|
|
||||||
{% block page_content %}
|
|
||||||
<style>
|
|
||||||
input::placeholder {
|
|
||||||
color: black;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title"><i class="material-icons left">burst_mode</i>File Setup</span>
|
|
||||||
<p>
|
|
||||||
Häufig liegen Digitalisate textueller Foschungsdaten (Bücher, Briefe etc.) in mehreren Dateien und Formaten vor. Nopaque ermöglicht die Konvertierung und Zusammenfassung in ein einheitliches Datenformat, was eine vereinfachte Weiterverarbeitung mit weiteren Services ermöglicht.
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="file-field input-field">
|
|
||||||
<div class="btn">
|
|
||||||
<span>File</span>
|
|
||||||
<input type="file" multiple>
|
|
||||||
</div>
|
|
||||||
<div class="file-path-wrapper">
|
|
||||||
<input class="file-path validate" type="text" placeholder="Bilder, Fotos, Scans…">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col s3 right-align">
|
|
||||||
<p> </p>
|
|
||||||
<button class="btn waves-effect waves-light"type="submit">Submit<i class="material-icons right">send</i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s3">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title">Ausgabe</span>
|
|
||||||
<p>Nach Eingabeateinamen sortierte Multipage-TIFF-Dateien.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<blockquote>
|
|
||||||
Umgesetzt mit <i>ImageMagick</i><br>
|
|
||||||
als Docker Swarm Service
|
|
||||||
</blockquote>
|
|
||||||
</p>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s12"></div>
|
|
||||||
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title"><i class="material-icons left">find_in_page</i>Optical Character Recognition</span>
|
|
||||||
<p>
|
|
||||||
Durch optische Analysemethoden werden aus Bilddaten, wie Fotos oder
|
|
||||||
Scans, Textdateien erzeugt. Erst dieser Vorverarbeitungsschritt
|
|
||||||
ermöglicht eine weitere computergestützte Verarbeitung von Dokumenten.
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="file-field input-field">
|
|
||||||
<div class="btn">
|
|
||||||
<span>File</span>
|
|
||||||
<input type="file" multiple>
|
|
||||||
</div>
|
|
||||||
<div class="file-path-wrapper">
|
|
||||||
<input class="file-path validate" type="text" placeholder="Multipage-TIFF- oder PDF-Dateien">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col s3 right-align">
|
|
||||||
<p> </p>
|
|
||||||
<button class="btn waves-effect waves-light"type="submit">Submit<i class="material-icons right">send</i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s3">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title">Ausgabe</span>
|
|
||||||
<p>
|
|
||||||
Textdateien, PDF-Dateien und TEI P5 konforme XML-Dateien.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<blockquote>
|
|
||||||
Pipelineumsetzung mit <i>Tesseract OCR</i><br>
|
|
||||||
als Docker Swarm Service
|
|
||||||
</blockquote>
|
|
||||||
</p>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s12"></div>
|
|
||||||
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title"><i class="material-icons left">format_textdirection_l_to_r</i>Natural Language Processing</span>
|
|
||||||
<p>
|
|
||||||
Mit Hilfe computergestützter linguistischer Datenverarbeitungsmethoden
|
|
||||||
(Tokenisierung, Lemmatisierung, Part-of-speech-Tagging und
|
|
||||||
Eigennamenerkennung) werden Textdateien mit weiteren Informationen ausgezeichnet.
|
|
||||||
</p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="file-field input-field">
|
|
||||||
<div class="btn">
|
|
||||||
<span>File</span>
|
|
||||||
<input type="file" multiple>
|
|
||||||
</div>
|
|
||||||
<div class="file-path-wrapper">
|
|
||||||
<input class="file-path validate" type="text" placeholder="Textdateien">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col s3 right-align">
|
|
||||||
<p> </p>
|
|
||||||
<button class="btn waves-effect waves-light"type="submit">Submit<i class="material-icons right">send</i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s3">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title">Ausgabe</span>
|
|
||||||
<p>Korpusdateien im <i>verticalized text</i>-Format (XML-Dialekt, Ähnelt CoNLL).</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<blockquote>
|
|
||||||
Pipelineumsetzung mit <i>spaCy</i><br>
|
|
||||||
als Docker Swarm Service
|
|
||||||
</blockquote>
|
|
||||||
</p>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s12"></div>
|
|
||||||
|
|
||||||
<div class="col s9">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title"><i class="material-icons left">search</i>Corpus Analysis</span>
|
|
||||||
<p>
|
|
||||||
Mittels CQP Query Language können komplexe Suchanfragen unter
|
|
||||||
Zuhilfenahme von Metadaten und NLP-Auszeichnungen an eigens erstellte
|
|
||||||
Korpora gestellt werden. Ergebnisse können als Text oder in abstrakter Darstellung ausgewertet werden.
|
|
||||||
</p>
|
|
||||||
<div class="input-field">
|
|
||||||
<i class="material-icons prefix">search</i>
|
|
||||||
<input class="search" placeholder='"fox" "jumps" "over" []* "dog"' type="search"></input>
|
|
||||||
</div>
|
|
||||||
<i class="material-icons left" style="padding-left: 10px;">subdirectory_arrow_right</i>
|
|
||||||
<p>
|
|
||||||
<span class="chip">The | DET</span>
|
|
||||||
<span class="chip">quick | ADJ</span>
|
|
||||||
<span class="chip">brown | ADJ</span>
|
|
||||||
<span class="chip light-green">fox | PROPN</span>
|
|
||||||
<span class="chip light-green">jumps | VERB</span>
|
|
||||||
<span class="chip light-green">over | ADP</span>
|
|
||||||
<span class="chip light-green">the | DET</span>
|
|
||||||
<span class="chip light-green">lazy | ADJ</span>
|
|
||||||
<span style="padding-left:48px;">
|
|
||||||
<span class="chip light-green" id="tooltipped">dog | NOUN</span>
|
|
||||||
</span>
|
|
||||||
<span class="chip">. | PUNCT</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s3">
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<span class="card-title">Ausgabe</span>
|
|
||||||
<p>
|
|
||||||
Export der Ergebnisse in JSON. (Zunkünftig angedacht: CSV, Excel und
|
|
||||||
HTML)
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
<blockquote>
|
|
||||||
Umgesetzt mit <i>IMS Open Corpus Workbench</i><br>
|
|
||||||
als lokaler Docker-Container
|
|
||||||
</blockquote>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col s12">
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
<p> </p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
// tooltippedElement = document.getElementById("tooltipped");
|
|
||||||
// tooltip = M.Tooltip.init(
|
|
||||||
// tooltippedElement,
|
|
||||||
// {"html": `<table>
|
|
||||||
// <tr>
|
|
||||||
// <th>Token information</th>
|
|
||||||
// <th>Source information</th>
|
|
||||||
// </tr>
|
|
||||||
// <tr>
|
|
||||||
// <td class="left-align">
|
|
||||||
// Word: dog<br>
|
|
||||||
// Lemma: dog<br>
|
|
||||||
// POS: NN<br>
|
|
||||||
// Simple POS: NOUN<br>
|
|
||||||
// NER: NULL
|
|
||||||
// </td>
|
|
||||||
// <td class="left-align">
|
|
||||||
// Title: Current Notes<br>
|
|
||||||
// Author: Unknown<br>
|
|
||||||
// Publishing year: 1885
|
|
||||||
// </td>
|
|
||||||
// </tr>
|
|
||||||
// </table>`,
|
|
||||||
// "inDuration": 1500,
|
|
||||||
// "margin": 15,
|
|
||||||
// "position": "bottom",
|
|
||||||
// "transitionMovement": 0}
|
|
||||||
// );
|
|
||||||
// tooltip.open();
|
|
||||||
// });
|
|
||||||
//DarkReader.enable({"brightness": 100, "contrast": 100, "sepia": 0});
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
|
@ -59,7 +59,7 @@
|
|||||||
<a href="#" data-target="sidenav-main" class="sidenav-trigger"><i class="material-icons">menu</i></a>
|
<a href="#" data-target="sidenav-main" class="sidenav-trigger"><i class="material-icons">menu</i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<ul class="right">
|
<ul class="right">
|
||||||
<li><a id="nav-notifications" class="dropdown-trigger no-autoinit" href="#!" data-target="nav-notifications-dropdown"><i class="material-icons">notifications</i></a></li>
|
<!--<li><a id="nav-notifications" class="dropdown-trigger no-autoinit" href="#!" data-target="nav-notifications-dropdown"><i class="material-icons">notifications</i></a></li>-->
|
||||||
<li>
|
<li>
|
||||||
<a id="nav-account" class="dropdown-trigger no-autoinit" href="#!" data-target="nav-account-dropdown">
|
<a id="nav-account" class="dropdown-trigger no-autoinit" href="#!" data-target="nav-account-dropdown">
|
||||||
{% if current_user.is_authenticated %}
|
{% if current_user.is_authenticated %}
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
<div class="col s12 m8">
|
<div class="col s12 m8">
|
||||||
<br class="hide-on-small-only">
|
<br class="hide-on-small-only">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-content">
|
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
{{ edit_general_settings_form.hidden_tag() }}
|
{{ edit_general_settings_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s9">
|
<div class="col s9">
|
||||||
<p><i class="material-icons left">brightness_3</i>{{ edit_general_settings_form.dark_mode.label.text }}</p>
|
<p><i class="material-icons left">brightness_3</i>{{ edit_general_settings_form.dark_mode.label.text }}</p>
|
||||||
@ -48,8 +48,8 @@
|
|||||||
<br class="hide-on-small-only">
|
<br class="hide-on-small-only">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ edit_password_form.hidden_tag() }}
|
{{ edit_password_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
<i class="material-icons prefix">vpn_key</i>
|
<i class="material-icons prefix">vpn_key</i>
|
||||||
{{ edit_password_form.current_password() }}
|
{{ edit_password_form.current_password() }}
|
||||||
@ -93,8 +93,8 @@
|
|||||||
<br class="hide-on-small-only">
|
<br class="hide-on-small-only">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="card-content">
|
|
||||||
{{ edit_email_form.hidden_tag() }}
|
{{ edit_email_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
<i class="material-icons prefix">mail</i>
|
<i class="material-icons prefix">mail</i>
|
||||||
{{ edit_email_form.email() }}
|
{{ edit_email_form.email() }}
|
||||||
|
@ -44,8 +44,8 @@
|
|||||||
<h3>Submit a job</h3>
|
<h3>Submit a job</h3>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
||||||
<div class="card-content">
|
|
||||||
{{ add_job_form.hidden_tag() }}
|
{{ add_job_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 l4">
|
<div class="col s12 l4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
<h3>Submit a job</h3>
|
<h3>Submit a job</h3>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
||||||
<div class="card-content">
|
|
||||||
{{ add_job_form.hidden_tag() }}
|
{{ add_job_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 l4">
|
<div class="col s12 l4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
<h3>Submit a job</h3>
|
<h3>Submit a job</h3>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
<form class="nopaque-job-form" data-progress-modal="progress-modal">
|
||||||
<div class="card-content">
|
|
||||||
{{ add_job_form.hidden_tag() }}
|
{{ add_job_form.hidden_tag() }}
|
||||||
|
<div class="card-content">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 l4">
|
<div class="col s12 l4">
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
|
Loading…
Reference in New Issue
Block a user