SugarCRM: Пользовательский модуль assign_to_user не сохраняет значение 'id' - PullRequest
2 голосов
/ 18 января 2011


Я создаю пользовательский модуль с именем «Агенты», используя ModuleBuilder в SugarCE 6.0.0 .

Модуль основан на Аккаунтах. В Studio, когда я нажимаю assign_user_name в разделе Assignable и сохраняю его, он генерирует два поля, а именно:

  • assigned_user_name
  • _id_c

Когда я развернул пакет и попытался выбрать имя пользователя из назначенного поля, сначала он вообще не получал никаких результатов (ни через автозаполнение, ни через всплывающее окно).

Я проверил custom / modulebuilder / packages / MyPackage / modules / Agents / vardefs.php , вот что я нашел:

'_id_c' => 
array (
  'required' => false,
  'name' => '_id_c',
  'vname' => '',
  'type' => 'id',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',    
  'importable' => 'true',
  'duplicate_merge' => 'disabled',
  'duplicate_merge_dom_value' => 0,
  'audited' => false,
  'reportable' => true,
  'len' => 36,
  'size' => '20',
),
'assigned_user_name' => 
array (
  'required' => true,
  'name' => 'assigned_user_name',
  'link' => 'assigned_user_link',
  'vname' => 'LBL_ASSIGNED_TO_NAME',
  'rname' => 'name',
  'type' => 'relate',
  'reportable' => true,
  'source' => 'non-db',
  'table' => 'users',
  'id_name' => '_id_c',
  'module' => '',
  'duplicate_merge' => 'disabled',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',
  'importable' => 'true',
  'duplicate_merge_dom_value' => '0',
  'audited' => true,
  'len' => '255',
  'size' => '20',
  'ext2' => '',
  'quicksearch' => 'enabled',
  'studio' => 'visible',
),

Обратите внимание, что для параметра module в assign_user_name не задано правильное значение. Первый вопрос: это ошибка в студии?

Мое быстрое решение было установить module => 'Users', и это сработало. Теперь я могу выбрать имя пользователя из выпадающего списка (автозаполнение).

Однако при выборе имени пользователя скрытое поле _id_c пользователя не заполняется UUID пользователя с 36 символами и, следовательно, когда я сохраняю запись и перезагружаю ее, поле assign_user_name остается пустым. 1040 *

Кто-нибудь имеет представление о том, почему это происходит? И какие средства для этого?

Спасибо
м ^ е

1 Ответ

1 голос
/ 13 февраля 2011

Ну, не думайте, что вы должны получать их в своих переменных, потому что эти поля определены в родительском классе, который расширяют все модули. По умолчанию это поля пользователя для назначенного пользователя:

var $assigned_user_id;
var $assigned_user_name;
var $assigned_user_link;

Посмотрев на свой код, вы можете попробовать установить:

'id_name' => 'assigned_user_id'

Вы не должны создавать дополнительное поле для этого поля (_id_c).

...