Group genre dropdowns into non-selectable optgroup sections
- Load grouped genre list (music_genres_grouped.txt) with section headings - Render headings as <optgroup> labels (visible, not selectable) - Add Disney under CHILDREN'S & HOLIDAY (was missing from grouped file) - Bump version to 0.9.3
This commit is contained in:
parent
07e92a522a
commit
868b59077f
7 changed files with 360 additions and 21 deletions
14
app.py
14
app.py
|
|
@ -60,7 +60,7 @@ from models import SCHEMA, get_requests_by_email, log_revision, list_revision_hi
|
|||
|
||||
# Helpers (extracted from app.py to keep the route file manageable)
|
||||
from helpers import (
|
||||
MUSIC_GENRES, DECADES, parse_style_genre, build_style_genre,
|
||||
GENRE_GROUPS, DECADES, parse_style_genre, build_style_genre,
|
||||
is_admin, require_admin, admin_password_ok, is_valid_email,
|
||||
allowed_file, upload_path, save_upload,
|
||||
apply_mp3_tags,
|
||||
|
|
@ -186,13 +186,13 @@ def request_form():
|
|||
pronouns = request.form.get('pronouns', '').strip()
|
||||
if not pronouns:
|
||||
flash('Please select your pronouns.', 'error')
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genres=MUSIC_GENRES), 400
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genre_groups=GENRE_GROUPS), 400
|
||||
if not decade:
|
||||
flash('Please select a decade.', 'error')
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genres=MUSIC_GENRES), 400
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genre_groups=GENRE_GROUPS), 400
|
||||
if not basic_style:
|
||||
flash('Please select a basic style.', 'error')
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genres=MUSIC_GENRES), 400
|
||||
return render_template('request.html', form=request.form, decades=DECADES, genre_groups=GENRE_GROUPS), 400
|
||||
form_data = {
|
||||
'name': request.form.get('name', '').strip(),
|
||||
'email': request.form.get('email', '').strip().lower(),
|
||||
|
|
@ -206,7 +206,7 @@ def request_form():
|
|||
}
|
||||
if not is_valid_email(form_data['email']):
|
||||
flash('Please enter a valid email address.', 'error')
|
||||
return render_template('request.html', form=form_data, decades=DECADES, genres=MUSIC_GENRES), 400
|
||||
return render_template('request.html', form=form_data, decades=DECADES, genre_groups=GENRE_GROUPS), 400
|
||||
rid = create_request(**form_data)
|
||||
|
||||
# Notify operator via ntfy when a new request comes in.
|
||||
|
|
@ -251,7 +251,7 @@ def request_form():
|
|||
|
||||
flash('Your request has been submitted! Check your email soon.', 'success')
|
||||
return redirect(url_for('thanks', rid=rid))
|
||||
return render_template('request.html', form=None, decades=DECADES, genres=MUSIC_GENRES)
|
||||
return render_template('request.html', form=None, decades=DECADES, genre_groups=GENRE_GROUPS)
|
||||
|
||||
|
||||
@app.route('/api/ping', methods=['GET'])
|
||||
|
|
@ -1521,7 +1521,7 @@ def admin_request(rid):
|
|||
req=req,
|
||||
style_parts=parse_style_genre(req.get('style_genre')),
|
||||
decades=DECADES,
|
||||
genres=MUSIC_GENRES,
|
||||
genre_groups=GENRE_GROUPS,
|
||||
statuses=STATUS_LABELS,
|
||||
file_exists=file_exists,
|
||||
basename=basename,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue