Adding the SQL Form and editForm error feedback.

This commit is contained in:
Martin Kamerbeek 2006-04-18 15:09:07 +00:00
parent 82b2ad934d
commit 179e4a89ef
15 changed files with 6293 additions and 4 deletions

View file

@ -105,7 +105,7 @@
- fix [ 1344665 ] Cache does not remember mimetype
- fix [ 1172613 ] Header Tag Not Accessibility Friendly
- fix [ 1340839 ] If can't use item in adminConsole don't display it
- Added SQL Form and error feedback for asset addition (Martin Kamerbeek/Procolix)
6.8.8
- fix [ 1452466 ] File size not set in File asset (Thanks to Eric S)

View file

@ -0,0 +1,33 @@
#SQLFormEditTmpl0000001
#create
#title:Default SQLForm Edit template
#menuTitle:Default SQLForm Edit template
#url:default_sqlform_edit_template
#namespace:SQLForm/Edit
<a name="id<tmpl_var assetId>"></a>
<tmpl_if session.var.adminOn>
<p><tmpl_var controls></p>
</tmpl_if>
<div class="SQLForm-contentBox">
<tmpl_if displayTitle>
<h1><tmpl_var title></h1>
</tmpl_if>
<tmpl_unless isNew>
<a href="<tmpl_var viewHistory.url>"><tmpl_var viewHistory.label></a><br /><br />
</tmpl_unless>
<tmpl_if errorOccurred>
<h1>Some errors occurred</h1>
<ul>
<tmpl_loop errorLoop>
<li><tmpl_var error.message></li>
</tmpl_loop>
</ul>
</tmpl_if>
<tmpl_var managementLinks>
<tmpl_var completeForm>
</div>

View file

@ -0,0 +1,85 @@
#SQLFormSearchTmpl00001
#create
#title:Default SQLForm Search template
#menuTitle:Default SQLForm Search template
#url:default_sqlform_search_template
#namespace:SQLForm/Search
<a name="id<tmpl_var assetId>"></a>
<tmpl_if session.var.adminOn>
<p><tmpl_var controls></p>
</tmpl_if>
<div class="SQLForm-contentBox">
<tmpl_if displayTitle>
<h1><tmpl_var title></h1>
</tmpl_if>
<tmpl_var managementLinks>
<h2>Search records</h2>
<a href="<tmpl_var superSearch.url>"><tmpl_var superSearch.label></a><br>
<tmpl_if errorOccurred>
Some error(s) occurred:
<ul>
<tmpl_loop errorLoop>
<li><tmpl_var error.message></li>
</tmpl_loop>
</ul>
</tmpl_if>
<tmpl_var searchForm>
<tmpl_if showFieldsDefined>
<tmpl_var searchResults.header>
<tmpl_var searchResults.actionButtons>
<table border="0">
<tr>
<th></th>
<tmpl_if showMetaData>
<th>Last update</th>
<th>Last update by</th>
</tmpl_if>
<tmpl_loop headerLoop>
<th <tmpl_if
header.sort.onThis>color="red"</tmpl_if>>
<a href="<tmpl_var header.sort.url>">
<tmpl_var header.title>
<tmpl_if header.sort.onThis><tmpl_if header.sort.ascending>(asc)<tmpl_else>(desc)</tmpl_if></tmpl_if></a></th>
</tmpl_loop>
</tr>
<tmpl_loop searchResults.recordLoop>
<tr>
<td><tmpl_var record.controls></td>
<tmpl_if showMetaData>
<td><tmpl_var record.updateDate></td>
<td><tmpl_var record.updatedBy></td>
</tmpl_if>
<tmpl_loop record.valueLoop>
<td>
<tmpl_if record.value.isFile>
<tmpl_if record.value>
<a href="<tmpl_var record.value.downloadUrl>">
<tmpl_if record.value.isImage>
<img width="100" src="<tmpl_var record.value.downloadUrl>">
<tmpl_else>
Click here for file
</tmpl_if>
</a>
</tmpl_if>
<tmpl_else>
<tmpl_var record.value>
</tmpl_if>
</td>
</tmpl_loop>
</tr>
</tmpl_loop>
</table>
<tmpl_var searchResults.actionButtons>
<tmpl_var searchResults.footer>
<tmpl_else>
No fields are defined to be shown in the search results.
</tmpl_if>
</div>

View file

@ -17,6 +17,7 @@ use File::Path;
use WebGUI::Workflow;
use WebGUI::Workflow::Cron;
use WebGUI::Group;
use WebGUI::Utility;
use WebGUI::Storage;
my $toVersion = "6.99.0"; # make this match what version you're going to
@ -48,6 +49,7 @@ updateMatrix();
updateFolder();
addRichEditUpload();
updateArticle();
installSQLForm();
finish($session); # this line required
@ -927,6 +929,82 @@ EOT
$asset->addRevision({template=>$template});
}
sub installSQLForm {
print "\tInstalling SQLForm tables.\n" unless ($quiet);
# Skip table creation if the SQLForm is already installed.
return "" if WebGUI::Utility::isIn('SQLForm', $session->db->buildArray("show tables"));
# Create tables;
$session->db->write(<<ENDOFQUERY1
CREATE TABLE SQLForm (
assetId varchar(22) NOT NULL default '',
formId varchar(22) default NULL,
tableName varchar(255) default NULL,
viewTemplateId varchar(22) default NULL,
searchTemplateId varchar(22) default NULL,
editTemplateId varchar(22) default NULL,
submitGroupId varchar(22) default NULL,
alterGroupId varchar(22) default NULL,
databaseLinkId varchar(22) default '0',
maxFileSize bigint(20) default NULL,
sendMailTo varchar(255) default NULL,
showMetaData tinyint(1) default '1',
revisionDate bigint(20) NOT NULL default '0',
PRIMARY KEY (assetId,revisionDate)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ENDOFQUERY1
);
$session->db->write(<<ENDOFQUERY2
CREATE TABLE SQLForm_fieldDefinitions (
fieldId varchar(22) NOT NULL default '',
assetId varchar(22) NOT NULL default '',
property varchar(255) NOT NULL default '',
`value` text,
UNIQUE KEY fieldId (fieldId,property)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ENDOFQUERY2
);
$session->db->write(<<ENDOFQUERY3
CREATE TABLE SQLForm_fieldOrder (
assetId varchar(22) NOT NULL default '',
fieldId varchar(22) NOT NULL default '',
rank int(11) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ENDOFQUERY3
);
$session->db->write(<<ENDOFQUERY4
CREATE TABLE SQLForm_fieldTypes (
fieldTypeId varchar(22) NOT NULL default '',
dbFieldType varchar(22) NOT NULL default '',
formFieldType varchar(22) NOT NULL default '',
PRIMARY KEY (fieldTypeId)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ENDOFQUERY4
);
$session->db->write(<<ENDOFQUERY5
CREATE TABLE SQLForm_regexes (
regexId varchar(22) default NULL,
name varchar(255) NOT NULL default '',
regex varchar(255) NOT NULL default '',
UNIQUE KEY regex (regex)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ENDOFQUERY5
);
# Insert default regexes
$session->db->write("insert into SQLForm_regexes (regexId, name, regex) values ('defaultText', 'Text', '^[\\\\w\\\\d\\\\s]*\$')");
$session->db->write("insert into SQLForm_regexes (regexId, name, regex) values ('defaultUnsigned', 'Unsigned integer', '^\\\\d+\$')");
$session->db->write("insert into SQLForm_regexes (regexId, name, regex) values ('defaultSigned', 'Signed integer', '^-?\\\\d+\$')");
$session->db->write("insert into SQLForm_regexes (regexId, name, regex) values ('defaultFloat', 'Floating point number', '^-?\\\\d+(\\.\\\\d+)?\$')");
}
# ---- DO NOT EDIT BELOW THIS LINE ----
#-------------------------------------------------