public function execute()
 {
     $field = waRequest::get('field', null, waRequest::TYPE_STRING_TRIM);
     if (!$field) {
         throw new waException(_w("Unknown field"));
     }
     // List of field values
     $cfvm = new waContactFieldValuesModel();
     $fields = $cfvm->getInfo($field);
     // Possible parent fields this conditional field may depend on
     $parent_fields = array();
     foreach (waContactFields::getAll('person') as $f) {
         /** @var waContactField $f */
         if (!$f instanceof waContactCompositeField && !$f->isMulti()) {
             $parent_fields[$f->getId()] = $f->getName();
         }
     }
     $field_ids = explode(':', $field);
     $f = waContactFields::get($field_ids[0]);
     if (!empty($field_ids[1]) && $f && $f instanceof waContactCompositeField) {
         $subfields = $f->getFields();
         foreach ($subfields as $sfid => $sf) {
             $pid = $f->getId() . ':' . $sfid;
             if ($pid !== $field) {
                 $parent_fields[$pid] = $f->getName() . ' — ' . $sf->getName();
             }
         }
     }
     // Selected parent field
     $parent_selected = null;
     if ($fields) {
         $parent_selected = reset($fields);
         $parent_selected = $parent_selected['field'];
     }
     // Human readable name of current field
     if (!empty($field_ids[1]) && !empty($subfields[$field_ids[1]])) {
         $title = $subfields[$field_ids[1]]->getName();
     } else {
         if ($f) {
             $title = $f->getName();
         } else {
             // Loose guess on whether this field has just been created
             $new_field = false;
             if (substr($field, 0, 2) == '__') {
                 $new_field = true;
             } else {
                 if (!empty($field_ids[1]) && substr($field_ids[1], 0, 2) == '__') {
                     $new_field = true;
                 }
             }
             if ($new_field) {
                 $title = _w('Conditional field');
             } else {
                 $title = _w(ucfirst($field));
             }
         }
     }
     $this->view->assign(array('field' => $field, 'title' => $title, 'fields' => $fields, 'parent_fields' => $parent_fields, 'parent_selected' => $parent_selected));
 }