Sziasztok!
Már néhány esetben előhoztam itt a dolgozatértékelő rendszer kisebb-nagyobb gondjait. Remélhetőleg az utolsó problémás terület a következő:
A dolgozatokhoz úgy kapcsolódnak a bírálatok, hogy a bírálatokban van egy a dolgozatra mutató nodereference mező. Kell egy olyan nézet, ahol a bíráló látja a saját dolgait, tehát a hozzá rendelet és még nem bírált, ill. a már bírált anyagokat.
Namost a nézetben (6.x-3.x-dev) - aminek a dolgozat az alap-tartalomtípusa - létrehoztam a bírálatot a dolgozathoz kötő kapcsolatot valamint a szűrők között a szükséges feltételeket. Ezekkel azt kellene kifejezni, hogy a kapcsolódó bírálat szerzője = az aktuális felhasználó VAGY még nincs kapcsolódó bírálat. Minderre azért van szükség, mert egy dolgozatot többen is értékelnek, így a konkurens bírálatok az ilyen jellegű szűrés nélkül megjelennének.
A "még nincs kapcsolódó bírálat"-nak feltételbe foglalásával van gondom. Két módon próbáltam eddig:
- A Felhasználó (a szerző) létrehozója IS NULL
- A tartalom azonosítója IS NULL
De a bírálóhoz rendelt, ám még nem bírált dolgozatokat egyik sem eredményezi. Hogyan lehet ezt megoldani?
Egyfajta megoldás azért lenne, de ez meglehetősen gány munka lenne: az SQL-ben a bírálatok szerzőjére vonatkozó valahogy így jelenik meg:
INNER JOIN users node_node__users ON node_node.uid = node_node__users.uid
Ha az INNER JOIN-t LEFT JOIN-ra cseréljük, akkor működik a dolog, de ezt tényleg csak végső megoldásként vetném be.
Melyik modulhoz, modulokhoz kapcsolódik a téma?: