}
 if (!$assoc) {
     $assoc->policy_id = 0;
 }
 if (!defined('SYS_WORKFLOW')) {
     include_once BASE . 'subsystems/workflow.php';
 }
 if (exponent_workflow_moduleUsesDefaultPolicy($_GET['m'], $_GET['s'])) {
     $assoc->policy_id = 0;
 }
 foreach ($db->selectObjects('approvalpolicy') as $pol) {
     $policies[$pol->id] = $pol->name;
 }
 uasort($policies, 'strnatcasecmp');
 $realpol = array();
 $defaultpol = exponent_workflow_getDefaultPolicy($_GET['m']);
 if ($defaultpol) {
     $realpol = array(-1 => $i18n['no_policy'], 0 => sprintf($i18n['default_policy'], $defaultpol->name));
 } else {
     $realpol = array(-1 => $i18n['no_policy'], 0 => sprintf($i18n['default_policy'], $i18n['no_policy']));
 }
 foreach ($policies as $key => $name) {
     $realpol[$key] = $name;
 }
 $form->register('policy', $i18n['policy'], new dropdowncontrol($assoc->policy_id, $realpol));
 $form->register('submit', '', new buttongroupcontrol($i18n['save']));
 $form->action = URL_FULL . 'modules/workflow/assoc_save.php';
 $form->meta('module', 'workflow');
 $form->meta('action', 'assoc_save');
 $form->meta('m', $_GET['m']);
 $form->meta('redirect', $_SERVER['HTTP_REFERER']);
function exponent_workflow_getPolicy($module, $source)
{
    global $db;
    $assoc = $db->selectObject('approvalpolicyassociation', "module='{$module}' AND source='{$source}' AND is_global=0");
    if (!$assoc) {
        return exponent_workflow_getDefaultPolicy($module);
    } else {
        $policy = $db->selectObject('approvalpolicy', 'id=' . $assoc->policy_id);
        return $policy;
    }
}