Crash při přidělování práva, které nemám (problémy s populate_obj)
Pokud zkusím někomu přidělit právo, které nemám, aplikace spadne zde:
File "/aux/akce/mo/osmo-test/venv/lib/python3.7/site-packages/mo/web/org_users.py", line 200, in org_org
role_errors.append(f'Roli "{new_role}" nelze přidělit, není podmnožinou žádné vaší role')
File "/aux/akce/mo/osmo-test/venv/lib/python3.7/site-packages/mo/db.py", line 321, in __str__
parts = [self.role.friendly_name()]
Problém je v tom, že self.role byla vyplněna z formuláře funkcí populate_obj(), která ovšem neví nic o tom, že sloupeček je typu enum, a suverénně tam nacpe string. ORMu to nevadí, ten prostě pošle string databázi a ta ho spokojeně schroustám - proto úspěšné přidělení role projde. Ale jakmile se pokusím v chybové hlášce roli vypsat, narazím na to, že string žádnou metodu friendly_name() nemá.
Bude tedy potřeba při kopírování dat z formuláře do ORMového objektu správně zkonvertovat enumy. Bylo by hezké umět to nějak obecně, asi stačí vyrobit vlastní select widget, který si přetíží populate_obj. Kdyby to nešlo snadno, tak to aspoň na tomto místě zazáplatujme ruční konverzí, ať to uživatelům chodí.