function organigrams_form_overview_organigrams_items in Organigrams 7
Generates a form overview of all organigrams items.
Parameters
array $form: The form being used to edit the node.
array $form_state: The form state array.
object $organigram: An organigrams entity.
Return value
mixed Renderable array containing a form.
1 string reference to 'organigrams_form_overview_organigrams_items'
- organigrams_menu in ./
organigrams.module - Implements hook_menu().
File
- ./
organigrams_item.admin.inc, line 40 - Defines the user forms and pages for managing organigrams items.
Code
function organigrams_form_overview_organigrams_items($form, &$form_state, $organigram) {
$form['#organigram'] = $organigram;
$form['#tree'] = TRUE;
// Retrieve the organigram tree.
$tree = organigrams_get_tree($organigram->oid);
// Get tree count.
$tree_item_count = count($tree);
// Add items container.
$form['items'] = array();
// Iterate through the tree.
foreach ($tree as $tree_item) {
// Retrieve element by reference.
$element =& $form['items'][$tree_item->iid];
// Initialize element.
$element = array(
'#organigrams_item' => $tree_item,
);
$element['view'] = array(
'#markup' => filter_xss_admin($tree_item->name),
);
$element['iid'] = array(
'#type' => 'hidden',
'#value' => $tree_item->iid,
);
$element['parent'] = array(
'#type' => 'hidden',
'#default_value' => $tree_item->parent,
);
$element['depth'] = array(
'#type' => 'hidden',
'#default_value' => $tree_item->depth,
);
$element['weight'] = array(
'#type' => 'weight',
'#delta' => $tree_item_count,
'#title_display' => 'invisible',
'#title' => t('Weight for added organigram item'),
'#default_value' => $tree_item->weight,
);
// Only add the operations which the user has access to.
if (organigrams_user_access('edit', $organigram)) {
$element['edit'] = array(
'#type' => 'link',
'#title' => t('edit'),
'#href' => "admin/structure/organigrams/{$organigram->machine_name}/item/{$tree_item->iid}",
);
}
else {
$element['edit'] = array();
}
// Only add the operations which the user has access to.
if (organigrams_user_access('delete', $organigram)) {
$element['delete'] = array(
'#type' => 'link',
'#title' => t('delete'),
'#href' => "admin/structure/organigrams/{$organigram->machine_name}/item/{$tree_item->iid}/delete",
);
}
else {
$element['delete'] = array();
}
}
$form['#empty_text'] = t('No organigram items available. <a href="@link">Add organigram item</a>.', array(
'@link' => url("admin/structure/organigrams/{$organigram->machine_name}/add"),
));
// Add the supported actions for this form.
$form['actions'] = array(
'#type' => 'actions',
'#tree' => TRUE,
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}