diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-07-26 15:41:26 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-07-26 15:41:26 -0700 |
commit | 9aee669886202be7035e6c6049fc71bc99dd3013 (patch) | |
tree | 2fd5bf6de74f3d99270587ffb1833e4188a6373d /rt/share/html/REST/1.0/Forms/group/default | |
parent | ac20214d38d9af00430423f147b5a0e50751b050 (diff) | |
parent | 1add633372bdca3cc7163c2ce48363fed3984437 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/share/html/REST/1.0/Forms/group/default')
-rw-r--r-- | rt/share/html/REST/1.0/Forms/group/default | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/rt/share/html/REST/1.0/Forms/group/default b/rt/share/html/REST/1.0/Forms/group/default index ffbd9dbf3..3a872d067 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-2015 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (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; |