X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FREST%2F1.0%2FForms%2Fgroup%2Fdefault;h=f343e283070790104e88d3ca9db9216b5f72b55f;hb=de9d037528895f7151a9aead6724ce2df95f9586;hp=ffbd9dbf3d63433253e4711f5c160be78c129f84;hpb=45d35d5739d05e602bc317739485693e0e9ff0b5;p=freeside.git diff --git a/rt/share/html/REST/1.0/Forms/group/default b/rt/share/html/REST/1.0/Forms/group/default index ffbd9dbf3..f343e2830 100644 --- a/rt/share/html/REST/1.0/Forms/group/default +++ b/rt/share/html/REST/1.0/Forms/group/default @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -58,7 +58,12 @@ my @comments; my ($c, $o, $k, $e) = ("", [], {}, 0); my %data = %$changes; my $group = RT::Group->new($session{CurrentUser}); -my @fields = qw(Name Description); + +my @fields = qw(Name Description Disabled); +if ( $fields && %$fields ) { + @fields = grep { exists $fields->{ lc $_ } } @fields; +} + my %fields = map { lc $_ => $_ } @fields; if ($id ne 'new') { @@ -109,31 +114,33 @@ if (%data == 0) { my @data; push @data, [ id => "group/".$group->Id ]; - push @data, [ Name => $group->Name ]; - push @data, [ Description => $group->Description ]; - + foreach my $key (@fields) { + push @data, [ $key => $group->$key ]; + } # Members - my $gms = []; - my $GroupMembers = $group->MembersObj(); - while ( my $mo = $GroupMembers->Next() ) { - if ( $mo->MemberObj->IsGroup ) { - my $us = $mo->MemberObj->Object->UserMembersObj(); - my @users; - while ( my $u = $us->Next() ) { - push @users, $u->RealName . ' <' . $u->EmailAddress . '>'; + unless ( $fields && !exists $fields->{members} ) { + my $gms = []; + my $GroupMembers = $group->MembersObj(); + while ( my $mo = $GroupMembers->Next() ) { + if ( $mo->MemberObj->IsGroup ) { + my $us = $mo->MemberObj->Object->UserMembersObj(); + my @users; + while ( my $u = $us->Next() ) { + push @users, $u->RealName . ' <' . $u->EmailAddress . '>'; + } + push @$gms, + 'GROUP [' + . $mo->MemberObj->Object->Name . ']' . ' (' + . join( ';', @users ) . ')'; + } elsif ( $mo->MemberObj->IsUser ) { + push @$gms, + $mo->MemberObj->Object->RealName . ' <' + . $mo->MemberObj->Object->EmailAddress . '>'; } - push @$gms, - 'GROUP [' - . $mo->MemberObj->Object->Name . ']' . ' (' - . join( ';', @users ) . ')'; - } elsif ( $mo->MemberObj->IsUser ) { - push @$gms, - $mo->MemberObj->Object->RealName . ' <' - . $mo->MemberObj->Object->EmailAddress . '>'; } + push @data, [ Members => $gms ]; } - push @data, [ Members => $gms ]; # Custom fields my $CustomFields = $group->CustomFields;