Skip to content
Snippets Groups Projects
Commit c51e1aee authored by Martin Mareš's avatar Martin Mareš
Browse files

Registrace: Drobná vylepšení okolo hledání měst

  • Ořezáváme mezery z počátku i konce názvu obce.

  • Místo "jméno obce" používáme častější "název obce".

  • Placeholder od INPUTu vysvětluje, co se má zadat
    (uživatelé nečekaně často zkouší zadat přímo název školy
    a pak píší správci, že ji to nenajde).

  • Pokud se obec nenajde, radíme hledat jen část názvu
    (to řeší různé obce s pomlčkami ve jméně nebo zažitými
    nekanonickými názvy).

Closes #301.
parent 8ceff6e7
Branches
No related tags found
No related merge requests found
......@@ -17,11 +17,11 @@ def api_root():
@app.route('/api/find-town')
def api_find_town():
query = request.args.get('q')
if query is None or len(query) < 2:
return jsonify(error='Zadejte alespoň 2 znaky jména obce.')
query = request.args.get('q', "").strip()
if len(query) < 2:
return jsonify(error='Zadejte alespoň 2 znaky názvu obce.')
elif '%' in query:
return jsonify(error='Nepovolené znaky ve jménu obce.')
return jsonify(error='Nepovolené znaky v názvu obce.')
else:
max_places = 50
places = (db.get_session().query(db.Place)
......@@ -33,10 +33,10 @@ def api_find_town():
.limit(max_places)
.all())
if not places :
return jsonify(error='Nenalezena žádná obec.')
return jsonify(error='Nenalezena žádná obec. Zkuste zadat jen část názvu.')
# XXX: Nemůže se stát, že nastane přesná shoda a k tomu příliš mnoho nepřesných?
if len(places) >= max_places:
return jsonify(error='Nalezeno příliš mnoho obcí. Zadejte prosím více znaků jména.')
return jsonify(error='Nalezeno příliš mnoho obcí. Zadejte prosím více znaků názvu.')
res = []
for p in places:
......
......@@ -28,9 +28,9 @@
<div id='town_query-group' class='form-group row required{% if form.school.errors %} has-error{% endif %}'>
<label class='col-sm-2 control-label' for='town_query'>Škola</label>
<div class='col-sm-8'>
<input autofocus="" class="form-control" id="town_query" name="town_query" type="text" value="">
<input autofocus="" class="form-control" id="town_query" name="town_query" type="text" value="" placeholder="Nejdříve zadejte název obce.">
<div id='town_query-help' class='help-block'>
Zadejte prvních pár znaků jména obce a zmáčkněte Hledat.
Zadejte prvních pár znaků názvu obce a zmáčkněte Hledat.
Pokud se vám nedaří školu najít (například proto, že studujete v zahraničí),
informujte prosím <a href='{{ url_for('doc_about') }}'>správce OSMO</a>.
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment