Я создаю модуль счета на SugarCRM Community Edition (версия 6.5.16).Условно сделать поле только в SugarCRM
Трюк, который я хочу извлечь, состоит в том, чтобы сделать поле readonly основано на значении флажка с именем «Отправлено». Итак: если счет отправлен, пользователь больше не может редактировать счет-фактуру.
Я знаю, что делает поле только для чтения в editviewdefs может быть сделано путем установки типа в ReadOnly:
0 =>
array (
'name' => 'invoicenumber',
'label' => 'LBL_INVOICENUMBER',
'type' => 'readonly',
),
Однако, это поле теперь только для чтения, независимо от флажка «Отправленные» проверяется.
Я пробовал редактировать массив с PHP в editviewdefs.php, но это привело к тому, что они всегда закрывали поля. Это имеет смысл, если editviewdefs.php создается один раз для всех записей.
Есть ли способ сделать это с помощью PHP или SugarCode (который, конечно же, является PHP)? Последнее средство, к которому я хочу обратиться, это использовать javascript, но я хочу избежать его, поскольку это очень важная функциональность. Один пользователь, случайно отключивший javascript, в конечном итоге может превратиться в довольно беспорядок.
Итак, если у вас есть какие-либо вопросы, задайте вопросы. Ради этого OP я включил как можно меньше кода, но если у вас есть вопросы относительно кода, не стесняйтесь спрашивать!
Большое спасибо!
Я сделал это. Ответит на это, когда Stackoverflow позволяет мне (недостаточно репутации, чтобы сделать это сейчас) – TheUnpragmaticProgrammer