Разрешение на редактирование собственного неопубликованного контента (только)?


У меня есть опрос типа контента с неопубликованной опцией. Когда пользователь создает опрос, опрос остается неопубликованным в течение 1 часа, а затем он публикуется (выполняется в соответствии с правилами).

Чего я хочу добиться: Дайте автору опроса разрешение редактировать свой узел опроса только тогда, когда он не опубликован. Когда оно будет опубликовано, срок действия этого разрешения истечет.

Как я могу это решить?

 4
Author: Billy, 2013-02-22

1 answers

Hook_node_access() на помощь! Для этого вам нужно создать новый модуль. В файле .module нового модуля вам нужно будет поместить следующее:

function YOUR_MODULE_node_access($node, $op, $account) {
  // Deny updating the content if it's a published poll
  if ($node->type == 'poll' && $node->status && $op == 'update') {
    drupal_set_message('This poll has been published, you may not make changes to it.','error');
    return NODE_ACCESS_DENY;
  }
}
 3
Author: Johnathan Elmore, 2013-02-26 22:28:21