You are here

function theme_workflow_fields_state in Workflow Fields 5

Same name and namespace in other branches
  1. 6 workflow_fields.module \theme_workflow_fields_state()
  2. 7 workflow_fields.module \theme_workflow_fields_state()

File

./workflow_fields.module, line 158
This module adds to workflow.module the ability to specify, for each state, which node fields should be visible and/or editable. It is a useful feature when workflows demand that certain information be hidden or read-only to certain roles.

Code

function theme_workflow_fields_state($form) {
  $header = array(
    t('Content type'),
    t('Field name'),
    t('Visible'),
    t('Editable'),
  );
  $rows = array();
  foreach ($form['types']['#value'] as $type) {
    $content = content_types($type);
    $fields = module_invoke_all('workflow_fields', $type) + $content['fields'];
    foreach ($fields as $field) {
      $rows[] = array(
        $type,
        $field['widget']['label'] . ' (' . $field['field_name'] . ')',
        drupal_render($form[$type][$field['field_name']]['visible']) . drupal_render($form[$type][$field['field_name']]['visible_ref']) . drupal_render($form[$type][$field['field_name']]['visible_refs']),
        drupal_render($form[$type][$field['field_name']]['editable']) . drupal_render($form[$type][$field['field_name']]['editable_ref']) . drupal_render($form[$type][$field['field_name']]['editable_refs']),
      );
    }
  }
  $output = theme('table', $header, $rows) . '<p />';
  return $output;
}