skills icon indicating copy to clipboard operation
skills copied to clipboard

New-Skills: Automatically Add Default-Set Skills to people_skills

Open Robin481 opened this issue 1 year ago • 9 comments

When a Skill is set as a default_set it should show up as a new skill for all Members.

As we don't want to actually set the skill for each person in the database it should be a form above the skills of a person that has the values of the default_set skills that the user doesn't yet have prefilled.

Example from the old application:

image

TODO:

  • Create a form above a person's people_skills that contains a pre filled form for all the default-set skills a person doesn't have yet.
  • On submit only the filled out skills should be submitted
  • A skill should be selectable as "not filled out" and be added with interest and level 0
  • Tests
  • :rock:

Robin481 avatar Apr 09 '24 11:04 Robin481

Vorgehen

  • [x] Edit form mit allen nicht bewerteten default skills erstellen
  • [x] Styling
  • [x] Nicht bewerten button
  • [x] Button um form wegzuklicken & abbrechen button
  • [x] Tests
  • [x] Specs & Smoke-Tests
  • [ ] Review

RandomTannenbaum avatar Apr 26 '24 12:04 RandomTannenbaum

Stand 26.04.2024 Heute habe ich das Form eingebaut, das mit allen default Skills gefüllt ist, die der User noch nicht bewertet hat. Ich habe auch schon erstes Styling vorgenommen. Momentan arbeite ich noch am "Nicht bewerten" button.

RandomTannenbaum avatar Apr 26 '24 14:04 RandomTannenbaum

Stand 29.04.2024 Heute habe ich hauptsächlich am "Nicht bewerten" button gearbeitet. Dieser funktioniert nun auch, ich muss ihn aber noch korrekt im layout alignen.

RandomTannenbaum avatar Apr 29 '24 13:04 RandomTannenbaum

Stand 03.04.2024 Heute habe ich noch die Logik für den cancel-button eingebaut, das styling weiter überarbeitet und angefangen tests zu schreiben. Ausserdem habe ich allgemein an bugs des features gearbeitet.

RandomTannenbaum avatar May 03 '24 13:05 RandomTannenbaum

Stand 06.04.2024 Heute habe ich die Specs fertig geschrieben und mit dem feinschliff angefangen, da das feature grundsätzlich funktioniert.

RandomTannenbaum avatar May 06 '24 14:05 RandomTannenbaum

Updated ToDo

  • [x] Flaky tests
  • [x] Unrated skill-slider sends value 1 instead of 0 to server

RandomTannenbaum avatar May 07 '24 12:05 RandomTannenbaum

Stand 07.05.2024 Heute habe ich mich noch an bugfixes gemacht. Zum Beispiel werden schon ausgefüllte default-skills jetzt nicht mehr resetet wenn man "nicht bewerten" drückt.

Was noch fehlt:

  • Einige tests sind noch flaky. Darunter soweit ich gesehen habe vorallem tests die mit den people-skills zu tun haben.
  • Der level slider sendet immer mindestens einen Wert von 1 an den Server, obwohl unbewertete Skills den Wert 0 beim level haben. Dadurch können wir im controller nicht überprüfen, welche Skills wir wirklich saven wollen.

RandomTannenbaum avatar May 07 '24 14:05 RandomTannenbaum

Stand 13.05.2024 Heute habe ich zuerst noch die tests ergänzt und dann am error handling gearbeitet. Da es da noch einige schwierigkeiten gab, haben wir uns nun dazu entschieden das ui so zu gestalten, dass diese errors gar nicht auftreten können. Das werde ich als nächstes implementieren.

RandomTannenbaum avatar May 13 '24 13:05 RandomTannenbaum

Stand 14.05.2024 Heute habe ich das ui so gestaltet wie besprochen und bugs gefixt. Danach habe ich rebased und habe jetzt noch mit bugs nach dem Rebase zu kämpfen.

RandomTannenbaum avatar May 14 '24 14:05 RandomTannenbaum

Stand 21.05.2024 Heute habe ich den rebase beendet und begonnen die letzten bugs zu fixen. Dazu habe ich auch noch begonnen, einen reset Knopf einzubauen, um Skills beim bearbeiten auf not rated zurücksetzen zu können.

TBD:

  • [x] Skills beim Bearbeiten reseten.
  • [x] Star-selector in partial
  • [ ] Tests zum reset ergänzen
  • [x] Tests fixen (evtl. flaky)
  • [x] (Not-rated state evtl. direkt auf model speichern und Skills beim nicht bewerten in callback reseten)

RandomTannenbaum avatar May 21 '24 14:05 RandomTannenbaum

Stand 24.05.2024 Ich habe nun den reset Knopf für das Bearbeiten der Skills eingebaut. Ausserdem habe ich die Sterne für den skill-level select in ein partial ausgelagert, damit wir diese überall einheitlich verwenden können.

Jetzt muss ich noch failende Tests fixen und einen Test für den reset Knopf ergänzen.

RandomTannenbaum avatar May 24 '24 14:05 RandomTannenbaum

Stand 31.05.2024

  • Die edit view der people skills einer Person wurde komplett ausgebaut
  • Man kann nun die people-skills in der Übersicht direkt inline bearbeiten und diese werden auch direkt abgeschickt
  • Neu gibt es auf dem people skills Objekt eine Property namens unrated, die einen boolean-value besitzt.
  • Klickt man im Frontend auf Nicht Bewerten, wird diese Property auf true gesetzt. Im before_create bzw. before_update hook des people skill models werden in diesem Fall alle Felder zurückgesetzt.
  • Diese hooks sorgen auch dafür, dass man das Level nicht auf unrated zurücksetzen kann, wenn das Interesse nicht 0 ist. Ausserdem werden Level oder Interesse automatisch auf 1 gesetzt, sobald man bei einem Nicht bewerteten Skill den jeweils anderen Wert ändert.

Was noch fehlt:

  • Wenn man einen Wert in der Übersicht auf not-rated setzt und dann die seite mit f5 neu lädt, springt der level slider zurück auf seine alte Position, das Label zeigt jedoch immer noch nicht Bewertet. Auch die anderen Werte werden auf ihren vorherigen Stand gesetzt. Nach dem bearbeiten eines Wertes scheint sich dies wieder zu korrigieren. Ich habe die Vermutung, dass es etwas mit dem Caching von Turbo oder dem Browser selbst zu tun hat, da sich das Problem nach einem force-reload behebt.
  • Die unrated Property muss bei nicht bewerteten Skills wieder auf false gesetzt werden, wenn diese bearbeitet werden. Ich habe sie schon an eine entsprechende Stimulus Action angebunden. Die Funktion rateSkill im Stimulus-Controller people_skills_controller.js muss jedoch noch fertig geschrieben werden.
  • Einige Tests laufen durch den Umbau nicht mehr bzw. müssen auf das neue inline Editing umgeschrieben werden.
  • Der Reset-Button beim Bearbeiten wurde noch nicht getestet.
  • Die Level-Sterne im model um einen people skill zu hinzuzufügen, werden bei einem Fehler zurückgesetzt.
  • Es muss noch gerebased werden.

RandomTannenbaum avatar May 31 '24 14:05 RandomTannenbaum

  • rate Funktion implementiert
  • unrated property wird auf false ge­setzt
  • Es wurde gerebased
  • Einige tests wurden gefixed

kcinay055679 avatar Jun 06 '24 14:06 kcinay055679

ToDo

  • [x] Reset Button beim Edit testen
  • [x] Testen das Level und Interest value beide 0 oder beide > 0 sind, aber niemals einer 0 und der andere > 0.
  • [x] Edit skills testen
  • [x] Tests fixen
  • [ ] Machen, dass sich die Felder bei einem Reload nicht visuell zurücksetzen

RandomTannenbaum avatar Jun 07 '24 05:06 RandomTannenbaum