function draggable_dashboard_form_block_form_alter in Draggable dashboard 8
Implements hook_form_FORM_ID_alter().
File
- ./
draggable_dashboard.module, line 40 - Contains draggable_dashboard.module.
Code
function draggable_dashboard_form_block_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if (strpos(\Drupal::request()
->get('region'), 'draggable_dashboard') !== FALSE) {
$relation = json_decode(base64_decode(str_replace('draggable_dashboard-', '', \Drupal::request()
->get('region'))), TRUE);
}
else {
$entity = $form_state
->getBuildInfo()['callback_object']
->getEntity();
$dashboards = \Drupal::entityQuery('dashboard_entity')
->execute();
foreach ($dashboards as $dashboardID) {
$dashboard = DashboardEntity::load($dashboardID);
$blocks = json_decode($dashboard
->get('blocks'), TRUE);
if (!empty($blocks)) {
foreach ($blocks as $block) {
if ($block['bid'] == $entity
->id()) {
$relation = $block;
$relation['did'] = $dashboardID;
break;
}
}
}
}
}
if (!empty($relation['did'])) {
$form['actions']['submit']['#submit'] = [
'Drupal\\draggable_dashboard\\Controller\\DraggableDashboardController::assignBlock',
];
$dashboard = DashboardEntity::load($relation['did']);
$regions = [];
for ($i = 1; $i <= $dashboard
->get('columns'); $i++) {
$regions[$i] = t('Column') . ' ' . $i;
}
$form['region']['#options'] = $regions;
$form['region']['#default_value'] = str_replace('draggable_dashboard-', '', $relation['cln']);
$form['visibility']['#access'] = FALSE;
$form['theme']['#access'] = FALSE;
if (isset($form['actions']['delete']['#url']) && isset($relation['bid'])) {
$form['actions']['delete']['#url'] = Url::fromRoute('draggable_dashboard.delete_block', [
'did' => $relation['did'],
'bid' => $relation['bid'],
]);
}
$form['dashboard_id'] = [
'#type' => 'hidden',
'#value' => $relation['did'],
];
}
}