/**
  * @param f_peristentdocument_PersistentDocument $conditionOn
  * @return integer[]
  */
 private function getExcludeIds($conditionOn)
 {
     $excludeIds = array();
     if ($conditionOn instanceof form_persistentdocument_field) {
         $excludeIds = array($conditionOn->getId());
     } else {
         if ($conditionOn instanceof form_persistentdocument_group) {
             $query = form_FieldService::getInstance()->createQuery();
             $query->add(Restrictions::descendentOf($conditionOn->getId()));
             $query->setProjection(Projections::property('id'));
             $excludeIds = $query->findColumn('id');
         }
     }
     return $excludeIds;
 }
 /**
  * @param form_persistentdocument_baseform $form
  * @param integer[] $excludeIds
  */
 public function getValidActivationFields($form, $excludeIds = array())
 {
     $query = form_FieldService::getInstance()->createQuery();
     $query->add(Restrictions::descendentOf($form->getId()));
     if (f_util_ArrayUtils::isNotEmpty($excludeIds)) {
         $query->add(Restrictions::notin('id', $excludeIds));
     }
     $validFields = array();
     foreach ($query->find() as $field) {
         if ($field instanceof form_persistentdocument_boolean || $field instanceof form_persistentdocument_list) {
             $validFields[] = $field;
         }
     }
     return $validFields;
 }
 /**
  * @param form_persistentdocument_field $document
  * @deprecated use form_FieldService::fixRequiredConstraint()
  */
 public function fixRequiredConstraint($document)
 {
     form_FieldService::getInstance()->fixRequiredConstraint($document);
 }
 /**
  * @param form_persistentdocument_recipientGroupList $field
  * @param string $value
  * @return string
  */
 private static function fromRecipientGroupListFieldDocument($field, $value)
 {
     form_ListRecipientgrouplistService::getInstance()->setParentForm(form_FieldService::getInstance()->getFormOf($field));
     return self::fromListFieldDocument($field, $value);
 }
 /**
  * @return form_persistentdocument_field
  */
 protected function initPersistentDocument()
 {
     return form_FieldService::getInstance()->getNewDocumentInstance();
 }