diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 0bdc7d486..5003fe8ca 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -1,4 +1,6 @@ 6.7.0 + - Being in the admins group automatically results in a UI level capable of + seeing everything. - Fixed a potential problem where editing a page under rare very rare conditions could destroy the not found page. - Added the ability to override the UI Level of any field in the edit form of diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 9e580935c..fcc9778d9 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -361,7 +361,7 @@ sub getAssetAdderLinks { if ($@) { WebGUI::ErrorHandler::error("Couldn't get UI level of ".$class." because ".$@); } else { - next if ($uiLevel > $session{user}{uiLevel}); + next if ($uiLevel > $session{user}{uiLevel} || WebGUI::Grouping::isInGroup(3)); } my $canAdd = eval{$class->canAdd()}; if ($@) { diff --git a/lib/WebGUI/Form/Control.pm b/lib/WebGUI/Form/Control.pm index 9514d8f1d..82a2b4014 100644 --- a/lib/WebGUI/Form/Control.pm +++ b/lib/WebGUI/Form/Control.pm @@ -15,6 +15,7 @@ package WebGUI::Form::Control; =cut use strict; +use WebGUI::Grouping; use WebGUI::Session; =head1 NAME @@ -400,7 +401,14 @@ Renders the form field to HTML as a table row complete with labels, subtext, hov sub toHtmlWithWrapper { my $self = shift; - if ($self->{uiLevel} <= $session{user}{uiLevel} && $session{config}{$self->{uiLevelOverride}."_uiLevel"}{$self->{name}} <= $session{user}{uiLevel}) { + my $passUiLevelCheck = 0; + if ($session{config}{$self->{uiLevelOverride}."_uiLevel"}{$self->{name}}) { # use override if it exists + $passUiLevelCheck = ($session{config}{$self->{uiLevelOverride}."_uiLevel"}{$self->{name}} <= $session{user}{uiLevel}); + } else { # use programmed default + $passUiLevelCheck = ($self->{uiLevel} <= $session{user}{uiLevel}); + } + $passUiLevelCheck = WebGUI::Grouping::isInGroup(3) unless ($passUiLevelCheck); # override if in admins group + if ($passUiLevelCheck) { my $rowClass = $self->{rowClass}; $rowClass = qq| class="$rowClass" | if($self->{rowClass}); my $labelClass = $self->{labelClass};