Compare commits
No commits in common. "4e996180fecb68c2a190943d752b2b66b57e20d2" and "53a884d23e33dff0e8f4884aa886022af43550e0" have entirely different histories.
4e996180fe
...
53a884d23e
100
app.py
100
app.py
@ -312,104 +312,26 @@ def profile_change():
|
|||||||
@app.route('/edit-habit')
|
@app.route('/edit-habit')
|
||||||
@login_required
|
@login_required
|
||||||
def edit_habit():
|
def edit_habit():
|
||||||
habit_id = int(request.args.get("habit"))
|
habit_id = request.args.get("habit")
|
||||||
|
#habit_id = request.get_json()["editHabitId"]
|
||||||
|
|
||||||
habit = Habit.get(habit_id)
|
habit = Habit.get(habit_id)
|
||||||
|
|
||||||
|
|
||||||
units = ["Tag", "Woche", "Monat", "Jahr"]
|
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"edit-habit.html",
|
"edit-habit.html",
|
||||||
title=habit.name,
|
title=habit.name
|
||||||
habit=habit.id,
|
|
||||||
name=habit.name,
|
|
||||||
note=habit.note,
|
|
||||||
times=habit.times,
|
|
||||||
unit=units[habit.unit],
|
|
||||||
errors={}
|
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
@app.route('/edit-habit', methods=['POST'])
|
@app.route('/edit-habit', methods=['POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def edit_habit_change():
|
def edit_habit_change():
|
||||||
|
#habit_id = request.get_json()["habitId"]
|
||||||
|
|
||||||
|
#habit = Habit.get(habit_id)
|
||||||
|
|
||||||
units = ["Tag", "Woche", "Monat", "Jahr"]
|
return render_template(
|
||||||
name = request.form.get('name')
|
"edit-habit.html"
|
||||||
note = request.form.get('note')
|
)
|
||||||
times = request.form.get('times')
|
'''
|
||||||
unit = request.form.get('unit')
|
|
||||||
list_id = request.form.get('habit')
|
|
||||||
|
|
||||||
habit = Habit.get(list_id)
|
|
||||||
|
|
||||||
# Check for errors
|
|
||||||
errors = {}
|
|
||||||
if not name:
|
|
||||||
errors['name'] = 'Der Name ist erforderlich.'
|
|
||||||
if not times:
|
|
||||||
errors['times'] = 'Die Anzahl ist erforderlich.'
|
|
||||||
if not note:
|
|
||||||
note = ''
|
|
||||||
if not unit:
|
|
||||||
errors['unit'] = 'Die Einheit ist erforderlich.'
|
|
||||||
if not list_id:
|
|
||||||
errors['habit'] = 'Das Habit ist erforderlich.'
|
|
||||||
|
|
||||||
# Check if times is an integer
|
|
||||||
try:
|
|
||||||
print(times)
|
|
||||||
times = int(times)
|
|
||||||
|
|
||||||
|
|
||||||
# Check that times is greater than 0
|
|
||||||
if times <= 0:
|
|
||||||
errors['times'] = 'Die Anzahl muss größer als 0 sein.'
|
|
||||||
except ValueError:
|
|
||||||
errors['times'] = 'Die Anzahl muss eine Zahl sein.'
|
|
||||||
|
|
||||||
# Check that unit is valid
|
|
||||||
if unit not in ['Tag', 'Woche', 'Monat', 'Jahr']:
|
|
||||||
errors['unit'] = 'Die Einheit ist ungültig.'
|
|
||||||
|
|
||||||
# check if list_id is an int
|
|
||||||
try:
|
|
||||||
list_id = int(list_id)
|
|
||||||
except ValueError:
|
|
||||||
errors['list_query'] = 'Die Anzahl muss eine Zahl sein.'
|
|
||||||
|
|
||||||
if errors:
|
|
||||||
return render_template(
|
|
||||||
"edit-habit.html",
|
|
||||||
title=habit.name,
|
|
||||||
habit=habit.id,
|
|
||||||
name=habit.name,
|
|
||||||
note=habit.note,
|
|
||||||
times=habit.times,
|
|
||||||
unit=units[habit.unit],
|
|
||||||
errors={}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Map unit to integer
|
|
||||||
if unit == 'Tag':
|
|
||||||
unit = 0
|
|
||||||
elif unit == 'Woche':
|
|
||||||
unit = 1
|
|
||||||
elif unit == 'Monat':
|
|
||||||
unit = 2
|
|
||||||
elif unit == 'Jahr':
|
|
||||||
unit = 3
|
|
||||||
else:
|
|
||||||
unit = 1
|
|
||||||
|
|
||||||
# Save habit to database
|
|
||||||
print(name, note, times, unit)
|
|
||||||
habit.name, habit.note, habit.times, habit.unit = name, note, times, unit
|
|
||||||
|
|
||||||
habit.update()
|
|
||||||
# Back to index
|
|
||||||
return redirect(url_for('index'))
|
|
||||||
|
|
||||||
@app.route('/check_password', methods=['POST'])
|
@app.route('/check_password', methods=['POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def check_password():
|
def check_password():
|
||||||
|
|||||||
@ -2,81 +2,6 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<h1 class="mt-5">Habit Bearbeiten📋</h1>
|
test
|
||||||
|
{{ title }}
|
||||||
<form action="/edit-habit" method="POST">
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="name" class="form-label">Name der Gewohnheit</label>
|
|
||||||
<input type="text" class="form-control {% if errors.get('name') %} is-invalid {% endif %}" id="name" name="name" value="{{name}}">
|
|
||||||
<div class="invalid-feedback">
|
|
||||||
{{ errors.get('name', '') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="note" class="form-label">Beschreibung</label>
|
|
||||||
<input type="text" class="form-control {% if errors.get('note') %} is-invalid {% endif %}" id="note" name="note" value="{{note}}">
|
|
||||||
<div class="invalid-feedback">
|
|
||||||
{{ errors.get('note', '') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="mb-3 col-2">
|
|
||||||
<label for="times" class="form-label">Häufigkeit</label>
|
|
||||||
<input type="number" min="1" class="form-control {% if errors.get('times') %} is-invalid {% endif %}" id="times" name="times" value="{{times}}">
|
|
||||||
<div class="invalid-feedback">
|
|
||||||
{{ errors.get('times', '') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3 col-10">
|
|
||||||
<label for="unit" class="form-label">Im Zeitraum</label>
|
|
||||||
<select class="form-select {% if errors.get('unit') %} is-invalid {% endif %}" id="unit" name="unit">
|
|
||||||
<option value="Tag">Tag</option>
|
|
||||||
<option value="Woche">Woche</option>
|
|
||||||
<option value="Monat">Monat</option>
|
|
||||||
<option value="Jahr">Jahr</option>
|
|
||||||
</select>
|
|
||||||
<script>
|
|
||||||
document.addEventListener('DOMContentLoaded', (event) => {
|
|
||||||
let selectedElement = document.getElementById('unit');
|
|
||||||
|
|
||||||
for (let option of selectedElement.options) {
|
|
||||||
if (option.value == '{{ unit }}') {
|
|
||||||
option.selected = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div class="invalid-feedback">
|
|
||||||
{{ errors.get('unit', '') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<input type="hidden" name="habit" id="habit" class="{% if errors.get('habit') %} is-invalid {% endif %}">
|
|
||||||
<div class="invalid-feedback">
|
|
||||||
{{ errors.get('list_query', '') }}
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
|
||||||
// Extracting the list-query from the URL
|
|
||||||
var listQuery = new URLSearchParams(window.location.search).get('habit');
|
|
||||||
|
|
||||||
if ("{{ habit }}" != "") {
|
|
||||||
listQuery = "{{ habit }}";
|
|
||||||
|
|
||||||
// Add the list_id to the URL
|
|
||||||
var url = new URL(window.location.href);
|
|
||||||
url.searchParams.set('habit', listQuery);
|
|
||||||
// window.history.pushState({}, '', url);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setting the list-query as the value of the hidden input field
|
|
||||||
document.getElementById('habit').value = listQuery;
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<button type="submit" class="btn btn-primary">Submit</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Loading…
x
Reference in New Issue
Block a user