Permisiuni per user per node

Vreau sa am un view (image-view) in care sa am toate articolele din content-type-ul image creat de mine.

Pana aici toate simple si frumoase.

Ei, acum vine partea mai interesanta. Vreau ca view-ul sa nu fie vizibil unui anumit rol (simple-user). Totodata, cu ajutorul modulului nodeaccess(link) vreau sa dau fiecarui articol din content-type-ul mai sus mentionat drepturi unui user (sau unor useri). Cu alte cuvinte vreau per articol(e) sa dau drepturi de view unor anumiti utilizatori cu rolul simple-user.

Problema mea esta ca ma prind cum pot face ca view-ul sa nu fie vizibil pentru rolul simple-user, dar nu prea ma prind cum sa fac sa fie accesibil pentru un user care are acces la cel putin un articol.

Ceva idei?

În cazul în care nu i-ai dat de capăt, soluția este să folosești hook-ul hook_node_access pentru a verifica dacă user-ul curent are permisiunea de a vizualiza/edita/șterge nodul primit ca parametru.
Pe partea de view restricționezi accesul la rolul simple-user și asta e tot.

Un punct de plecare pentru node_access:

function CUSTOMMODULENAME_node_access($node, $op, $account) {
	$type = is_string($node) ? $node : $node->type;
	$result = NODE_ACCESS_IGNORE;
	if ($op == 'view' && $node->type == 'image') {
		if(conditie)
			$result = NODE_ACCESS_ALLOW;
	}
	return $result;
}
1 Like

Merci, voi incerca ce ai spus tu cand voi avea ocazia (momentan acel proiect e putin dat la o parte)