function workflow_edit_form_validate in Workflow 5.2
Same name and namespace in other branches
- 5 workflow.module \workflow_edit_form_validate()
File
- ./
workflow.module, line 1096
Code
function workflow_edit_form_validate($form_id, $form_values) {
$wid = $form_values['wid'];
if (array_key_exists('wf_name', $form_values) && $form_values['wf_name'] != '') {
// Validate: Make sure workflow name is not a duplicate.
$workflow_name = $form_values['wf_name'];
$workflows = array_flip(workflow_get_all());
if (array_key_exists($workflow_name, $workflows) && $wid != $workflows[$workflow_name]) {
form_set_error('wf_name', t('A workflow with the name %name already exists. Please enter another name for this workflow.', array(
'%name' => $workflow_name,
)));
}
}
else {
form_set_error('wf_name', t('Please provide a nonblank name for this workflow.'));
}
// Make sure 'author' is checked for (creation) -> [something].
$creation_id = _workflow_creation_state($wid);
if (is_array($form_values['transitions'][$creation_id])) {
foreach ($form_values['transitions'][$creation_id] as $to => $roles) {
if ($roles['author']) {
$author_has_permission = true;
break;
}
}
}
$state_count = db_result(db_query("SELECT COUNT(sid) FROM {workflow_states} WHERE wid = %d", $wid));
if (!$author_has_permission && $state_count > 1) {
form_set_error('transitions', t('Please give the author permission to go from %creation to at least one state!', array(
'%creation' => '(creation)',
)));
}
}