From c51e1aee0ab08cedf962140ab12aff43cc1d137d Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Sat, 12 Nov 2022 14:17:42 +0100
Subject: [PATCH] =?UTF-8?q?Registrace:=20Drobn=C3=A1=20vylep=C5=A1en=C3=AD?=
 =?UTF-8?q?=20okolo=20hled=C3=A1n=C3=AD=20m=C4=9Bst?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

  • 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.
---
 mo/web/api.py                         | 14 +++++++-------
 mo/web/templates/user_join_round.html |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/mo/web/api.py b/mo/web/api.py
index 1f0ac5c7..a9b1b0a6 100644
--- a/mo/web/api.py
+++ b/mo/web/api.py
@@ -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)
@@ -32,11 +32,11 @@ def api_find_town():
                   .order_by(db.Place.name, db.Place.place_id)
                   .limit(max_places)
                   .all())
-        if not places:
-            return jsonify(error='Nenalezena žádná obec.')
+        if not places :
+            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:
diff --git a/mo/web/templates/user_join_round.html b/mo/web/templates/user_join_round.html
index 9745b1b8..c9cf2b5a 100644
--- a/mo/web/templates/user_join_round.html
+++ b/mo/web/templates/user_join_round.html
@@ -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>
-- 
GitLab