( crt | 2011. 08. 20., szo – 12:45 )

Vannak felhasznaloid egy external db-ben, van egy parameter is_elevated, erteke true/false. Szeretned ezt az erteket szerepeltetni a redmine oldalon.

Pontosan.

1 megkozelites) letrehozok a felhasznalon egy boolean tipusu custom field-et (is_elevated), alapertelmezett erteke false. Ha a masik db azt mondja, hogy marpedig o egy kiemelt user, akkor atbokom true-ra.

Ez az amit szerettem volna, de nem tudom, hogy hogyan tudok true értéket adni neki. Vagy közvetlenül az adatbázisban gondoltad átírni?

2 megkozelites) letrehozok egy elevated_users nevu csoportot, aminek fixen ismerem a nevet. Amikor a user belep, akkor megnezem, hogy az external db szerint az user elevated-e. Ha igen, megnezem, hogy a redmine oldalan tagja-e az elevated_users csoportnak ( Group.find_by_name('elevated_users').members.collect(&:name).include?(current_user.name) ). Ha nem, akkor cumi, be kell rakni (ha jo a kapcsolat, akkor ezt barmelyik oldalrol kezdemenyezheted), ha tagja, akkor skip.

Ezt sikerült megoldani és működik is, a probléma, hogy ezzel még nem tudom megmondani, hogy az aki a hibajegyet létrehozta a létrehozás pillanatában kiemelt felhasználó volt-e vagy sem (a későbbiek során a felhasználó ezen státusza változhat).

Alternatív megoldás lehetne, a 2. módszerrel és egy issue custom field-el megoldani, hogy a field csak akkor jelenjen meg a hibajegy felvitelekor, ha a felhasználó tagja az elevated_users csoportnak, de ilyen finom jogosultsági beállítást nem találtam még a külső modulok között sem.

Köszönöm az eddigi segítséged, nézegetem én is, ha esetleg lesz rá időd és ránézel azt megköszönöm.

Üdv: Zoli