You are here

function crm_core_user_sync_admin_edit_rule_form in CRM Core 8.2

Same name and namespace in other branches
  1. 7 modules/crm_core_user_sync/crm_core_user_sync.admin.inc \crm_core_user_sync_admin_edit_rule_form()

Add new rule form.

1 string reference to 'crm_core_user_sync_admin_edit_rule_form'
crm_core_user_sync_menu in modules/crm_core_user_sync/crm_core_user_sync.module
Implements hook_menu()

File

modules/crm_core_user_sync/crm_core_user_sync.admin.inc, line 176

Code

function crm_core_user_sync_admin_edit_rule_form($form, &$form_state, $rule_key = NULL) {
  $form = array();
  $roles = array(
    '' => t('- Select -'),
  ) + user_roles(TRUE);
  $types = ContactType::loadMultiple();
  $types_options = array(
    '' => t('- Select -'),
  );
  foreach ($types as $key => $type) {
    $types_options[$key] = $type->name;
  }
  $rules = variable_get('crm_core_user_sync_rules', array());
  if (isset($rule_key) && isset($rules[$rule_key])) {
    $form_state['rule'] = $rule = $rules[$rule_key];
    $form_state['rule_key'] = $rule_key;
    drupal_set_title(t('Edit user syncrhonzation rule'));
  }
  else {
    drupal_set_title(t('Add user syncrhonzation rule'));
  }
  $form['rid'] = array(
    '#type' => 'select',
    '#title' => t('User Role'),
    '#options' => $roles,
    '#default_value' => isset($rule['rid']) ? $rule['rid'] : '',
    '#required' => TRUE,
  );
  $form['contact_type'] = array(
    '#type' => 'select',
    '#title' => t('Contact Type'),
    '#options' => $types_options,
    '#default_value' => isset($rule['contact_type']) ? $rule['contact_type'] : '',
    '#required' => TRUE,
  );
  $form['weight'] = array(
    '#type' => 'weight',
    '#title' => t('Weight'),
    '#default_value' => isset($rule['weight']) ? $rule['weight'] : 0,
  );
  $form['enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enabled'),
    '#default_value' => isset($rule['enabled']) ? $rule['enabled'] : TRUE,
    '#description' => 'When checked, this rule will be used to synchronize user accounts. When unchecked, it will be ignored throughout the system.',
  );
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['save'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  $form['actions']['cancel'] = array(
    '#type' => 'submit',
    '#value' => t('Cancel'),
  );
  return $form;
}