static function reportFormDataHandler($action, $filter_data, $generic_data, $redirect_url)
 {
     global $current_company, $current_user;
     if ($action == '') {
         return FALSE;
     }
     if (!is_array($generic_data)) {
         return FALSE;
     }
     $saved_report_id = FALSE;
     $ugdlf = new UserGenericDataListFactory();
     $ugdf = new UserGenericDataFactory();
     if ($action == 'save' or $action == 'update') {
         Debug::Text('Save Report!', __FILE__, __LINE__, __METHOD__, 10);
         if (isset($generic_data['id']) and $generic_data['id'] != '' and $generic_data['id'] != 0) {
             $ugdlf->getByUserIdAndId($current_user->getId(), $generic_data['id']);
             if ($ugdlf->getRecordCount() > 0) {
                 $ugdf = $ugdlf->getCurrent();
             }
             $ugdf->setID($generic_data['id']);
         }
         $ugdf->setCompany($current_company->getId());
         $ugdf->setUser($current_user->getId());
         $ugdf->setScript(self::handleScriptName($_SERVER['SCRIPT_NAME']));
         if (isset($generic_data['name']) and $generic_data['name'] != '') {
             $ugdf->setName($generic_data['name']);
         }
         $ugdf->setData($filter_data);
         if (isset($generic_data['is_default'])) {
             $ugdf->setDefault(TRUE);
         }
     } elseif ($action == 'delete' and isset($generic_data['id']) and $generic_data['id'] != '') {
         $ugdlf->getByUserIdAndId($current_user->getId(), $generic_data['id']);
         if ($ugdlf->getRecordCount() > 0) {
             $ugd_obj = $ugdlf->getCurrent();
             $ugd_obj->setDeleted(TRUE);
             $ugd_obj->Save();
         }
         Redirect::Page($redirect_url);
         return TRUE;
     }
     if (is_object($ugdf) and $ugdf->isValid()) {
         $ugf_id = $ugdf->Save();
         if (is_numeric($ugf_id)) {
             $saved_report_id = $ugf_id;
         } elseif ($ugf_id === TRUE) {
             $saved_report_id = $generic_data['id'];
         }
         unset($ugf_id);
     }
     return $saved_report_id;
 }