[rt-users] Link values to - use multiple CF values

Stuart Browne stuart.browne at ausregistry.com.au
Thu Sep 1 19:45:28 EDT 2011


> > On Thu, Sep 01, 2011 at 12:05:57PM +1000, Stuart Browne wrote:
> > > > I'd just do a custom display of that Custom Field and build the link
> > > > myself, rather than trying to extend the link to functionality.
> > > >
> > > > You'll probably find the ShowComponentName callback useful
> > >
> > > Thanks for the suggestion.
> > >
> > > This is what I ended up with.
> >
> > I actually meant that you should use that callback to change what
> > component is used for display.  You're passed $Name, assign to it by
> > reference (say ShowCustomFieldCustomLink) if you're in the right
> > custom field and then write your custom code into the
> > ShowCustomFieldCustomLink element in local/
> >
> > That callback isn't intended as a place to printf from
> 
> Ahh, righteo.  Will look at it again if I have some time ;)

Ok, now that you've said that, the code read makes more sense (not a programmer! So very much not a programmer!).

Ended up with:

--- /opt/rt3/local/html/Callbacks/MingleCardNumberLink/Elements/ShowCustomFields/ShowComponentName
<%INIT>
if ($CustomField->Name eq 'Mingle Card Number') {
        $$Name = 'DisplayMingleCardLink';
}
</%INIT>
<%ARGS>
$Name => undef
$CustomField => undef
$Object => undef
</%ARGS>

--- /opt/rt3/local/html/Elements
% my $output = $Object->Content;
%
% my $MingleCard    = $Object->Content;
% if (defined $MingleCard && $MingleCard) {
%       my $MingleProject = $Object->Object->FirstCustomFieldValue('Mingle Project');
%       if ($MingleProject eq '') {
%               $MingleProject = 'dnr';
%       }
%       $output = sprintf("<a target='_new' href='http://URL/projects/%s/cards/%s'>%s</a>", $MingleProject, $MingleCard, $MingleCard);
% }
<%$output|n%>
<%ARGS>
$Object => undef
</%ARGS>
---

The documentation is fairly vague on custom callbacks.  Thanks to http://www.runpcrun.com/node/272 for the clue as to where the custom callback should be located.

Stuart



More information about the rt-users mailing list