Version 1.2.14: Autovervollständigung für Fachrichtungen

This commit is contained in:
2025-03-21 10:53:37 +01:00
parent 3893e148ab
commit 6283ccff6d
3 changed files with 34 additions and 2 deletions

View File

@@ -5,6 +5,12 @@ Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert
Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/), Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/),
und dieses Projekt adhäriert zu [Semantic Versioning](https://semver.org/lang/de/). und dieses Projekt adhäriert zu [Semantic Versioning](https://semver.org/lang/de/).
## [1.2.14] - 2024-03-20
### Hinzugefügt
- Autovervollständigung für das Fachrichtungsfeld
- Neue API-Route für Fachrichtungsvorschläge
- Optimierte SQL-Abfragen für die Fachrichtungssuche
## [1.2.13] - 2024-03-20 ## [1.2.13] - 2024-03-20
### Fixed ### Fixed
- Korrektur der Parameteranzahl in der SQL-Abfrage für die allgemeine Suche - Korrektur der Parameteranzahl in der SQL-Abfrage für die allgemeine Suche

View File

@@ -14,7 +14,7 @@ Eine moderne Webanwendung zur Suche und Verwaltung von Kundendaten, die MEDISOFT
## Version ## Version
Aktuelle Version: 1.2.13 Aktuelle Version: 1.2.14
## Installation ## Installation

28
app.py
View File

@@ -18,7 +18,7 @@ logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# Version der Anwendung # Version der Anwendung
VERSION = "1.2.13" VERSION = "1.2.14"
# Pfad zur Datenbank # Pfad zur Datenbank
DB_FILE = 'data/customers.db' DB_FILE = 'data/customers.db'
@@ -348,6 +348,32 @@ def search():
logger.error(f"Fehler bei der Suche: {str(e)}") logger.error(f"Fehler bei der Suche: {str(e)}")
return jsonify({'error': str(e)}), 500 return jsonify({'error': str(e)}), 500
@app.route('/api/fachrichtungen')
def get_fachrichtungen():
try:
search_term = request.args.get('q', '').lower()
conn = get_db_connection()
c = conn.cursor()
# Hole alle eindeutigen Fachrichtungen, die mit dem Suchbegriff übereinstimmen
c.execute('''
SELECT DISTINCT fachrichtung
FROM customers
WHERE fachrichtung IS NOT NULL
AND fachrichtung != ''
AND LOWER(fachrichtung) LIKE ?
ORDER BY fachrichtung
LIMIT 10
''', (f'%{search_term}%',))
fachrichtungen = [row[0] for row in c.fetchall()]
conn.close()
return jsonify(fachrichtungen)
except Exception as e:
logger.error(f"Fehler beim Abrufen der Fachrichtungen: {str(e)}")
return jsonify([])
def init_app(app): def init_app(app):
"""Initialisiert die Anwendung mit allen notwendigen Einstellungen.""" """Initialisiert die Anwendung mit allen notwendigen Einstellungen."""
with app.app_context(): with app.app_context():