diff --git a/lib/WebGUI/Asset/Shortcut.pm b/lib/WebGUI/Asset/Shortcut.pm index c5a9dba9d..df344a0f1 100644 --- a/lib/WebGUI/Asset/Shortcut.pm +++ b/lib/WebGUI/Asset/Shortcut.pm @@ -330,7 +330,33 @@ sub getEditForm { ); } $tabform->addTab('overrides','Overrides'); -# $tabform->getTab('overrides'); + my $output = 'Add Override

'; + my %overrides = $self->getOverrides; + $output .= ''; + $output .= ''; + my %props = %{$self->getShortcutOriginal->{_properties}}; + use Data::Dumper;WebGUI::ErrorHandler::warn('
'.Dumper(\%props).'
'); + foreach my $definition (@{$self->definition}) { + foreach my $prop (keys %{$definition->{properties}}) { + next if $definition->{properties}{$prop}{fieldType} eq 'hidden'; + $output .= ''; + $output .= ''; + $output .= ''; + } + } + $output .= '
fieldNameEdit/DeleteOriginal ValueNew ValueReplacement value
'.$prop.''; + $output .= editIcon('func=editOverride;fieldName='.$prop,$self->getUrl()); + $output .= deleteIcon('func=deleteOverride;fieldName='.$prop,$self->getUrl()) if exists $overrides{overrides}{$prop}; + $output .= ''; + $output .= $overrides{overrides}{$prop}{origValue}; + $output .= ''; + $output .= $overrides{overrides}{$prop}{newValue}; + $output .= ''; + $output .= $overrides{overrides}{$prop}{parsedValue}; + $output .= '
'; + + + $tabform->getTab('overrides')->raw($output); return $tabform; } @@ -411,7 +437,6 @@ sub getOverrides { foreach my $overr (keys %{$overrides{overrides}}) { $overrides{overrides}{$fieldName}{parsedValue} =~ s/\#\#userPref\:${fieldName}\#\#/$fieldValue/g; } - $overrides{overrides}{$fieldName}{parsedValue} = $fieldValue unless (exists $overrides{overrides}{$fieldName}); } $cache->set(\%overrides, 60*60); $overridesRef = \%overrides; @@ -435,6 +460,9 @@ sub getShortcut { foreach my $override (keys %overrides) { $self->{_shortcut}{_properties}{$override} = $overrides{$override}{parsedValue}; } + foreach my $userPref ($self->getUserPrefs) { + $self->{_shortcut}{_properties}{$userPref->getFieldName} = $userPref->getUserPref($userPref->getId) unless (exists $overrides{$userPref->getFieldName}); + } } return $self->{_shortcut}; } @@ -658,13 +686,40 @@ sub www_getUserPrefsForm { } #------------------------------------------------------------------- -sub www_manageFields { +sub www_manageUserPrefs { my $self = shift; return WebGUI::Privilege::insufficient() unless $self->canEdit; my $output = $self->getFieldsList; return $self->_submenu($output,$self->_isUserPref('titleHeader')); } +#------------------------------------------------------------------- +sub www_manageOverrides { + my $self = shift; + return WebGUI::Privilege::insufficient() unless $self->canEdit; + my $output = 'Add Override

'; + my %fielden = $self->getOverrides; +# unless (scalar (keys %fielden)) { + $output .= ''; + $output .= ''; + my %props = %{$self->getShortcutOriginal->{_properties}}; + use Data::Dumper;WebGUI::ErrorHandler::warn('
'.Dumper(\%props).'
'); + foreach my $prop (keys %{$self->getShortcutOriginal->{_properties}}) { + next if $prop->{fieldType} eq 'hidden'; + $output .= ''; + $output .= ''; + $output .= ''; + $output .= ''; + } + $output .= '
fieldNameEdit/Delete
Add$prop'; + $output .= editIcon('func=editOverride;fieldName='.$prop,$self->getUrl()); + $output .= deleteIcon('func=delete;fieldName='.$prop,$self->getUrl()); + $output .= '
'; +# } + return $self->_submenu($output,'Manage Overrides'); +} + + #------------------------------------------------------------------- sub www_saveUserPrefs { my $self = shift;