function workflow_admin_ui_view_permissions_form in Workflow 7.2
Same name and namespace in other branches
- 7 workflow_admin_ui/workflow_admin_ui.pages.inc \workflow_admin_ui_view_permissions_form()
View workflow permissions by role.
Parameters
object $workflow: The workflow object.
$op (optional):
Return value
string
1 string reference to 'workflow_admin_ui_view_permissions_form'
- EntityWorkflowUIController::hook_menu in workflow_admin_ui/
includes/ Entity/ EntityWorkflowUIController.php - Provides definitions for implementing hook_menu().
File
- workflow_admin_ui/
workflow_admin_ui.page.permissions.inc, line 17 - Provides an Admin UI page for the Workflow Permissions.
Code
function workflow_admin_ui_view_permissions_form($workflow, $op) {
// If we don't have a workflow at this point, go back to admin page.
if (!$workflow) {
drupal_goto(WORKFLOW_ADMIN_UI_PATH);
}
$all = array();
$roles = workflow_get_roles();
foreach ($roles as $rid => $value) {
$all[$rid]['name'] = $value;
}
$transitions = $workflow
->getTransitions();
foreach ($transitions as $transition) {
foreach ($transition->roles as $rid) {
$old_state = $transition
->getOldState();
$new_state = $transition
->getNewState();
$all[$rid]['transitions'][] = array(
$old_state
->label(),
WORKFLOW_ADMIN_UI_ARROW,
$new_state
->label(),
);
}
}
$header = array(
t('From'),
'',
t('To'),
);
$output = '';
// @todo: we should theme out the html here.
foreach ($all as $rid => $value) {
$role_name = !empty($value['name']) ? $value['name'] : t('deleted role !rid', array(
'!rid' => $rid,
));
$output .= '<h3>' . t('%role may do these transitions:', array(
'%role' => $role_name,
)) . '</h3>';
if (!empty($value['transitions'])) {
$output .= theme('table', array(
'header' => $header,
'rows' => $value['transitions'],
)) . '<p></p>';
}
else {
$output .= '<table><tbody><tr class="odd"><td>' . t('None') . '</td><td></tr></tbody></table><p></p>';
}
}
return $output;
}