diff --git a/lib/WebGUI/Asset/Field.pm b/lib/WebGUI/Asset/Field.pm
index f4503acc6..dd726d481 100644
--- a/lib/WebGUI/Asset/Field.pm
+++ b/lib/WebGUI/Asset/Field.pm
@@ -70,7 +70,7 @@ sub definition {
fieldName=>{fieldType=>'text',defaultValue=>'',label=>$fieldName},
fieldLabel=>{fieldType=>'text',defaultValue=>'',label=>'Label for This Field.'},
fieldDescription=>{fieldType=>'HTMLArea',defaultValue=>'',label=>'Hover Help (Description) for this Field.'},
- fieldType=>{fieldType=>'fieldType',defaultValue=>'',label=>'Type of Field'},
+ fieldType=>{fieldType=>'fieldType',defaultValue=>'',label=>'Type of Field',types=>['text','textarea','checkList','selectList']},
# overrideForm=>{fieldType=>'yesNo',defaultValue=>0},
# overrideValue=>{fieldType=>'yesNo',defaultValue=>0},
possibleValues=>{fieldType=>'textarea',defaultValue=>'',label=>'Possible values for this Field. Only applies to selectList and checkList.'},
diff --git a/lib/WebGUI/Asset/Shortcut.pm b/lib/WebGUI/Asset/Shortcut.pm
index febd34ac2..c40d7dbff 100644
--- a/lib/WebGUI/Asset/Shortcut.pm
+++ b/lib/WebGUI/Asset/Shortcut.pm
@@ -351,13 +351,9 @@ sub getExtraHeadTags {
#-------------------------------------------------------------------
sub getFieldsList {
my $self = shift;
- my $output = 'Add '.$self->_isUserPref('name').'
';
+ my $output = 'Add Preference Field
';
my @fielden;
- if ($self->_isUserPref) {
- @fielden = $self->getUserPrefs;
- } else {
- @fielden = $self->getOverrides;
- }
+ @fielden = $self->getUserPrefs;
return $output unless scalar @fielden > 0;
$output .= '
';
$output .= '';
@@ -673,13 +669,7 @@ sub www_getUserPrefsForm {
foreach my $field (@fielden) {
my $fieldType = $field->get("fieldType") || "text";
my $options;
- # Add a "Select..." option on top of a select list to prevent from
- # saving the value on top of the list when no choice is made.
- if($fieldType eq "selectList") {
- $options = {"", WebGUI::International::get("Select","Asset")};
- }
- $f->dynamicField(
- name=>$field->getId,
+ my $params = {name=>$field->getId,
label=>$field->get("fieldName"),
uiLevel=>5,
value=>$field->getUserPref($field->getId),
@@ -687,7 +677,12 @@ sub www_getUserPrefsForm {
possibleValues=>$field->get("possibleValues"),
options=>$options,
fieldType=>$fieldType
- );
+ };
+ if ($fieldType eq 'Textarea') {
+ $params->{rows} = 4;
+ $params->{columns} = 20;
+ }
+ $f->dynamicField(%$params);
}
$f->submit;
return $f->print;
@@ -698,7 +693,7 @@ sub www_manageUserPrefs {
my $self = shift;
return WebGUI::Privilege::insufficient() unless $self->canEdit;
my $output = $self->getFieldsList;
- return $self->_submenu($output,$self->_isUserPref('titleHeader'));
+ return $self->_submenu($output,"Manage Preferences");
}
#-------------------------------------------------------------------
diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm
index 86a9faf08..ffcd10390 100644
--- a/lib/WebGUI/Asset/Wobject/Collaboration.pm
+++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm
@@ -401,6 +401,7 @@ sub definition {
},
collaborationTemplateId =>{
fieldType=>"template",
+ namespace=>'Collaboration',
defaultValue=>'PBtmpl0000000000000026'
},
karmaPerPost =>{
diff --git a/lib/WebGUI/Asset/Wobject/Dashboard.pm b/lib/WebGUI/Asset/Wobject/Dashboard.pm
index 019a39f97..d5b0490c0 100644
--- a/lib/WebGUI/Asset/Wobject/Dashboard.pm
+++ b/lib/WebGUI/Asset/Wobject/Dashboard.pm
@@ -157,6 +157,13 @@ sub view {
my @hidden = split("\n",$self->get("assetsToHide"));
foreach my $child (@{$children}) {
push(@hidden,$child->get('shortcutToAssetId')) if ref $child eq 'WebGUI::Asset::Shortcut';
+ #the following loop will initially place just-shortcutted assets.
+ for (my $i = 0; $i < scalar(@positions); $i++) {
+ next unless isIn($child->get('shortcutToAssetId'),@hidden);
+ my $newChildId = $child->getId;
+ my $oldChildId = $child->get('shortcutToAssetId');
+ $positions[$i] =~ s/${oldChildId}/${newChildId}/g;
+ }
}
my $i = 1;
my $templateAsset = WebGUI::Asset->newByDynamicClass($templateId) || WebGUI::Asset->getImportNode;
diff --git a/lib/WebGUI/AssetClipboard.pm b/lib/WebGUI/AssetClipboard.pm
index f5385f75f..63d4d21ef 100644
--- a/lib/WebGUI/AssetClipboard.pm
+++ b/lib/WebGUI/AssetClipboard.pm
@@ -211,7 +211,9 @@ sub www_copyList {
sub www_createShortcut () {
my $self = shift;
- my $child = $self->addChild({
+ my $isOnDashboard = ref $self->getParent == 'WebGUI::Asset::Wobject::Dashboard';
+ my $target = $isOnDashboard ? $self->getParent : $self;
+ my $child = $target->addChild({
className=>'WebGUI::Asset::Shortcut',
shortcutToAssetId=>$self->getId,
title=>$self->getTitle,
@@ -225,10 +227,14 @@ sub www_createShortcut () {
groupIdView=>$self->get("groupIdView"),
url=>$self->get("title"),
templateId=>'PBtmpl0000000000000140'
- });
- $child->cut;
- return $self->getContainer->www_manageAssets if ($session{form}{proceed} eq "manageAssets");
- return $self->getContainer->www_view;
+ });
+ if ($isOnDashboard) {
+ return $target->www_view;
+ } else {
+ $child->cut;
+ return $self->getContainer->www_manageAssets if ($session{form}{proceed} eq "manageAssets");
+ return $self->getContainer->www_view;
+ }
}
#-------------------------------------------------------------------
diff --git a/lib/WebGUI/Form/FieldType.pm b/lib/WebGUI/Form/FieldType.pm
index 0e4b622a4..47ab9b470 100644
--- a/lib/WebGUI/Form/FieldType.pm
+++ b/lib/WebGUI/Form/FieldType.pm
@@ -119,7 +119,7 @@ sub getValueFromPost {
=head2 toHtml ( )
-Renders a question selector asking the user where they want to go.
+Renders a fieldType selector.
=cut