|
Hallo Lepiforum,
Motivation:
Scheinbar passiert es immer wieder dass bei den Funddaten falsche Dinge eingeben werden, das Formular tut diese auch nicht filtern und einfach als Text übernehmen. Man kann einfach irgendwas eingeben und es geht durch. Einige der gängigen Fehler könnte man aber einfach abfangen, und korrigieren. Aktuell ist es so das als Nutzer das Erlebnis nicht so toll ist wenn man dann als einzige Reaktion zu seinem Beitrag nur hört was man falsch gemacht hat und es eh nicht mehr ändern kann. Da geht man dann lieber wieder zurück nach Facebook oder so.
Nach dem es mir auch mal wieder passiert ist das ich NRW statt Nordrhein-Westfalen einzugeben, habe ich mir mal angesehen wie diese Verarbeitet wird. Und sie da, man könnte sie recht einfach verbessern. Es wäre ein einfacher Schritt um etwas mehr Benutzerfreundlichkeit zu haben.
Lösung:
In datahelperentry.js in /custom/ gibt es eine Funktion namens constructFindData, wo man gängige Fehler wie NRW einfach abfangen und korrigieren könnte.
Auch ließe sich dort evtl. das Datum abfangen wenn man den Monat nicht ausschreibt, habe aber diesen Code nicht zum laufen bekommen im lokalen Entwicklermodus. Er sollte korrekt sein, das Problem ist evtl. dass der Browser das lepiforum im Legacy Modus ausführt, wo dies nicht unterstützt wird.
Weiteres könnte hier natürlich auch noch abgefangen werden. Dazu fehlt mir die Übersicht über die gängigen Fehleingaben. Ich selber bin zwar Softwareentwickler, aber JavaScript ist nicht was ich normalerweise mache. Über die untere Funktion sollte also noch mal jemand drüber schauen...
// datahelperentry.js Zeile 251
function constructFindData() {
var country = getResultLineValue("country");
var canton = getResultLineValue("canton");
var uc = canton.toLowerCase();
if(uc == "nrw")
canton = "Nordrhein-Westfalen";
else if(uc == "bawü")
canton = "Baden-Württemberg";
else if(uc == "by")
canton = "Bayern";
var city = getResultLineValue("city");
var place = getResultLineValue("place");
var altitude = getResultLineValue("altitude");
var date = getResultLineValue("date");
/*
var ldate = Date.parse(date);
if(!isNaN(ldate) )
{
const options = { year: 'numeric', month: 'long', day: 'numeric' };
date = ldate.toLocaleDateString("de-DE",options);
}//*/
var find = getResultLineValue("find");
var photo = getResultLineValue("photo");
var author = getResultLineValue("author");
var result =
country + ", " +
canton + ", " +
city + ", " +
place + ", " +
altitude + ", " +
date + ", " +
find + " (" +
photo + ": " +
author + ")";
return result;
}
Gruß,
Jens Weller