Giter Site home page Giter Site logo

bering's People

Contributors

chseip avatar pkorduan avatar

Watchers

 avatar  avatar

bering's Issues

dev-7 Speichen von Beringungen, Eigenwiederfunden und Fremdfunden

  • Unterscheidung was für ein Fund das ist über die fundart in Datenbank
  • 1 Beringung
  • 2 Eigenwiederfund
  • 3 Fremdfund
  • Unterscheidung beim Listing der Funde
  • Unterscheidung nach Eingabe einer Ringnummer
  • Unterschiedliche Anzeige nach Speicherung und Übernahme von Daten in neues Form
  • Bei Speicherung einer neuen Beringung (Button Speichern) Neues Beringungsformular ohne Übernahme von vorhandenen Daten, außer aktuelles Datum und Zeit, ringnr leer.
  • Bei Speicherung einer neuen Beringung (Button "Speichern und Übernehmen") Daten übernehmen, siehe Issue dev-6)
  • Bei Eigenwiederfunde und Fremdfunde kein Button "Speichern und Übernehmen" anzeigen im views.beringungen.edit
  • Nach Speicherung eines Eigenwiederfundes und Fremdfundes Liste aller Beringungen anzeigen.
  • Bei Anzeige des edit Forms für Wiederfunde ringnr und vogelart von gefundener Beringung übernehmen.

dev-8 Auswahllisten und Checkboxen

  • Checkbox für Geschlecht
    M, F und leer, also Möglichkeit einbauen keine Auswahl zu treffen
    Datentyp in der Datenbank auf char 1 festlegen
  • Auswahlliste für Alter
    Wird geliefert. Datentyp in Datenbank auf varchar 10 ändern. Select-Feld in views.beringungen.edit einbauen.
  • Kommentare hinter Formularfeldern anpassen
    Hinter allen Attributen, die double(99,1) sind mm außer hinter gewicht da g schreiben. Speicherung muss auf 1 Nachkommastelle möglich sein. ggf. validierungsfunktion bauen, wenn es Probleme beim Speichern von Zahlen mit mehr Nachkommastellen geben sollte, dann runden.
  • Auswahllisten für SKZ_1 und SKZ_2
    Werden geliefert. Fest in View einbauen als Select-Felder
  • Zusätzliche Auswahllisten für Fundursache und Fundzustand
    Werden geliefert
    Spalten auch in Datenbank anfügen

dev-16 Weitere Anpassungen

  • Fundursache und Fundzustand nicht in Beringung, nur in Wiederfund, Fremdfund
  • Die Farbkodierung beim Export zusammenfassen zu Text, wenn Ringe sichtbar sind, wenn Inschrift sichtbar ist diese übernehmen. Funktion zum Befüllen der Werte.
    Am einfachsten für alle 5 neue Attribute in Daten und beim Exportieren zusammensetzen Wenn Inschrift not null und not leer, dann Inschrift nehmen sonst zusammensetzen aus lo/lu(li), ro/ru(re)
  • Farbcodierungen nur anzeigen in der Kombination skz_1=2 und skz_2=1
  • SKZ Values laden aus Datenbank commit ab6d6a1
  • Hochzählen der Nummer bei Cary-on Funktion auch wenn vor der Nummer ein Text steht, z.B. von IB123000 auf IB123001 siehe commit 9368fee
  • Metallring als Farbcode rausnehmen siehe commit fbfa9fb

dev-1 login

  • Header mit login Menüpunkt
  • View für Login
  • Authentifizierung statisch im Code

dev-20: Formularprüfungen

Hier werden vier neue Überprüfungen vorgenommen und entsprechende Fehlermeldungen angezeigt (in Klammern die Nummer aus der Excel-Tabelle):

  • Fehlermeldung, wenn bei Flügel, Teilfeder und/oder Gewicht ein Wert ohne Nachkommastelle eingegeben wird (dev-20)
    prüft das wirklich hart, d. h. "14,0" ist nicht möglich - ist das wirklich sinnvoll?
  • die Nachkommastelle „0“ wird nicht angenommen- also 122,0 macht er zu 122 und meckert, dass die Nachkommastelle fehlt
  • geht jetzt: ABER dadurch geht nur eine Nachkommastelle bei all den Werten. Wie viele Nachkommastellen sind denn sinnvoll? Bei 3 würde ein glatter Wert so angezeigt: "122,000"
  • Klappt nicht: Bei Gewicht kommt keine Fehlermeldung wenn keine Nachkommastelle angegeben ist
  • Fehlermeldung, wenn bei Uhrzeit ein Wert ohne Minuten eingegeben wird (dev-21)
  • Fehlermeldung, wenn bei Wiederfunden Fundzustand und Fundursache nicht eingegeben wurden (dev-22)
  • Fehlermeldung, wenn bei allen Datensätzen Gewicht angegeben wird, muss die Uhrzeit angegeben werden (dev-23)
  • Pflichtfelder beim Ausfüllen: Beringung: Ringnummer, Art, Alter, Datum, Uhrzeit; bei Funden: Ringnummer, Art, Alter, Datum, Uhrzeit, Fundursache und Fundzustand (dev-29).
  • Vorausfüllung/Defaultwert: Fundumstände "gefangen mit spez. Methode" und "kontrolliert von Beringer"/„lebend und frei von Beringer“ (dev-28)
  • Datum und die Uhrzeit nicht automatisch setzen, also einen Button, dass das automatische "Mitlaufen" deaktiviert (dev-33)
  • Ein Wunsch noch: Kannst du in der Altersliste mal „diesjährig“ nur 1x anzeigen lassen? – Übersetzung „1.J.“
  • Für „diesjährig“ gibt es 3 verschiedene Codes, deshalb werden die Codes jetzt in Klammern hinter der Bezeichnung angezeigt

dev-2

  • List of Beringungen
  • Filter list of Beringungen
  • Add classes to hide all nav-menues and function-menues at once
  • Speichern von Einzelformularen mit Beringungen
  • Form zum Suchen mit einer Ringnummer
  • Suchen nach Ringnummer und Anzeige eines neues leeren oder mit Wiederfunddaten gefüllten Forms.
  • Automatische Übernahme der user_id für beringernr
  • Automatische Übernahme von Datum und Zeit
  • Anpassung des Attribut zeit von datetime auf time
  • Anpassung der Werte in der Datenbank
  • Abfrage und Befüllung der Arten Auswahlliste

dev-19: Änderungen Datensatz werden nicht gespeichert

  • bei Korrekturen an einem bestehenden Datensatz müssen die Änderungen gespeichert werden
  • Wenn du einen DS abgespeichert hast und diesen dann danach verändern willst (egal ob Gewicht, Alter,..) dann wird das nicht abgespeichert, der DS bleibt einfach bestehen.

dev-15 Merge develop into dev-12

Manuelles Zusammenführung von develop und dev-12. Wird nicht automatisch gemacht, weil dev-12 zu alt ist und vieles was in dev gemacht wurde eventuell im Merge Konflikt landen würde.

dev-3 Beringung edit Vogelartenliste und Datum, Zeitpicker

  • Abfrage und Befüllung der Arten Auswahlliste für den edit Beringungen view
    Die Abfrage soll in einem extra Modell in einer Methode findWhere() erfolgen, wie auch z.B. im users model. Der Aufruf in dem beringungen controller function edit vor dem Darstellen des Forms.
    Die Optionen im Feld vogelart hinzufügen und das was im Datensatz ausgewählt ist auf selected setzen, falls vorhanden. Option ist attribut suchen, Value ist attribut arart.
  • Datum und Uhrzeit in function setDatenAndTimeToForm so setzen, dass das mit dem Date und Time Picker funktioniert. Beachten, dass in der Datenbank das datum Feld jetzt den Typ Date und uhrzeit den Typ Time hat. Den Datentyp in der Datenbank auf Text ändern und den Tag so formatieren "DD.MM.YYYY" Im Model beringung in Funktion validate einen Switch Case
    ['datum'].indexOf(field.id) > -1
    einführen und darunter testen ob die Datumseingabe DD.MM.YYYY ist. Wenn der Date-Picker das Datum nicht als DD.MM.YYYY schreiben kann den Wert durch eine Funktion in das Format bringen.

dev-5 Einstellungen editieren und speichern

  • Attribut beringungsort und koordinaten aus view.beringungen.edit und Datenbank entfernen
    Die Werte werden als default Werte aus den Einstellungen entnommen und gesetzt.
  • Tabelle für settings einrichten
    Mit Attributen für beringungsort, koordinaten, (beide wie in es in daten war) kreis varchar 50, sicherungspfad varchar 255 und loesch_funktion_an (boolean)
  • Beringungsort in Einstellungen einstellbar machen
    Im view.settings.edit Formfelder zum Eintragen des Beringungsortes, der Koordinaten und des Kreises. default 'A021Insel Langenwerder', Koordinaten von da '540200n0113000e', Kreis: NWM
  • Model für settings
    Speichern der Settings in model. Controller function edit. Button zum Speichern in view edit und click event im controller registrieren

dev-25: Suche, Sortieren und Filtern

  • Suchfunktion, Sortiermöglichkeit und Anzeige nach Ringnummer und/oder Art, auf- oder abwärts usw., damit man nicht immer alle Beringungen/Wiederfunde auf der Seite hat, sondern sagen kann: "Ich möchte alle Alpenstrandläufer, deren Ringserie mit OC beginnt" (dev-25)
  • unklar, wie es genau aussehen soll, sollte es noch tiefer gehen hilft vllt. Filter Control
  • Sortierungsmöglickeiten in Tabellen (dev-26)
  • Filterung: so dass man nach Art und/oder Ringnummer und/oder Datum (vlt. da nur Monat/Jahr) filtern kann. Anzeige aller Attribute muss möglich sein, wenn nicht gewünscht, sollten dies händisch auszublenden sein. Na die Übersicht zeigt jetzt nur einen Teilbereich, ich möchte quasi auswählen können, welche mir angezeigt werden. So ist für manche das Schnabelmaß entscheidend, ich will aber eher Flügel und Gewicht sehen, andere wiederum alles (dev-27)
  • Suchfunktion funktioniert nicht/braucht sehr lange (dev-35)

dev-4 login auf Datenbank

  • Login über Einträge in Datenbank prüfen
    window.login_controller umbenennen in window.controllers.login und an allen Stellen im Quellcode anpassen wo das notwendig ist.
    Im login Controller in der Funktion login in der Datenbank abfragen ob username und passwort übereinstimmen und die beringernr des Nutzer abfragen und in der session Variable setzen.
  • nutzer zu user
    views.nutzer löschen und an den Stellen wo views.nutzer.menu.html eingebunden und genutzt wurde löschen. Alles zu nutzer nur noch über mvc von user
  • eigenes Passwort ändern
    Befüllung von user.list.html im controllers.user.list so anpassen, dass nur der eigene User editierbar ist.
    views.user.edit.html erstellen zum Ändern des Passwortes
    controllers.users.edit so anpassen, dass die Daten des Users geladen werden über findWhere('beringernr = ....session.beringernr') und damit der view gefüllt und angezeigt wird.
    Funktion zum Speichern der Änderung des Passwortes in model.user. Funktion validate in model.user zur Prüfung ob 1. und 2. Passwort gleich sind und Passwort 1 lang genug (min 6 Zeichen und min eine Zahl und ein Buchstaben.)

dev-17 Probleme beim Export (Fr. Kreutzer)

Erst einmal die Beschreibung von Fr. Kreutzer:

Die Schnittstellen des Exports passen jetzt- bis auf 3 kleine Anpassungen- siehe Datei Anhang- eine Zeile eines anderen Beringers und die richtige Schnittstellenanordnung ist dort mit enthalten (da: 92 Flügel, 68 Teilfeder, 26,9 Gewicht). Es fehlt ein Zeichen bei der Ringnummer, die morphologischen Angaben müssen an die richtige Stelle und wenn man in Bemerkungen einen Umlaut eingibt, verschiebt sich die Zeile 1 Stelle nach hinten. Eine Frage noch: dass es nach diesem speziellen Zeichen nicht weitergeht, ist so gewollt? Ansonsten würden danach ja noch die NG o.ä. kommen..siehe 2. Zeile des anderen Beringers.

Ihre Beispieldatei kann ich hier leider nicht hochladen.

Ich versuche hier immer mal wieder mein Verständnis ihrer Probleme hier zu ergänzen.

dev-12 Exporte

  • Attribut exportiert in Datenbank einfügen
    Datentyp boolean, default false, nicht editierbar und nicht anzeigen in views.beringungen.edit
  • Exportpfad in Einstellungen einbauen
    View erweitern, Datenbanktabelle anpassen
  • Validierung der Pfade der Einstellungen
    In settings model validieren ob die Pfade auf Rechner existieren, wenn nicht Warnung.
  • Export für Beringungen in BDatei Format
  • Format wird geliefert
  • Auswahlmöglichkeit für das Jahr und ob alle oder nur solche, die noch nicht exportiert wurden.
    "Nur solche, die noch nicht exportiert wurden" und aktuelles Jahr als default-Einstellung.
  • Export nur für eigene beringernr
  • Export für Eigenwiederfunde in WDatei Format
    -Format wird geliefert
  • Rest wie bei Beringungen
  • Export für Fremdfunde in WDatei Format
  • Format wird geliefert
  • Rest wie bei Beringungen
  • Alle exportierten auf exportiert = true setzen
  • Vor Export prüfen ob Exportpfade erreichbar sind.
  • Nameskonvention der Exportdateien
    [B|W]1234nr
    B oder W, beringernr 4 stellig, laufende Nummer, falls schon eine Datei des Beringers vorliegt nach größter Nummer weiterzählen.

dev-34: Mehrere Wiederfunde nacheinander

  • wenn man einen Wf eingibt und abspeichert, springt das Programm automatisch danach auf "Beringung", das müßte man rausnehmen. Es kann bei Wf erfassen bleiben, also bei der Startseite von Wf erfassen, wo man die Ringnummer eingeben kann (meistens gibt man mehrere Funde hintereinander ein)

dev-14 Build and Pack

  • Beschreibung zur Erzeugung einer exe für windows in der alles benötigte enthalten ist.
  • Wo liegt die Datenbank, wenn das Programm in einer exe liegt? Legt die exe beim Start ein Verzeichnis an wo dann auch die Datenbank drin liegt?
  • Testen der Anwendung als exe
  • msvcp140.dll wieder hinzufügen

Überprüfung auf bereits existierende Ringnummern

Was mit im Zusammenhang mit meinem versentlichen push in #18 aufgefallen ist und was vllt. noch gemacht werden müsste:

  • warum kann man danach nicht mit geänderter ringnr speichern?
  • Zurücksetzen des/der Formular/e, damit Meldung weggeht und vor allem, damit man weiter eintragen kann (sonst Neustart nötig, um weiter zu machen)

dev-39: DB-Problem Zeilenhacker

Anfrage von Susanne:
Schau dir mal nebenbei noch die Datei an (Fehler Uhrzeit etc. ignorieren): es gibt mehrere Zeilen“hacker“ – kann es sein, dass bei großen Dateien das nicht gut exportiert wird?
Sieht dann so aus:
zeile553

Datenbank dazu:
bering_db.zip

dev-6 Carry on Funktion

  • Umbenennung window.beringungen_controller in window.controllers.beringungen
    Und Anpassungen über da wo der Name verwendet wird.
  • Einführen Button "Speichern und Übernehmen" in beringungen.edit
  • Function carry_on im beringungen controller
    In der Funktion Datensatz speichern und die vorhandenen Werte in ein neues Eingabeformular wie folgt übernehmen.
  • Ringnr + 1, gleiche vogelart, gleiches alter, gleiche beringungsart, aktuelles Datum, aktuelle Uhrzeit
    Beringernr im edit form sichtbar aber nicht editierbar einstellen (inactive)
    Registrieren des Events auf den Button im beringungen controller Aufruf der Funktion carry_on

dev-24: CSV/Excel Export

  • nach Jahren und/oder Arten etc.
  • man wählt z. B. ein Jahr und exportiert dann alle Datensätze von z. B. einer Art oder einem bestimmten Zeitraum (Sep.-Nov.) oder ähnlichem, mit allen Attributen jeweils, also alle Angaben, die in der Maske eingegeben werden können.
  • Auswahlfeld, ähnlich wie eine Filtermaske. Da kann man dann Häkchen setzen für die Sachen, die man will und einen Zeitbereich in dem gesucht werden soll.
  • keine Formatvorgabe!

vgl. #20

dev-10 Layout

  • Highlighting von Menüpunkten
    Wenn man mit der Mouse über die Punkte geht leicht geänderte Hintergrundfarbe.
    Aktive Button und Menüpunkte hervorheben.
  • Pastelfarben
  • Abgerundete Buttons passend zu den Input-Feldern
  • Sortierfunktion für jede Spalte in Liste der Beringungen
  • Pagination
    Prüfen ob man die Liste in einem Bootstrap-Table anzeigen kann. Dort max 25 Zeilen pro Seite. Sortierfunktion, Blättern, Filtern und Spalten Ein- und Ausblenden ist dann schon im Funktionsumfang enthalten.

dev-13 Migration und Doku

  • Migration für Datenmodell ermöglichen
  • Verzeichnis für Migrationsdateien
  • Datenbanktabelle für migrationen
  • Funktion zum Ausführen der noch nicht migrierten Dateien.
  • Version anzeigen
  • Versionsnummer in Datei VERSION schreiben und den Wert auslesen und bei Einstellungen mit Anzeigen.
  • README.md anpassen
  • Kurzbeschreibung
  • Infos zur Installation
  • Infos zur Aktualisierung des Quellcodes
  • Infos zum Ausführen der Migration
  • Link "Über bering" einbauen
    Zeigt auf die README.md Seite in lesbarer Form an.

dev-19 Zusatzanforderungen Fr. Kreutzer (Oberfläche+CSV-Export)

Priorisierung aus einer Mail von Fr. Kreutzer vom 20.03.2019:

  1. Filter/Sortierung
  • Anordnung/Darstellung bei „alle Beringungen“, „meine Beringungen“ etc. möglich nach: Ringnummer, Art, also eigentlich nach allem, möglich über Einstellungsfeld oder so
  • Am besten oben einen Button, wo man auswählen kann, was man sich anzeigen lassen möchte und dann „sortieren nach“ (z.B. Ringnummer aufsteigend, Gewicht,..) ähnlich wie man das in Excel macht
  1. Spalten zusätzlich in Übersicht
  • auch Spalten für Flügel, Schnabel,..usw. einblenden können
  • Deswegen ja aussuchen, was man will, die meisten wollen nur das Grobe, manche gerne noch die morphologischen Dinge dazu..vielleicht kann an die Spalten dann auch anpassen, dass die Schrift kleiner wird wenn mehr in einer Zeile zu sehen sein soll oder so?!
  1. CSV-Export
  • Ein möglicher Export von allen Daten (B und WF) des Jahres mit allen Attributen nach Excel müßte zu Auswertungszwecken umgesetzt werden (geht das?)
  • Es wäre gut, wenn man wählen könnte: alle Beringungen/Wiederfunde von allen Jahren (auch für eine Sicherung als Excel) und ein bestimmtes Jahr. Die Attribute sollten alle übernommen werden, das wird zwar eine Riesentabelle, aber man kann sich dann selbst filtern, was man möchte. Der Ort kann weggelassen werden, wichtig ist aber auch der Benutzer/Beringer. Da reicht die 4stellige Beringernummer. Reihenfolge so, wie es im Eingabefeld vorgesehen ist, da musst du nicht hexen.

dev-11 Sicherung

  • Funktion zum Kopieren der Datenbankdatei auf ein anderes Verzeichnis
    Auf das Verzeichnis, welches in Einstellungen eingestellt ist.
    Signal an main - Prozess für Zugriff auf lokale Festplatte oder externes Laufwerk bzw. eingesteckten USB-Stick.
  • Funktion immer aufrufen wenn gespeichert wurde.
  • Nicht immer die gleiche Datei überschreiben, sondern nach Alter über 17 Dateien rotieren.
    Immer die älteste überschreiben.
  • Prüfen wie lange das dauert und ggf. asynchron Prozess anstoßen. Als wenn noch kopiert wird, dann wartet der nächste Prozess darauf bis der andere fertig ist, aber die Bearbeitung kann schon weiter gehen. ggf. Bei carry_on Speicherung auch Sicherung erst nachdem eine gewisse Zeit vergangen ist nach dem Speichern. Wenn zwischendurch öfter gespeichert wird, das Speichern aussetzen und nur den letzten dann speichern nach dem genügend Zeit vergangen ist. Also ein timer der zählt wieviel zeit vergangen ist nach dem speichern und wenn innerhalb einer Schranke wieder gespeichert wird fängt der Timer von vorn an zu zählen. Die Schranke ist so groß wie das Speichern einer Datei dauert.

dev-9 Hilfe

  • view für Hilfe einrichten und mit Nav-bar verknüpfen.
  • Beschreibung der Funktionen. Jeweils was sich hinter den Menüpunkten und Speicherknöpfen verbirgt mit Screenshots als Beispiel.

dev-18 Export von Wiederfunden

Die Anforderungen dazu sammle ich grade. Mehr später.
Eigentlich wurde das ja auch bereits im Rahmen von #13 gemacht.

Mail vom 13.03.2019:

Schnittstellen anpassen und Ringnummern mit Null auffüllen muss noch realisiert werden.

Generell: hab OC6162 und OC6170 genommen, weil die als Beringung schon angelegt waren. Hat er nicht gefunden und als Fremdfund angelegt. Ist aber Eigenwiederfund weil Beringer=Finder. Den AA-Ring hab ich als fremden gewählt, noch nicht im Datenbestand, das wäre dann so ein Fremdfund. Hätte also im Export sein müssen: 2 Eigenwiederfund, 1 Fremdwiederfund.

Beim ersten Anlegen von OC6162 konnte ich Fundzustand/Fundursache wählen, nach dem speichern und Neuwahl von „Fund“ sprang zwar die Fundmaske auf, es stand aber „neue Beringung“, und es gab nicht mehr die Felder Fundzustand/Fundursache, sondern nur SKZ1 und SKZ2. Du siehst in der Datei, dass die Felder leer sind (oben steht noch 6-22). Das darf so auch nicht sein.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.