rowe42 / lhm_animad_admin_html5

0 stars 6 forks source link

Keeper Entity benötigt zum Speichern Skill-Array auf Englisch, bekommt Einzelskill auf Deutsch #188

Closed rowe42 closed 6 years ago

rowe42 commented 6 years ago

Beim Speichern eines Keeper Entities (i.e. POST zu /keepers) erwartet das Backend beim Feld Skill ein Array mit den englischen Begriffen, die auch im Backend als Keys verwendet werden (siehe Entity Features_.java, referenziert von Keeper_java im package de.muenchen.animad.admin.administration.service.gen.domain von animad_admin_service).

Unser aktuelles Frontend schickt aber einen Einzelnen Skillwert, und zwar - bei Spracheinstellung DE - die deutsche Übersetzung.

Ich Branch _#156 (Pull Request #182) habe ich das mal hardcoded auf einen Wert gesetzt in animad_keeper_form.html:

             validate() {
                 //HACK in order to get the keeper saved. Fixme!!!
                this.data.skill = ['cleaning'];
                var valid = this.shadowRoot.querySelector('#iform').validate();
                return valid;
            }   

Das kann natürlich nicht so bleiben. Das Frontend muss also den Wert in den englischen Key umwandeln und das Ganze in Form eines Arrays schicken (kann man das Feld in ein Multi-Value-Field umwandeln?)

@xdoo @ejcsid @Baumfrosch @dragonfly28

DirkGern commented 6 years ago

Kleine Anmerkung: ich hätte den Key in Gröoßbuchstaben geschrieben, um ihn vom englischen Literatur zu unterscheiden. Oder verstößt das gegen eine Konvention.

rowe42 commented 6 years ago

@Baumfrosch Die Keys werden in Java Enums übesetzt. Da scheint es sogar Konvention zu sein, alles uppercase zu machen (https://softwareengineering.stackexchange.com/questions/284344/is-it-okay-to-go-against-all-caps-naming-for-enums-to-make-their-string-represen). Muss man aber in der "heiligen" DSL-Vorlage machen und die werde ich hier nicht anfassen ;-)

Habe das jetzt gefixt und in Branch _#175 eingecheckt und einen Pull Request für @ejcsid erstellt. Habe allerdings noch das Tag gewechselt, da das bestehende paper-dropdown-menu mit Multi-Values nicht so gut klarkommt wie es aussieht (habe auf Anraten von @ejcsid aber ein Issue dort aufgemacht: https://github.com/PolymerElements/paper-dropdown-menu/issues/280). In der Zwischenzeit verwenden wir https://github.com/pushkar8723/paper-dropdown, das ist zwar nicht von Google aber funktioniert grundsätzlich ganz gut. Einziges Problem ist, dass dort an einer Stelle hardcoded ein englischer Text kommt. Dafür habe ich aber beim Entwickler einen Pull-Request gestellt (https://github.com/pushkar8723/paper-dropdown/pull/8).

rowe42 commented 6 years ago

Mein Branch ist mittlerweile zu master gewandert. Das Problem, dass da noch ein englischer Text an einer bestimmten Stelle kommt, habe ich mit einem neuen Issue bedacht: #199

Ich schließe damit dieses Issue.