diff --git a/lib/visualpatterns/PatternEditableListFromQuery.inc b/lib/visualpatterns/PatternEditableListFromQuery.inc index a79d781..303cde2 100644 --- a/lib/visualpatterns/PatternEditableListFromQuery.inc +++ b/lib/visualpatterns/PatternEditableListFromQuery.inc @@ -39,6 +39,8 @@ class PatternEditableListFromQuery { var $sUniqueName; /** set the tables to check for display type 3 */ var $aDropDownListTableNames; + /** set whether a column is required or not */ + var $aColumnsRequired; /** * Default constructor @@ -84,8 +86,14 @@ class PatternEditableListFromQuery { $this->aDropDownListTableNames = $aNewValue; } + function setColumnsRequired($aNewValue) { + $this->aColumnsRequired = $aNewValue; + } + function & render() { global $default; + //records the columns to generate validation javascript for + $aValidationColumnNames = array(); $sql = $default->db; $sql->query($this->sQuery); @@ -123,6 +131,13 @@ class PatternEditableListFromQuery { break; } $sToRender .= "\n"; + + //check for required columns + if (isset($this->aColumnsRequired) &&($this->aColumnsRequired[$i])) { + $iArrayEntry = count($aValidationColumnNames); + $aValidationColumnNames[$iArrayEntry]["formName"] = $this->sUniqueName . "_" . $i . "_value"; + $aValidationColumnNames[$iArrayEntry]["displayName"] = $this->aColumnNames[$i]; + } } $sToRender .= "sUniqueName . "\" value=\"\" />\n"; @@ -132,11 +147,25 @@ class PatternEditableListFromQuery { $sToRender .= "No " . (isset($this->sTableHeading) ? "$this->sTableHeading" : "") . " data\n"; $sToRender .= "\n"; } + + $sToRender .= $this->generateRequiredFieldValidation($aValidationColumnNames); + return $sToRender; } - function replaceValues($sQueryStringText, $sql) { - return $sQueryStringText; + function generateRequiredFieldValidation($aValidationColumnNames) { + $sToRender .= "\n\n\n\n"; + + return $sToRender; + } }