From c29c81be23b12a7347c012bc025ce3d5d38d1472 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Thu, 3 Mar 2005 03:33:09 +0000 Subject: [PATCH] some bug fixes and the new group of groups hierarchy viewer in the group manager --- docs/changelog/6.x.x.txt | 9 +++-- lib/WebGUI/Asset/File.pm | 4 -- lib/WebGUI/Asset/Post.pm | 2 +- lib/WebGUI/Operation/Group.pm | 49 +++++++++++++++++-------- lib/WebGUI/Operation/ProfileSettings.pm | 24 ++++++------ 5 files changed, 54 insertions(+), 34 deletions(-) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 7f0cc6c6c..5f7b8a8d3 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -1,12 +1,15 @@ -6.3.1 +6.4.0 + - You can now see the groups of groups hierarchy in the group manager. + - Added an initial configuration wizard which prompts the site owner to + configure a custom admin username and password for better security. - Added some indicies to increase performance. - Added all sorts of caching to increase performance. - Fixed resetting votes on Poll would crash it. - Fixed not being able to set display title and other yes no questions to no. - Fixed a bug where URLs would become unreachable when using SSL. - - Added an initial configuration wizard which prompts the site owner to - configure a custom admin username and password for better security. - Fixed a password timeout bug caused by the change in the interval method. + - Removed the depricated fileSize property from the File asset. + - Fixed a user profile editing bug. 6.3.0 diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index 065ce2ee6..b21006bd1 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -71,10 +71,6 @@ sub definition { fieldType=>'hidden', defaultValue=>undef }, - fileSize=>{ - fieldType=>'hidden', - defaultValue=>undef - }, olderVersions=>{ fieldType=>'hidden', defaultValue=>undef diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index 5a35bad1d..6b4ab81f4 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -157,7 +157,7 @@ sub definition { #------------------------------------------------------------------- sub DESTROY { my $self = shift; - $self->{_thread}->DESTROY if (exists $self->{_thread}); + $self->{_thread}->DESTROY if (exists $self->{_thread} && ref $self->{_thread} =~ /Thread/); $self->SUPER::DESTROY; } diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm index 451e7498c..e3afcd907 100644 --- a/lib/WebGUI/Operation/Group.pm +++ b/lib/WebGUI/Operation/Group.pm @@ -135,6 +135,23 @@ sub getGroupSearchForm { } +#------------------------------------------------------------------- +sub walkGroups { + my $parentId = shift; + my $indent = shift; + my $output; + my $sth = WebGUI::SQL->read("select groups.groupId, groups.groupName from groupGroupings left join groups on groups.groupId=groupGroupings.groupId where groupGroupings.inGroup=".quote($parentId)); + while (my ($id, $name) = $sth->array) { + $output .= $indent + .deleteIcon('op=deleteGroupGrouping&gid='.$parentId.'&delete='.$id) + .editIcon('op=editGroup&gid='.$id) + .' '.$name.'
'; + $output .= walkGroups($id,$indent."    "); + } + $sth->finish; + return $output; +} + #------------------------------------------------------------------- sub www_addGroupsToGroupSave { return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); @@ -478,21 +495,23 @@ sub www_manageGroupsInGroup { ); $f->submit; $output .= $f->print; - $output .= '

'; - $output .= ''; - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=manageGroupsInGroup&gid='.$session{form}{gid})); - $p->setDataByQuery("select a.groupName as name,a.groupId as id from groups a - left join groupGroupings b on a.groupId=b.groupId - where b.inGroup=".quote($session{form}{gid})." order by a.groupName"); - $groups = $p->getPageData; - foreach $group (@$groups) { - $output .= ''; - } - $output .= '
'.WebGUI::International::get(84).'
' - .deleteIcon('op=deleteGroupGrouping&gid='.$session{form}{gid}.'&delete='.$group->{id}) - .'' - .$group->{name}.'
'; - $output .= $p->getBarTraditional; + $output .= '

'; + $output .= walkGroups($session{form}{gid}); +#'; +# $output .= ''; +# $p = WebGUI::Paginator->new(WebGUI::URL::page('op=manageGroupsInGroup&gid='.$session{form}{gid})); +# $p->setDataByQuery("select a.groupName as name,a.groupId as id from groups a +# left join groupGroupings b on a.groupId=b.groupId +# where b.inGroup=".quote($session{form}{gid})." order by a.groupName"); +# $groups = $p->getPageData; +# foreach $group (@$groups) { +# $output .= ''; +# } +# $output .= '
'.WebGUI::International::get(84).'
' +# .deleteIcon('op=deleteGroupGrouping&gid='.$session{form}{gid}.'&delete='.$group->{id}) +# .'' +# .$group->{name}.'
'; +# $output .= $p->getBarTraditional; return _submenu($output,'813'); } diff --git a/lib/WebGUI/Operation/ProfileSettings.pm b/lib/WebGUI/Operation/ProfileSettings.pm index faf847eef..5ce2a9aeb 100644 --- a/lib/WebGUI/Operation/ProfileSettings.pm +++ b/lib/WebGUI/Operation/ProfileSettings.pm @@ -172,7 +172,8 @@ sub www_editProfileField { $f->fieldType( -name=>"dataType", -label=>WebGUI::International::get(486), - -value=>[$data{dataType} || "text"] + -value=>$data{dataType}, + -defaultValue=>"text" ); $f->textarea("dataValues",WebGUI::International::get(487),$data{dataValues}); $f->textarea("dataDefault",WebGUI::International::get(488),$data{dataDefault}); @@ -218,16 +219,17 @@ sub www_editProfileFieldSave { WebGUI::SQL->write("insert into userProfileField (fieldName, sequenceNumber, protected) values (".quote($session{form}{fid}).", ".($sequenceNumber+1).", 0)"); } - WebGUI::SQL->write("update userProfileField set - fieldLabel=".quote($session{form}{fieldLabel}).", - visible=$session{form}{visible}, - required=$session{form}{required}, - editable=$session{form}{editable}, - dataType=".quote($session{form}{dataType}).", - dataValues=".quote($session{form}{dataValues}).", - dataDefault=".quote($session{form}{dataDefault}).", - profileCategoryId=".quote($session{form}{profileCategoryId})." - where fieldName=".quote($session{form}{fid})); + WebGUI::SQL->setRow("userProfileField","fieldName",{ + fieldLabel=>$session{form}{fieldLabel}, + visible=>$session{form}{visible}, + required=>$session{form}{required}, + editable=>$session{form}{editable}, + dataType=>$session{form}{dataType}, + dataValues=>$session{form}{dataValues}, + dataDefault=>$session{form}{dataDefault}, + profileCategoryId=>$session{form}{profileCategoryId}, + fieldName=>$session{form}{fid} + }); return www_editProfileSettings(); }