Form inheritance work for lists, removal of $session{os}{slash}

This commit is contained in:
Colin Kuskie 2005-12-01 20:46:55 +00:00
parent abe85d439e
commit 99df1f414e
90 changed files with 1364 additions and 1168 deletions

View file

@ -21,6 +21,9 @@
- Added more error trapping in caching system.
- Fixed some layout and control bugs in the color picker form element.
- Added a simple Style Wizard.
- Removed $session{os}{slash} since it is no longer needed.
- Reworked the form system to use inheritance and added a new master form
class for lists called List. See migration.txt for details
- Updated preload.perl to automatically preload all WebGUI related modules,
which increased shared memory usage by 30%.
- Added StockData asset.
@ -34,6 +37,10 @@
"dashboard". You can create more than one dashboard per site.
Assets that come with templates for the Dashboard:
StockData, WeatherData, SearchBox, SyndicatedContent
- [ 1361669 ] editUserProfileField causes huge memory consumption, loop
- [ 1354464 ] Dynamic Field does not work correctly
- [ 1354467 ] WebGUI::Form::Group is implemented incorrectly
6.7.8
- fix [ 1364895 ] Error in ITransact Commerce Module

View file

@ -281,7 +281,7 @@ dates then you will notice no side effects from the format change. If you are
not, then you should convert your plugin to use WebGUI::FormProcessor.
In addition to the format change above, we also made one related API change.
WebGUI::Form::dateTime() and WebGUI::HTMLForm->dateTime() no longer have
WebGUI::Form::DateTime() and WebGUI::HTMLForm->dateTime() no longer have
"dateExtras" and "timeExtras", but rather just "extras" properties. This is
because there is only one field to represent both the date and the time,
unlike before.
@ -348,6 +348,9 @@ http://www.plainblack.com/translations/translations
5.8 WebGUI::Session Changes
In 6.8 we removed $session{os}{slash}. This is due to requiring Windows 2000
or higher.
In 6.1 we changed the session API to remove functions that didn't really
belong in WebGUI::Session. The main changes of interest are that you no longer
do HTTP redirects and set cookies via session. Take a look at WebGUI::HTTP for
@ -389,6 +392,38 @@ to convert your content, if necessary.
5.13 Form Changes
The following form changes were made in 6.8:
All forms types now use inheritance to build List type forms. This is
what the class hierarchy looks like:
List
CheckList
RadioList
HiddenList
SelectList
Group
LdapLink
SelectBox
ComboBox
ContentType
DatabaseLink
FilterContent
Template
TimeZone
WhatNext
The new SelectBox class behaves exactly like a SelectList but only supports single
select instead of multiple select and defaults to being 1 character high. By
default, all SelectLists are not 5 characters high. The size setting can
be used to override the defaults in all List type forms.
All List type forms now also have a sortByValue property which defaults
to 0 (off). This made automatic testing of the Forms easy.
getName is now in the Form::Control base class. It retreives whatever
is stored in the formName field of the definition field structure.
The following form changes were made in 6.3:
The interval subroutine in WebGUI::Form and WebGUI::HTMLForm had an API

View file

@ -40,6 +40,7 @@ addInOutBoard();
addDashboardStuff();
addZipArchive();
updateUserProfileDayLabels();
changeSelectListToSelectBox();
fixVeryLateDates();
finish();
@ -1655,6 +1656,20 @@ sub updateUserProfileDayLabels {
WebGUI::SQL->write(q!update userProfileField set dataValues='{0=>WebGUI::International::get(\"sunday\",\"DateTime\"),1=>WebGUI::International::get(\"monday\",\"DateTime\")}' where fieldName='firstDayOfWeek'!);
}
#-------------------------------------------------
sub changeSelectListToSelectBox {
print "\tChanging all selectLists to selectBox's in userProfileField.\n" unless ($quiet);
WebGUI::SQL->write(q!update userProfileField set dataType='selectBox' where dataType='selectList'!);
my $sql = q!select fieldName,dataDefault from userProfileField where dataType IN ('selectBox','timeZone')!;
my $sth = WebGUI::SQL->read($sql);
while (my $hash = $sth->hashRef) {
$hash->{dataDefault} =~ tr/][//d;
WebGUI::SQL->write(sprintf q!update userProfileField set dataDefault=%s where fieldName=%s!, quote($hash->{dataDefault}), quote($hash->{fieldName}) );
}
}
();
#--- DO NOT EDIT BELOW THIS LINE
#-------------------------------------------------