mirror of
https://github.com/aaronleetw/Attendance.git
synced 2024-11-14 19:11:39 -08:00
Change POST format
This commit is contained in:
parent
9ae3fd8c2a
commit
56957fdbdb
5 changed files with 97 additions and 76 deletions
6
app.py
6
app.py
|
@ -9,6 +9,12 @@ app.register_blueprint(upload)
|
||||||
app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY')
|
app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY')
|
||||||
|
|
||||||
|
|
||||||
|
@app.after_request
|
||||||
|
def add_header(response):
|
||||||
|
response.headers['SameSite'] = "Strict"
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
@ app.route('/', methods=['GET', 'POST'])
|
@ app.route('/', methods=['GET', 'POST'])
|
||||||
def index():
|
def index():
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
|
|
14
manage.py
14
manage.py
|
@ -187,16 +187,16 @@ def manageRoot():
|
||||||
return manageProcess("", "")
|
return manageProcess("", "")
|
||||||
|
|
||||||
|
|
||||||
@manage.route('/manage/date', methods=['POST'])
|
@manage.route('/manage/date/<date>', methods=['GET'])
|
||||||
def manage_date():
|
def manage_date(date):
|
||||||
return manageProcess("date", request.form['date'])
|
return manageProcess("date", date)
|
||||||
|
|
||||||
|
|
||||||
@manage.route('/manage/admin', methods=['POST'])
|
@manage.route('/manage/admin/<g>/<r>/<date>', methods=['GET'])
|
||||||
def manage_admin():
|
def manage_admin(g, r, date):
|
||||||
data = [
|
data = [
|
||||||
request.form['grade'] + '^' + request.form['room'],
|
g + '^' + r,
|
||||||
request.form['date']
|
date
|
||||||
]
|
]
|
||||||
return manageProcess("admin", data)
|
return manageProcess("admin", data)
|
||||||
|
|
||||||
|
|
|
@ -34,38 +34,43 @@
|
||||||
<h2 style="color: red; text-align: center;">Homeroom NOT Confirmed 班導尚未確認</h2>
|
<h2 style="color: red; text-align: center;">Homeroom NOT Confirmed 班導尚未確認</h2>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="/logout"><button class="btn btn-primary logout margin-top">Logout 登出</button></a>
|
<a href="/logout"><button class="btn btn-primary logout margin-top">Logout 登出</button></a>
|
||||||
|
<form action="/swapClass" method="post" id="swapClassForm" hidden>
|
||||||
|
<input type="text" name="homeroom" value="{{homeroomCode[0]}}^{{homeroomCode[1]}}">
|
||||||
|
<input type="text" name="date" value="{{currDate}}">
|
||||||
|
<input type="text" name="type" value="seewindow">
|
||||||
|
</form>
|
||||||
|
<a href="/swapClass/{{homeroomCode[0]}}/{{homeroomCode[1]}}/{{currDate}}"><button
|
||||||
|
class="btn btn-warning logout margin-top">Swap Classes 改、換課</button></a>
|
||||||
<div class="container margin-bottom">
|
<div class="container margin-bottom">
|
||||||
<form action="/manage/admin" id="adminSelForm" method="post">
|
<div class="row">
|
||||||
<div class="row">
|
<div class="col">
|
||||||
<div class="col">
|
<select name="grade" id="sel-grade" class="form-select" onchange="getHR()" required>
|
||||||
<select name="grade" id="sel-grade" class="form-select" onchange="getHR()" required>
|
<option value="">選擇年級</option>
|
||||||
<option value="">選擇年級</option>
|
{% for grade in homerooms %}
|
||||||
{% for grade in homerooms %}
|
<option value="{{grade}}">{{grade}}</option>
|
||||||
<option value="{{grade}}">{{grade}}</option>
|
{% endfor %}
|
||||||
{% endfor %}
|
</select>
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<select name="room" id="sel-room" class="form-select" disabled required>
|
|
||||||
<option value="">請先選擇年級</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<select name="date" id="date" class="form-select">
|
|
||||||
{% for date in absData %}
|
|
||||||
{% if date == currDate %}
|
|
||||||
<option value="{{date}}" selected="selected">{{date}}</option>
|
|
||||||
{% else %}
|
|
||||||
<option value="{{date}}">{{date}}</option>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-1">
|
|
||||||
<button type="button" class="btn btn-primary" onclick="loadingAnimation()">查詢</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="col">
|
||||||
|
<select name="room" id="sel-room" class="form-select" disabled required>
|
||||||
|
<option value="">請先選擇年級</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<select name="date" id="date" class="form-select">
|
||||||
|
{% for date in absData %}
|
||||||
|
{% if date == currDate %}
|
||||||
|
<option value="{{date}}" selected="selected">{{date}}</option>
|
||||||
|
{% else %}
|
||||||
|
<option value="{{date}}">{{date}}</option>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-1">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="redirAdmin()">查詢</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="sticky-top" style="background-color: white;">
|
<div class="sticky-top" style="background-color: white;">
|
||||||
|
@ -84,7 +89,11 @@
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
<div class="col"></div>
|
<div class="col"></div>
|
||||||
{% for i in periods %}
|
{% for i in periods %}
|
||||||
<div class="col">{{absData[currDate][i]['name']}}</div>
|
<div class="col">{{absData[currDate][i]['name']}}
|
||||||
|
{% if 'changed' in absData[currDate][i] %}
|
||||||
|
<span style="color: red;">(換)</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="row title">
|
<div class="row title">
|
||||||
|
@ -102,7 +111,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">{{homeroomCode[0]}}{{homeroomCode[1]}}</div>
|
<div class="col">{{homeroomCode[0]}}{{homeroomCode[1]}}</div>
|
||||||
<div class="col">{{i}}</div>
|
<div class="col">{{i}}</div>
|
||||||
<div class="col">{{ homeroomData[i]['name'] }}</div>
|
<div class="col">{{ homeroomData[i]['name'] }} </div>
|
||||||
<div class="col">{{ homeroomData[i]['eng_name'] }}</div>
|
<div class="col">{{ homeroomData[i]['eng_name'] }}</div>
|
||||||
{% for j in periods %}
|
{% for j in periods %}
|
||||||
<div class="col" {% if currPeriod==j %} style="background-color: #ffdf81;" {% endif %}>
|
<div class="col" {% if currPeriod==j %} style="background-color: #ffdf81;" {% endif %}>
|
||||||
|
@ -222,16 +231,6 @@
|
||||||
homerooms['{{i}}'].push({{ j }});
|
homerooms['{{i}}'].push({{ j }});
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
console.log(homerooms)
|
|
||||||
function loadingAnimation() {
|
|
||||||
if ($("#sel-room").val() == "") {
|
|
||||||
alert("請選擇年級 / 班級!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
document.getElementById('adminSelForm').submit();
|
|
||||||
$('.container').hide();
|
|
||||||
$('#loading').show();
|
|
||||||
}
|
|
||||||
function getHR() {
|
function getHR() {
|
||||||
var grade = $('#sel-grade').val();
|
var grade = $('#sel-grade').val();
|
||||||
$('#sel-room').html('<option value="">請先選擇年級</option>');
|
$('#sel-room').html('<option value="">請先選擇年級</option>');
|
||||||
|
@ -244,9 +243,19 @@
|
||||||
});
|
});
|
||||||
$('#sel-room').removeAttr('disabled')
|
$('#sel-room').removeAttr('disabled')
|
||||||
}
|
}
|
||||||
function submitQuery() {
|
function redirAdmin() {
|
||||||
loadingAnimation();
|
if ($("#sel-room").val() == "") {
|
||||||
document.getElementById('hrSelForm').submit();
|
alert("請選擇年級 / 班級!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var url = "/manage/admin/" + $('#sel-grade').val() + "/" + $('#sel-room').val() + "/" + $('#date').val();
|
||||||
|
var new_form = document.createElement('form');
|
||||||
|
new_form.method = 'GET';
|
||||||
|
new_form.action = url;
|
||||||
|
document.body.appendChild(new_form);
|
||||||
|
new_form.submit();
|
||||||
|
$('.container').hide();
|
||||||
|
$('#loading').show();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="/static/time.js"></script>
|
<script src="/static/time.js"></script>
|
||||||
|
|
|
@ -30,17 +30,15 @@
|
||||||
<h2>[{{currDate}}]</h2>
|
<h2>[{{currDate}}]</h2>
|
||||||
<a href="/logout"><button class="btn btn-primary margin-top logout">Logout 登出</button></a>
|
<a href="/logout"><button class="btn btn-primary margin-top logout">Logout 登出</button></a>
|
||||||
<a href="/select"><button class="btn btn-primary margin-top logout">Choose Subuser 選擇其他帳號</button></a>
|
<a href="/select"><button class="btn btn-primary margin-top logout">Choose Subuser 選擇其他帳號</button></a>
|
||||||
<form action="/manage/date" id="dateSelForm" method="post">
|
<select name="date" id="date" class="form-select logout" onchange="chgDate();">
|
||||||
<select name="date" id="date" class="form-select logout" onchange="chgDate(this);">
|
{% for date in tmpAbsData %}
|
||||||
{% for date in tmpAbsData %}
|
{% if date == currDate %}
|
||||||
{% if date == currDate %}
|
<option value="{{date}}" selected="selected">{{date}}</option>
|
||||||
<option value="{{date}}" selected="selected">{{date}}</option>
|
{% else %}
|
||||||
{% else %}
|
<option value="{{date}}">{{date}}</option>
|
||||||
<option value="{{date}}">{{date}}</option>
|
{% endif %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% endfor %}
|
</select>
|
||||||
</select>
|
|
||||||
</form>
|
|
||||||
{% for i in absData %}
|
{% for i in absData %}
|
||||||
{% set alr_fill = namespace(found=false) %}
|
{% set alr_fill = namespace(found=false) %}
|
||||||
<form action="/manage/group_teach_publish" id="attendanceData^{{i}}" method="post">
|
<form action="/manage/group_teach_publish" id="attendanceData^{{i}}" method="post">
|
||||||
|
@ -202,7 +200,12 @@
|
||||||
}
|
}
|
||||||
function chgDate(sel) {
|
function chgDate(sel) {
|
||||||
loadingAnimation();
|
loadingAnimation();
|
||||||
document.getElementById('dateSelForm').submit();
|
var url = '/manage/date/' + $('#date').val()
|
||||||
|
var new_form = document.createElement('form');
|
||||||
|
new_form.method = 'GET';
|
||||||
|
new_form.action = url;
|
||||||
|
document.body.appendChild(new_form);
|
||||||
|
new_form.submit();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="/static/time.js"></script>
|
<script src="/static/time.js"></script>
|
||||||
|
|
|
@ -31,17 +31,15 @@
|
||||||
<h2>[{{currDate}}]</h2>
|
<h2>[{{currDate}}]</h2>
|
||||||
<a href="/logout"><button class="btn btn-primary logout margin-top">Logout 登出</button></a>
|
<a href="/logout"><button class="btn btn-primary logout margin-top">Logout 登出</button></a>
|
||||||
<a href="/select"><button class="btn btn-primary margin-top logout">Choose Subuser 選擇其他帳號</button></a>
|
<a href="/select"><button class="btn btn-primary margin-top logout">Choose Subuser 選擇其他帳號</button></a>
|
||||||
<form action="/manage/date" id="dateSelForm" method="post">
|
<select name="date" id="date" class="form-select logout" onchange="chgDate();">
|
||||||
<select name="date" id="date" class="form-select logout" onchange="chgDate();">
|
{% for date in absData %}
|
||||||
{% for date in absData %}
|
{% if date == currDate %}
|
||||||
{% if date == currDate %}
|
<option value="{{date}}" selected="selected">{{date}}</option>
|
||||||
<option value="{{date}}" selected="selected">{{date}}</option>
|
{% else %}
|
||||||
{% else %}
|
<option value="{{date}}">{{date}}</option>
|
||||||
<option value="{{date}}">{{date}}</option>
|
{% endif %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% endfor %}
|
</select>
|
||||||
</select>
|
|
||||||
</form>
|
|
||||||
<form action="/manage/homeroom_confirm" id="homeroom_confirm" method="post">
|
<form action="/manage/homeroom_confirm" id="homeroom_confirm" method="post">
|
||||||
<input type="hidden" name="date" value="{{currDate}}">
|
<input type="hidden" name="date" value="{{currDate}}">
|
||||||
<input type="hidden" name="homeroom" value="{{homeroomCode[0]}}^{{homeroomCode[1]}}">
|
<input type="hidden" name="homeroom" value="{{homeroomCode[0]}}^{{homeroomCode[1]}}">
|
||||||
|
@ -239,7 +237,12 @@
|
||||||
}
|
}
|
||||||
function chgDate() {
|
function chgDate() {
|
||||||
loadingAnimation();
|
loadingAnimation();
|
||||||
document.getElementById('dateSelForm').submit();
|
var url = '/manage/date/' + $('#date').val()
|
||||||
|
var new_form = document.createElement('form');
|
||||||
|
new_form.method = 'GET';
|
||||||
|
new_form.action = url;
|
||||||
|
document.body.appendChild(new_form);
|
||||||
|
new_form.submit();
|
||||||
}
|
}
|
||||||
function submitForm() {
|
function submitForm() {
|
||||||
if (!signaturePad.isEmpty()) {
|
if (!signaturePad.isEmpty()) {
|
||||||
|
|
Loading…
Reference in a new issue