Nodereference select options

stamina képe

Sziasztok,

Drupal 6 alatt, legfrissebb CCK-val a problémám a következő lenne, amivel nem tudok megküzdeni.
Adott egy tartalomtípus (type1), amiben van egy nodereference select lista egy másik tartalomtípusra (type2). Saját modulból szeretnék kivenni pár elemet a listából (type2 elemekből), annak függvényében milyen jogosultságú felhasználó akar ilyen (type1) tartalomtípust beküldeni.
Próbáltam már form_alter-be betenni #after_build-et, #process-t, #theme-t de sehogy nem találtam a megoldást, mert nem kaptam meg az #options értékeket. Keresgéltem drupal.org-on, de nem sok eredménnyel.
Tud valaki segíteni ezügyben? Hogyan próbálkozzak, illetve van-e esetleg teljesen másik ut? (pl magam generáljam le a select #options-ket?

Előre is köszönöm

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
vorvor képe

A nodereference mező létrehozásakor legalul van egy opció: Advanced - Nodes that can be referenced (View)

Itt összerakhatsz egy viewst, ami kiszolgálja a select mezőt opciókkal. Erre a célre összerakhatsz akár egy viewst, ami argumentumban kapja a user id-t az aktuális, bejelentkezett user alapján, de összeheggeszthetsz egy PHP scriptet is, ami előállítja a szükséges szűrést.

Az eredmény egy UID (és innentől fogva bármilyen userrel kapcsolatos, mondjuk role) alapján szűrt listája a node-oknak, mondjuk a node címeknek a nodereference mezőben.

Ez nem járható út?

0
0
stamina képe

Egyszerű views-al nem tudom megoldani mert VAGY szűrés kéne (adott role-ban van VAGY egy másik roleban van és az adott lista elem node-hoz tartozo userref mező az aktualis userre hivatkozik)
Tehát igen speckó szűrés kéne, lehet egy modulból írt views szűrő plugin megírása lenne a megoldás? Esetleg tud valaki linket adni, hogy erről hol tudok olvasni? Persze körülnézek drupal.org-on. Köszönöm a segítséget!

0
0
stamina képe

hook_views_query_alter() lett a megoldás, bár nem valami elegáns, viszont ellenőrzött körülmények között megy, íme egy kódrészlet ha nincs meg az adott felhasznalónak elegendő jogosultsága:

$query->where[0]['clauses'][] = "node_data_field_customer.field_customer_uid = '%s'";
$query->where[0]['args'][] = $user->uid;
0
0