По простому программно зафиксировать состояние типа данных

Ср, 19/04/2017 - 07:50

Есть тип данных, к которому будет крепиться модуль. Возникла задача этот тип данных "зафиксировать" - запретить его менять(удалять) и поля к нему прилепленные(некоторые может, не все).
Как нынче модно решать такую проблему, кроме как кнопки удаления и изменения запрещать(скрывать) ручками? Может готовые решения кто видел? Может у типов есть стандартные поля, которые запрещают удаление?

0 Спасибо

Комментарии

Аватар пользователя multpix
4 months 11 часов назад multpix #

Описать его в своем модуле.

0 Спасибо
Аватар пользователя jsv
4 months 5 часов назад jsv #

Нет, это не ответ. Тип данных уже есть

0 Спасибо
Аватар пользователя gun_dose
4 months 5 часов назад gun_dose #

Экспортнуть в фичу и залочить?

0 Спасибо
Аватар пользователя jsv
4 months 5 часов назад jsv #

Блин, тип УЖЕ ЕСТЬ. И никуда его девать нельзя. Он ЕСТЬ. Как у него запретить редактирование? Если даже в фичу экспортануть - ТАМ как запретить? Разницы то нету.

0 Спасибо
Аватар пользователя gun_dose
3 months 4 недели назад gun_dose #

Фичу заблокировать можно. Там замочек специальный включить и всё - функционал будет меняться только если менять код.

0 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #

Речь про МОДУЛЬ. И про ПРОГРАММНОЕ изменение - без всяких кликов

0 Спасибо
Аватар пользователя Studio VIZA
4 months 5 часов назад Studio VIZA #
jsv написал:
Как у него запретить

Правами на роли.

0 Спасибо
Аватар пользователя jsv
4 months 4 часа назад jsv #

Подробнее, плиз.Программным путём и для user#1 и админ-роли чтобы тоже работало

0 Спасибо
Аватар пользователя Andruxa
3 months 4 недели назад Andruxa #

hook_entity_delete() ну можно ещё подстраховаться hook_query_alter()

Но вообще ерунда какая-то: борьба двух антивирусов в системе, кто кого заборет.
Не должен так код работать.

0 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #
Andruxa написал:
hook_entity_delete()

Этого мало, нужно запретить менять в ней данные - поля и тд.

Andruxa написал:
подстраховаться hook_query_alter()

Что-то совсем не в кассу, это запросы чистить любые - слишком неспециализированно

0 Спасибо
Аватар пользователя Studio VIZA
3 months 4 недели назад Studio VIZA #
jsv написал:
это не ответ.

jsv написал:
Блин

jsv написал:
без всяких

jsv написал:
не в кассу

0 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #

Ну да. Никто так и не предложил другого решения, будет делать по старинке - запрещать и скрывать кнопки и ссылки.

0 Спасибо
Аватар пользователя fairrandir
3 months 4 недели назад fairrandir #

1. field_permissions - запрещаете редактировать поля.
2. Искаропочные роли - запрещаете всем редактировать-изменять типы материалов.
3. ???
4. PROFIT!

1 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #

1. Что вы имеете ввиду? Галочки нужные проставить?
2. Какие поля?

0 Спасибо
Аватар пользователя fairrandir
3 months 4 недели назад fairrandir #

1.  field_permissions- это модуль. Позволяет выставлять права на просмотр-редактирование-удаление полей для разных ролей.
2. Ой вэй. В настройках прав доступа, пункты типа:

Статья: Создание новых материалов
Статья: Редактирование собственных материалов
Статья: Редактирование любых материалов
Статья: Удаление собственных материалов
Статья: Удаление любых материалов

Оставляете только создание.

0 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #

1. Ещё раз - программно зафиксировать состояние типа данных.
2. Вы видимо не поняли. Мне НОДЫ типа данных не надо фиксировать, мне нужно зафиксировать ТИП ДАННЫХ. То есть настройки полей и наличие этих полей в типе. И невозможность удаления и изменения этого типа данных( аля тип Product в Ubercart, только сложнее).

0 Спасибо
Аватар пользователя fairrandir
3 months 4 недели назад fairrandir #

Заголовки не читай @ сразу отвечай.
Поясните по хардкору, что есть тип данных? entity? Или тип ноды?
Вообще у полей есть атрибут locked. hook_field_info_alter, устанавливаете у нужных полей locked => TRUE

0 Спасибо
Аватар пользователя jsv
3 months 4 недели назад jsv #
fairrandir написал:
Поясните по хардкору, что есть тип данных? entity? Или тип ноды?

Тип данных. Я ж написал.

Цитата:
Вообще у полей есть атрибут locked. hook_field_info_alter, устанавливаете у нужных полей locked => TRUE

ВОООТ!!! Наконец то ответ. Атрибут locked есть. Ок, будем посмотреть.

0 Спасибо