Запрет редактирования старых нод

Главные вкладки

Аватар пользователя Santi Santi 4 ноября 2010 в 9:30

Как запретить всем кроме админа редактировать старые ноды?
Допустим чтобы через месяц после даты node_create невозможно было штатным способом внести исправления в материал.
Варианта пока два вижу:
1. Через определенный срок изменять тип материала на такой же по структуре, но у которого стоит запрет на редактирование
2. Использование хука при редактировании - если user НЕ admin и node_create > 1m, то выдать запрет.

Может кто с хуком подсобить или с идеей как реализовать этот запрет?

Комментарии

Аватар пользователя Santi Santi 4 ноября 2010 в 11:53

С комментариями comment_edited может помочь.
Меня же интересует запрет на редактирование материала - напр. записи в блоге.

Аватар пользователя Dan Dan 4 ноября 2010 в 13:43

"Santi" wrote:
Но возможно проще сделать хук в template.php ?

Каким образом вы собираетесь контролировать доступ к материалам из слоя темизации?

Аватар пользователя Santi Santi 4 ноября 2010 в 15:19

Cлабо знаком с api.
Тогда по другому - может написать малюсенький модуль, который перехватывает действие по сохранению ноды и проверяет админ ли это и сколько уже времени прошло с node_creation. Мне кажется вполне востребованная вещь должна быть.

Аватар пользователя semasping semasping 4 ноября 2010 в 20:05

Где-то модуль был, который проверяет не редактирует ли кто другой эту же ноду, и выдавал соответствующее сообщение.
Может в нем посмотреть как сделано?

Аватар пользователя iNFerNo iNFerNo 7 июля 2011 в 10:43

вопрос так и не закрылся??? я к тому что если например юзера переклинуло и он захотел бы потом удлить все свои материалы он не мог бы это сделать так как редактировать СВОЕ можно только в первые например 10 дней жизни ноды.

Аватар пользователя Dan Dan 7 июля 2011 в 12:21

Как обычно валишь всё в кучу.
Во-первых, такой функционал как раз и нужен для того чтобы юзеров "вдруг не переклинило", а во-вторых, удаление и редактирование - разные права. Первое можно разрешить сразу и навсегда. Или запретить.

Аватар пользователя iNFerNo iNFerNo 7 июля 2011 в 13:42

Так редактировать же например в первый месяц жизни можно, прошло 30 дней все автор с тоже ролью не может. Так удалить стереть всю инфу не важно. Восстанавливать из резерва не айс (модуль есть такой). Вот и интересно как сделать так чтобы месяц можно потом нельзя ничего. Статья в архиве только определенная роль (модератор) может править к примеру.

Аватар пользователя iNFerNo iNFerNo 7 июля 2011 в 15:52

"abarmot" wrote:
workflow, workflow_access, rules, cron

Т.е. через месяц переводим в другое состояние ноду и по состоянию смотрим допускать кого то или нет типа этого? а у рулесов какое участие в этой связке?