You are here

function varbase_update_helper_form_alter in Varbase Core 8.8

Same name and namespace in other branches
  1. 8.6 modules/varbase_update_helper/varbase_update_helper.module \varbase_update_helper_form_alter()
  2. 8.7 modules/varbase_update_helper/varbase_update_helper.module \varbase_update_helper_form_alter()
  3. 9.0.x modules/varbase_update_helper/varbase_update_helper.module \varbase_update_helper_form_alter()

Implements hook_form_alter().

File

modules/varbase_update_helper/varbase_update_helper.module, line 16
Contains varbase_update_helper.module.

Code

function varbase_update_helper_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  if ($form_id == "checklistapi_checklist_form") {
    if ($form['#checklist']->id == 'update_helper_checklist') {
      if (!isset($form['actions']['save']['#submit'])) {
        $form['actions']['save']['#submit'] = [];
      }
      $form['actions']['save']['#submit'][] = 'varbase_update_helper_checklistapi_form_submit';
      $checklist = $form['#checklist'];
      $groups = $checklist->items;

      // Prevent the user from Clearing checklist progress.
      unset($form['actions']['clear']);
      foreach (Element::children($groups) as $group_key) {
        $group =& $groups[$group_key];
        foreach (Element::children($group) as $item_key) {
          $update_key = str_replace('.', '_', $item_key);
          $entity = Update::load($update_key);
          $entityStatus = $entity && $entity
            ->wasSuccessfulByHook() ? TRUE : FALSE;
          if ($entityStatus) {
            $form[$group_key][$item_key]['#disabled'] = TRUE;
          }
        }
      }
    }
  }
}