/**
  * Delete from database
  *
  * @param void
  * @return boolean
  */
 function delete()
 {
     $delete = parent::delete();
     if ($delete && !is_error($delete)) {
         switch ($this->getType()) {
             case COMPANY_CONFIG_OPTION:
                 CompanyConfigOptions::deleteByOption($this->getName());
                 break;
             case USER_CONFIG_OPTION:
                 UserConfigOptions::deleteByOption($this->getName());
                 break;
             case PROJECT_CONFIG_OPTION:
                 ProjectConfigOptions::deleteByOption($this->getName());
                 break;
         }
         // if
     }
     // if
     return $delete;
 }
 /**
  * Cleanup after delete
  * 
  * @param void
  * @return boolean
  */
 function delete()
 {
     db_begin_work();
     $delete_config_options = UserConfigOptions::deleteByOption('default_assignments_filter');
     if (!$delete_config_options || is_error($delete_config_options)) {
         db_rollback();
         return $delete_config_options;
     }
     // if
     $delete = parent::delete();
     if (!$delete || is_error($delete)) {
         db_rollback();
         return $delete;
     }
     // if
     db_commit();
     return true;
 }