diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm index 4ef42cc08..8959062bb 100644 --- a/lib/WebGUI/Asset/Wobject/Collaboration.pm +++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm @@ -374,7 +374,12 @@ sub definition { ); my $richEditorOptions = $session->db->buildHashRef("select distinct(assetData.assetId), assetData.title from asset, assetData where asset.className='WebGUI::Asset::RichEdit' and asset.assetId=assetData.assetId order by assetData.title"); - + + #my $subManageButton = " "; + #if($self->get("subscriptionGroupId")) { + # $subManageButton = $session->icon->manage("op=editGroup;gid=".$self->get("subscriptionGroupId")); + #} + my %properties; tie %properties, 'Tie::IxHash'; %properties = ( @@ -519,11 +524,6 @@ sub definition { label=>$i18n->get('archive after'), hoverHelp=>$i18n->get('archive after description'), }, - subscriptionGroupId =>{ - noFormPost=>1, - fieldType=>"hidden", - defaultValue=>undef - }, lastPostDate =>{ noFormPost=>1, fieldType=>"hidden", @@ -720,7 +720,15 @@ sub definition { visible=>$useKarma, label=>$i18n->get("default karma scale"), hoverHelp=>$i18n->get('default karma scale help'), - } + }, + + subscriptionGroupId =>{ + fieldType=>"subscriptionGroup", + tab=>'security', + label=>$i18n->get("subscription group label"), + hoverHelp=>$i18n->get("subscription group hoverHelp"), + defaultValue=>undef, + }, ); push(@{$definition}, { diff --git a/lib/WebGUI/Form/SubscriptionGroup.pm b/lib/WebGUI/Form/SubscriptionGroup.pm new file mode 100644 index 000000000..9443383d7 --- /dev/null +++ b/lib/WebGUI/Form/SubscriptionGroup.pm @@ -0,0 +1,101 @@ +package WebGUI::Form::SubscriptionGroup; + +=head1 LEGAL + + ------------------------------------------------------------------- + WebGUI is Copyright 2001-2007 Plain Black Corporation. + ------------------------------------------------------------------- + Please read the legal notices (docs/legal.txt) and the license + (docs/license.txt) that came with this distribution before using + this software. + ------------------------------------------------------------------- + http://www.plainblack.com info@plainblack.com + ------------------------------------------------------------------- + +=cut + +use strict; +use base 'WebGUI::Form::Hidden'; +use WebGUI::International; + +=head1 NAME + +Package WebGUI::Form::SubscriptionGroup + +=head1 DESCRIPTION + +Creates a hidden subscription group field. Returns the field and a button to manage the group specified by value + +=head1 SEE ALSO + +This is a subclass of WebGUI::Form::Hidden. + +=head1 METHODS + +The following methods are specifically available from this class. Check the superclass for additional methods. + +=cut + +#------------------------------------------------------------------- + +=head2 definition ( [ additionalTerms ] ) + +See the super class for additional details. + +=head3 additionalTerms + +The following additional parameters have been added via this sub class. + +=head4 profileEnabled + +Flag that tells the User Profile system that this is a valid form element in a User Profile + +=cut + +sub definition { + my $class = shift; + my $session = shift; + my $definition = shift || []; + my $i18n = WebGUI::International->new($session); + push(@{$definition}, { + formName=>{ + defaultValue=>$i18n->get("hidden") + }, + profileEnabled=>{ + defaultValue=>0 + }, + }); + return $class->SUPER::definition($session, $definition); +} + +#------------------------------------------------------------------- + +=head2 toHtmlWithWrapper ( ) + +Renders the form field to HTML as a table row. The row is not displayed because there is nothing to display, but it may not be left away because may not be a child of according to the XHTML standard. + +=cut + +sub toHtmlWithWrapper { + my $self = shift; + my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters($self->get("value")))) || ''; + + my $manageButton = " "; + if($value) { + $manageButton = $self->session->icon->manage("op=editGroup;gid=".$value); + } + + if ($self->passUiLevelCheck) { + my ($fieldClass, $rowClass, $labelClass, $hoverHelp, $subtext) = $self->prepareWrapper; + return ' + + + \n"; + } else { + return $self->toHtmlAsHidden; + } +} + + +1; + diff --git a/lib/WebGUI/i18n/English/Asset_Collaboration.pm b/lib/WebGUI/i18n/English/Asset_Collaboration.pm index 5ea3bb52c..e4b552ae0 100644 --- a/lib/WebGUI/i18n/English/Asset_Collaboration.pm +++ b/lib/WebGUI/i18n/English/Asset_Collaboration.pm @@ -1651,6 +1651,15 @@ the Collaboration Asset, the user will be notified.|, message => q|The assetId of this Collaboration System. Unlike the variable assetId, this one will not be overridden by the assetIds inside of Threads or Posts.|, lastUpdated => 1170543345, }, + + 'subscription group label' => { + message => q|Subscription Group|, + lastUpdated => 1170543345, + }, + + 'subscription group hoverHelp' => { + message => q|Manage the users in the subscription group for this Collaboration System|, + }, };
'.$manageButton.$self->toHtmlAsHidden."